Slightly reduce memory on PS1/N64 consoles, avoid creating plugins folder on any console

Also slightly tidy up some defines
This commit is contained in:
UnknownShadow200 2024-04-02 21:55:57 +11:00
parent 290252767f
commit d056f8c2ff
4 changed files with 80 additions and 73 deletions

View File

@ -121,33 +121,31 @@ typedef cc_uint8 cc_bool;
#define CC_BUILD_NETWORKING
#define CC_BUILD_FREETYPE
#define CC_BUILD_RESOURCES
#define CC_BUILD_PLUGINS
/*#define CC_BUILD_GL11*/
#ifndef CC_BUILD_MANUAL
#if defined NXDK
/* XBox also defines _WIN32 */
#define CC_BUILD_XBOX
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_NOMUSIC
#define CC_BUILD_NOSOUNDS
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#elif defined XENON
/* libxenon also defines __linux__ (yes, really) */
#define CC_BUILD_XBOX360
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_NOMUSIC
#define CC_BUILD_NOSOUNDS
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#elif defined _WIN32
#define CC_BUILD_WIN
#define CC_BUILD_D3D9
#define CC_BUILD_WINGUI
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_SCHANNEL
#define CC_BUILD_WINMM
#elif defined __ANDROID__
@ -267,122 +265,113 @@ typedef cc_uint8 cc_bool;
#define CC_BUILD_COOPTHREADED
#undef CC_BUILD_FREETYPE
#undef CC_BUILD_RESOURCES
#undef CC_BUILD_PLUGINS
#elif defined __psp__
#define CC_BUILD_PSP
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_BEARSSL
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#elif defined __3DS__
#define CC_BUILD_3DS
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#define CC_BUILD_TOUCH
#define CC_BUILD_DUALSCREEN
#undef CC_BUILD_FREETYPE
#elif defined GEKKO
#define CC_BUILD_GCWII
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#elif defined __vita__
#define CC_BUILD_PSVITA
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#define CC_BUILD_TOUCH
#undef CC_BUILD_FREETYPE
#elif defined _arch_dreamcast
#define CC_BUILD_DREAMCAST
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#undef CC_BUILD_RESOURCES
#elif defined PLAT_PS3
#define CC_BUILD_PS3
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#define CC_BUILD_BEARSSL
#undef CC_BUILD_FREETYPE
#elif defined N64
#define CC_BIG_ENDIAN
#define CC_BUILD_N64
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_OPENAL
#undef CC_BUILD_RESOURCES
#undef CC_BUILD_NETWORKING
#elif defined PLAT_PS2
#define CC_BUILD_PS2
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#elif defined PLAT_NDS
#define CC_BUILD_NDS
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_NOMUSIC
#define CC_BUILD_NOSOUNDS
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#define CC_BUILD_TOUCH
#undef CC_BUILD_FREETYPE
#undef CC_BUILD_RESOURCES
#elif defined __WIIU__
#define CC_BUILD_WIIU
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_OPENAL
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#define CC_BUILD_BEARSSL
#undef CC_BUILD_FREETYPE
#elif defined __SWITCH__
#define CC_BUILD_SWITCH
#define CC_BUILD_CONSOLE
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_BEARSSL
#define CC_BUILD_CONSOLE
#define CC_BUILD_TOUCH
#define CC_BUILD_GL
#define CC_BUILD_GLMODERN
#define CC_BUILD_GLES
#define CC_BUILD_EGL
#undef CC_BUILD_FREETYPE
#elif defined PLAT_PS1
#define CC_BUILD_PS1
#define CC_BUILD_HTTPCLIENT
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_LOWMEM
#define CC_BUILD_CONSOLE
#define CC_BUILD_LOWMEM
#define CC_BUILD_COOPTHREADED
#define CC_BUILD_NOMUSIC
#define CC_BUILD_NOSOUNDS
#undef CC_BUILD_FREETYPE
#undef CC_BUILD_RESOURCES
#undef CC_BUILD_NETWORKING
#endif
#endif
#ifdef CC_BUILD_CONSOLE
#undef CC_BUILD_FREETYPE
#undef CC_BUILD_PLUGINS
#endif
#ifndef CC_BUILD_LOWMEM
#define EXTENDED_BLOCKS

View File

@ -347,9 +347,7 @@ static void LoadOptions(void) {
Game_Anaglyph3D = Options_GetBool(OPT_ANAGLYPH3D, false);
}
#ifdef CC_BUILD_MINFILES
static void LoadPlugins(void) { }
#else
#ifdef CC_BUILD_PLUGINS
static void LoadPlugin(const cc_string* path, void* obj) {
void* lib;
void* verSym; /* EXPORT int Plugin_ApiVersion = GAME_API_VER; */
@ -390,6 +388,8 @@ static void LoadPlugins(void) {
res = Directory_Enum(&dir, NULL, LoadPlugin);
if (res) Logger_SysWarn(res, "enumerating plugins directory");
}
#else
static void LoadPlugins(void) { }
#endif
static void Game_Free(void* obj);

View File

@ -1155,6 +1155,24 @@ static cc_result HttpBackend_Do(struct HttpRequest* req, cc_string* url) {
CFRelease(request);
return result;
}
#elif !defined CC_BUILD_NETWORKING
/*########################################################################################################################*
*------------------------------------------------------Null backend-------------------------------------------------------*
*#########################################################################################################################*/
#include "Errors.h"
static cc_bool HttpBackend_DescribeError(cc_result res, cc_string* dst) {
return false;
}
static void HttpBackend_Init(void) { }
static void Http_AddHeader(struct HttpRequest* req, const char* key, const cc_string* value) { }
static cc_result HttpBackend_Do(struct HttpRequest* req, cc_string* url) {
req->progress = 100;
return ERR_NOT_SUPPORTED;
}
#endif

View File

@ -32,11 +32,11 @@ static HANDLE curProcess = CUR_PROCESS_HANDLE;
#include <signal.h>
#include <sys/ucontext.h>
#endif
#ifdef CC_BUILD_DARWIN
/* Need this to detect macOS < 10.4, and switch to NS* api instead if so */
#include <AvailabilityMacros.h>
#endif
/* Only show up to 50 frames in backtrace */
#define MAX_BACKTRACE_FRAMES 50