Update overriding defaults since overriding modules design was redone

This commit is contained in:
UnknownShadow200 2024-12-23 19:38:54 +11:00 committed by GitHub
parent 13cbc3884d
commit d38ef4d233
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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. <br> It is recommended that you do *NOT* change the backends unless you know exactly what you are doing. #### Note: By default, ClassiCube automatically selects the recommended backends for the system. <br> 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 * 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 * SDL could be used instead of the native WinAPI for the window backend
@ -19,42 +19,51 @@ TODO finish this
TODO introduction (explaining platform specific modules, and how classicube has to integrate with one of them) 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: There are two ways of changing the backend that gets used for the system:
1) Changing the defines in `Core.h` 1) Changing the default defines in `Core.h`
2) Adding `-DCC_BUILD_MANUAL` to compilation flags and then manually defining module backends via additional compilation flags 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. <br> When manually compiling the source code, 1) is usually the easiest. <br>
For automated scripts compiling every single commit, 2) is the recommended approach For automated scripts compiling every single commit, 2) is the recommended approach
TODO: Move this into table TODO: Move this into table
### 3D Graphics backends ### 3D Graphics backends (`CC_GFX_BACKEND`)
* CC_BUILD_D3D9 - Direct3D 9 * CC_GFX_BACKEND_SOFTGPU - Software rasteriser
* CC_BUILD_D3D11 - Direct3D 11 * CC_GFX_BACKEND_D3D9 - Direct3D 9
* CC_BUILD_GL - OpenGL * 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: The OpenGL backend can be further customised:
* CC_BUILD_GL11 - (must also have CC_BUILD_GL defined) * CC_BUILD_GL11 (must be using CC_GFX_BACKEND_GL1)
* CC_BUILD_GLMODERN - (must also have CC_BUILD_GL defined) * CC_BUILD_GLES (must be using CC_GFX_BACKEND_GL2)
* CC_BUILD_GLES (must also have CC_BUILD_GL defined)
### OpenGL context backends ### OpenGL context backends
* CC_BUILD_EGL * CC_BUILD_EGL
* CC_BUILD_WGL * CC_BUILD_WGL
### HTTP backends ### HTTP backends (`CC_NET_BACKEND`)
* CC_BUILD_CURL * CC_NET_BACKEND_BUILTIN - custom HTTP client
* CC_BUILD_HTTPCLIENT - custom HTTP client * CC_NET_BACKEND_LIBCURL
* CC_BUILD_WININET
* CC_BUILD_CFNETWORK * CC_BUILD_CFNETWORK
### SSL backends ### SSL backends (`CC_SSL_BACKEND`)
* CC_BUILD_SCHANNEL * CC_SSL_BACKEND_NONE
* CC_BUILD_BEARSSL * CC_SSL_BACKEND_BEARSSL
* CC_SSL_BACKEND_SCHANNEL
### Window backends ### Window backends (`CC_WIN_BACKEND`)
* CC_BUILD_SDL * CC_WIN_BACKEND_TERMINAL
* CC_BUILD_X11 * CC_WIN_BACKEND_SDL2
* CC_BUILD_WINGUI * 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 ### Platform backends
* CC_BUILD_POSIX * CC_BUILD_POSIX