1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-01 18:43:33 +02:00
VVVVVV/desktop_version/src
Misa 4bf5e5e6a0 Optimize recompilation from changing commit hash
This reworks how the commit hash and date are compiled so that if
they're changed (and they're changed often), only one source file needs
to be recompiled in order to update it everywhere in the game, no matter
how many source files use the hash or date.

The commit hash and date are now declared in InterimVersion.h (and they
need `extern "C"` guards because otherwise it results in a link fail on
MSVC because MSVC is stupid).

To do this, what now happens is that upon every rebuild,
InterimVersion.in.c is processed to create InterimVersion.out.c, then
InterimVersion.out.c is compiled into its own static library that is
then linked with VVVVVV.

(Why didn't I just simply add it to the list of VVVVVV source files?
Well, doing it _now_ does nothing because at that point the horse is
already out of the barn, and the VVVVVV executable has already been
declared, so I can't modify its sources. And I can't do it before
either, because we depend on the VVVVVV executable existing to do the
interim version logic. I could probably work around this by cleverly
moving around lines, but that'd separate related logic from each other.)

And yes, the naming convention has changed. Not only did I rename
Version to InterimVersion (to clearly differentiate it from
ReleaseVersion, which I'll be adding later), I also named the files
InterimVersion.in.c and InterimVersion.out.c instead of
InterimVersion.c.in and InterimVersion.c.out. I needed to put the file
extension on the end because otherwise CMake wouldn't recognize what
kind of language it is, and I mean like yeah duh of course it doesn't,
my text editor doesn't recognize it either.
2022-08-23 00:00:38 -07:00
..
BinaryBlob.cpp Fix regression with VVV_COMPILEMUSIC aborting 2021-09-23 22:35:52 -07:00
BinaryBlob.h Use fixed-size int types for resourceheader 2021-09-23 22:21:49 -07:00
BlockV.cpp Add setactivityposition(x,y), add new textbox color transparent (#847) 2021-10-13 15:38:51 -07:00
BlockV.h Add setactivityposition(x,y), add new textbox color transparent (#847) 2021-10-13 15:38:51 -07:00
Constants.h Fix SCREEN_HEIGHT_PIXELS being wrong constant 2021-10-01 09:35:28 -07:00
Credits.h Add Yussur Mustafa Oraji (N00byKing) to contributors list 2022-02-14 12:34:07 -08:00
CustomLevels.cpp Add support for start position via level XML for CLI playtesting 2022-06-19 15:21:36 -07:00
CustomLevels.h Add support for start position via level XML for CLI playtesting 2022-06-19 15:21:36 -07:00
CWrappers.cpp Implement new string formatting system (VFormat) 2022-05-06 00:19:30 -07:00
CWrappers.h Implement new string formatting system (VFormat) 2022-05-06 00:19:30 -07:00
DeferCallbacks.c Add deferred callbacks to game loop 2021-03-21 02:55:42 -04:00
DeferCallbacks.h Add deferred callbacks to game loop 2021-03-21 02:55:42 -04:00
Editor.cpp Implement new string formatting system (VFormat) 2022-05-06 00:19:30 -07:00
Editor.h Use const std::string& where possible in function params 2021-09-06 15:43:59 -07:00
Ent.cpp Untabify every single file 2021-09-06 18:56:39 -07:00
Ent.h Untabify every single file 2021-09-06 18:56:39 -07:00
Entity.cpp Don't treat spikes as solid for non-humanoid entities 2022-06-05 20:21:51 -07:00
Entity.h Don't treat spikes as solid for non-humanoid entities 2022-06-05 20:21:51 -07:00
Enums.h Remove unused game-gamestates 2021-12-18 00:01:32 -08:00
Exit.h Use SDL_NORETURN 2021-09-27 10:32:23 -07:00
FileSystemUtils.cpp Fix special/stdin.vvvvvv being saved to levelstats.vvv 2022-08-03 17:30:23 -07:00
FileSystemUtils.h cleanup: Don't savestatsandsettings if filesystem not init 2022-03-14 10:45:19 -07:00
Finalclass.cpp Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
Finalclass.h Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
Game.cpp Fix special/stdin.vvvvvv being saved to levelstats.vvv 2022-08-03 17:30:23 -07:00
Game.h Simplify time formatting functions 2021-12-25 11:38:12 -08:00
GlitchrunnerMode.c Split glitchrunner mode into multiple versions 2021-08-05 13:35:21 -04:00
GlitchrunnerMode.h Split glitchrunner mode into multiple versions 2021-08-05 13:35:21 -04:00
GOGNetwork.c Axe NETWORK_[set/get]AchievementProgress() 2021-09-19 21:49:54 -07:00
Graphics.cpp Fix potential NULL dereference of images[t] 2022-05-17 12:07:51 -07:00
Graphics.h Enumify all fade modes 2022-04-25 00:57:47 -07:00
GraphicsResources.cpp Use LoadImage in LoadIcon 2021-12-25 01:29:24 -08:00
GraphicsResources.h Consistently use angle brackets for SDL.h includes 2020-07-19 21:37:40 -04:00
GraphicsUtil.cpp Fix char overflow in Analogue Mode 2021-12-22 21:49:08 -08:00
GraphicsUtil.h Add ClearSurface() 2021-02-25 19:38:25 -05:00
Input.cpp Only process tapleft/tapright if has_control 2022-08-05 07:38:35 -07:00
Input.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
InterimVersion.h Optimize recompilation from changing commit hash 2022-08-23 00:00:38 -07:00
InterimVersion.in.c Optimize recompilation from changing commit hash 2022-08-23 00:00:38 -07:00
KeyPoll.cpp Extern gameScreen, remove screenbuffer 2021-12-25 00:29:28 -08:00
KeyPoll.h Untabify every single file 2021-09-06 18:56:39 -07:00
Labclass.cpp Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
Labclass.h Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
lodepng_wrapper.c Migrate LodePNG to submodule 2022-03-13 23:50:37 -07:00
Logic.cpp Enumify all fade modes 2022-04-25 00:57:47 -07:00
Logic.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
main.cpp Optimize recompilation from changing commit hash 2022-08-23 00:00:38 -07:00
MakeAndPlay.h Use multiline comments in C files 2021-04-17 00:50:04 -04:00
Map.cpp Don't treat spikes as solid for non-humanoid entities 2022-06-05 20:21:51 -07:00
Map.h Don't treat spikes as solid for non-humanoid entities 2022-06-05 20:21:51 -07:00
Maths.h Remove clamp in favor of SDL_clamp 2022-02-11 17:31:41 -05:00
Music.cpp Fix warning: use of non-static data member initialization 2022-07-28 16:48:58 -07:00
Music.h SDL_mixer is now entirely contained in Music.cpp. 2021-12-26 08:57:38 -05:00
Network.c Axe NETWORK_[set/get]AchievementProgress() 2021-09-19 21:49:54 -07:00
Network.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Otherlevel.cpp Fix elephant placement across rooms 2021-12-08 16:25:18 -08:00
Otherlevel.h Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
preloader.cpp Axe RGBflip() in favor of getRGB() 2021-09-11 02:15:20 -07:00
preloader.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Render.cpp Optimize recompilation from changing commit hash 2022-08-23 00:00:38 -07:00
Render.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
RenderFixed.cpp Use resumegamemode to track menu animation 2021-09-05 16:59:05 -07:00
RenderFixed.h Remove now-unneeded deltaframe fix when going to in-game settings 2021-03-21 02:55:42 -04:00
Screen.cpp Move SDL_ShowWindow to after assets are loaded 2022-06-01 16:42:22 -07:00
Screen.h Add forced fullscreen mode 2021-12-25 23:01:45 -08:00
ScreenSettings.h Add and use scaling mode enum 2021-12-25 23:14:12 -08:00
Script.cpp Enumify all fade modes 2022-04-25 00:57:47 -07:00
Script.h createentity command: Actually have p1/p2/p3/p4 defaults 2021-08-12 00:20:40 -04:00
Scripts.cpp Add message when player is kicked out of Super Gravitron 2021-09-03 12:08:31 -07:00
Spacestation2.cpp Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
Spacestation2.h Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
SteamNetwork.c Silence GCC warnings about void*-to-function-pointer casts 2021-10-21 01:00:06 -07:00
TerminalScripts.cpp Untabify every single file 2021-09-06 18:56:39 -07:00
Textbox.cpp Rename textbox to textboxes and textbox line to lines 2021-09-12 21:06:27 -07:00
Textbox.h Rename textbox to textboxes and textbox line to lines 2021-09-12 21:06:27 -07:00
ThirdPartyDeps.c Use multiline comments in C files 2021-04-17 00:50:04 -04:00
Tower.cpp Add POS_MOD macro and use for all positive modulos 2021-09-24 17:48:15 -07:00
Tower.h Remove vmult lookup tables 2021-09-24 16:37:27 -07:00
TowerBG.h Untabify every single file 2021-09-06 18:56:39 -07:00
Unused.h Factor out UNUSED macro to header file 2021-05-25 15:23:34 -04:00
UtilityClass.cpp Remove "Lots" and "???" from number_words 2022-07-04 23:14:44 -07:00
UtilityClass.h Simplify time formatting functions 2021-12-25 11:38:12 -08:00
VFormat.c Implement new string formatting system (VFormat) 2022-05-06 00:19:30 -07:00
VFormat.h Implement new string formatting system (VFormat) 2022-05-06 00:19:30 -07:00
Vlogging.c Mark all vlog functions with printf attributes 2021-09-27 20:49:09 -07:00
Vlogging.h Mark all vlog functions with printf attributes 2021-09-27 20:49:09 -07:00
WarpClass.cpp Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
WarpClass.h Replace roomnames/hiddennames/glitchnames with const char* 2021-09-12 21:06:26 -07:00
XMLUtils.cpp Move all settings to settings.vvv 2020-11-04 12:06:57 -05:00
XMLUtils.h Move all settings to settings.vvv 2020-11-04 12:06:57 -05:00
Xoshiro.c Add debug statements to print xoshiro RNG values 2022-07-28 16:55:29 -07:00
Xoshiro.h Replace Gravitron RNG with seeded Xoshiro 2021-08-27 12:28:35 -07:00