From d38ef4d23396f270af67a0a7e964a214987f28ab Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Mon, 23 Dec 2024 19:38:54 +1100 Subject: [PATCH] Update overriding defaults since overriding modules design was redone --- doc/overriding-defaults.md | 53 ++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 22 deletions(-) diff --git a/doc/overriding-defaults.md b/doc/overriding-defaults.md index 1df4f4b50..30bd67f6e 100644 --- a/doc/overriding-defaults.md +++ b/doc/overriding-defaults.md @@ -10,7 +10,7 @@ For simplicity, related system specific code is grouped together as a Module (e. #### Note: By default, ClassiCube automatically selects the recommended backends for the system.
It is recommended that you do *NOT* change the backends unless you know exactly what you are doing. -However, on some systems there are potentially multiple backends for a Module. For example on Windows: +Some systems may provide multiple potential backends for a Module. For example on Windows: * OpenGL could be used instead of Direct3D 9 for the 3D rendering backend * SDL could be used instead of the native WinAPI for the window backend @@ -19,45 +19,54 @@ TODO finish this TODO introduction (explaining platform specific modules, and how classicube has to integrate with one of them) There are two ways of changing the backend that gets used for the system: -1) Changing the defines in `Core.h` -2) Adding `-DCC_BUILD_MANUAL` to compilation flags and then manually defining module backends via additional compilation flags +1) Changing the default defines in `Core.h` +2) Using additional compilation flags to override default module backend(s) +3) Adding `-DCC_BUILD_MANUAL` to compilation flags and then manually defining all module backends via additional compilation flags When manually compiling the source code, 1) is usually the easiest.
For automated scripts compiling every single commit, 2) is the recommended approach TODO: Move this into table -### 3D Graphics backends -* CC_BUILD_D3D9 - Direct3D 9 -* CC_BUILD_D3D11 - Direct3D 11 -* CC_BUILD_GL - OpenGL +### 3D Graphics backends (`CC_GFX_BACKEND`) +* CC_GFX_BACKEND_SOFTGPU - Software rasteriser +* CC_GFX_BACKEND_D3D9 - Direct3D 9 +* CC_GFX_BACKEND_D3D11 - Direct3D 11 +* CC_GFX_BACKEND_GL1 - OpenGL 1.2/1.5 +* CC_GFX_BACKEND_GL2 - OpenGL 2 (shaders) The OpenGL backend can be further customised: -* CC_BUILD_GL11 - (must also have CC_BUILD_GL defined) -* CC_BUILD_GLMODERN - (must also have CC_BUILD_GL defined) -* CC_BUILD_GLES (must also have CC_BUILD_GL defined) +* CC_BUILD_GL11 (must be using CC_GFX_BACKEND_GL1) +* CC_BUILD_GLES (must be using CC_GFX_BACKEND_GL2) ### OpenGL context backends * CC_BUILD_EGL * CC_BUILD_WGL -### HTTP backends -* CC_BUILD_CURL -* CC_BUILD_HTTPCLIENT - custom HTTP client -* CC_BUILD_WININET +### HTTP backends (`CC_NET_BACKEND`) +* CC_NET_BACKEND_BUILTIN - custom HTTP client +* CC_NET_BACKEND_LIBCURL * CC_BUILD_CFNETWORK -### SSL backends -* CC_BUILD_SCHANNEL -* CC_BUILD_BEARSSL +### SSL backends (`CC_SSL_BACKEND`) +* CC_SSL_BACKEND_NONE +* CC_SSL_BACKEND_BEARSSL +* CC_SSL_BACKEND_SCHANNEL -### Window backends -* CC_BUILD_SDL -* CC_BUILD_X11 -* CC_BUILD_WINGUI +### Window backends (`CC_WIN_BACKEND`) +* CC_WIN_BACKEND_TERMINAL +* CC_WIN_BACKEND_SDL2 +* CC_WIN_BACKEND_SDL3 +* CC_WIN_BACKEND_X11 +* CC_WIN_BACKEND_WIN32 + +### Audio backends (`CC_AUD_BACKEND`) +* CC_AUD_BACKEND_OPENAL +* CC_AUD_BACKEND_WINMM +* CC_AUD_BACKEND_OPENSLES ### Platform backends * CC_BUILD_POSIX * CC_BUILD_WIN -TODO fill in rest \ No newline at end of file +TODO fill in rest