1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-28 07:28:30 +02:00
VVVVVV/desktop_version/src
Misa 91339c77db Refactor BlitSurfaceColoured and BlitSurfaceTinted to not allocate
This refactors them to not allocate a temporary surface by instead
simply drawing directly to the destination surface.

This means re-implementing the original semantics of SDL_BlitSurface in
them, which is the function signature they (and BlitSurfaceStandard)
were based off of. So now if src_rect or dest_rect are NULL, it
automatically uses a rect of the entirety of the corresponding surface,
and other things like that. And also some other optimizations like
no-opping if the alpha is 0 (because then nothing will be drawn), and
critical checks (not drawing if the destination pixel is out of bounds,
because then otherwise it would wrap around, or at least that's what it
did when I tested it).

This resulted in a bunch of code that would really suck to copy-paste
because then you'd have to remember to update the other copy, so I
refactored them further and put the common code into one function, while
separating the different code (the exact transformation they do) into
different functions that get passed in through function pointers.
2023-01-02 18:01:42 -08:00
..
Alloc.h Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
BinaryBlob.cpp Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08: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 Render.cpp: make titlerender and gamecompleterender translatable 2022-12-31 20:04:56 -08:00
CustomLevels.cpp Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
CustomLevels.h Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
CWrappers.cpp Use loc::toupper_ch instead of SDL_toupper in VFormat 2022-12-31 20:04:56 -08:00
CWrappers.h Use loc::toupper_ch instead of SDL_toupper in VFormat 2022-12-31 20:04:56 -08: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 Axe Graphics::ct and Graphics::setcolreal 2023-01-01 20:16:08 -08:00
Editor.h Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
Ent.cpp Axe Graphics::ct and Graphics::setcolreal 2023-01-01 20:16:08 -08:00
Ent.h Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
Entity.cpp Entity.cpp: make all activity prompts translatable 2022-12-31 20:04:56 -08:00
Entity.h Unexport getgridpoint 2022-12-11 12:40:45 -08: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 FileSystemUtils.cpp: make translatable 2022-12-31 20:04:56 -08:00
FileSystemUtils.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Finalclass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Finalclass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Game.cpp Use setstate(n)/incstate()/setstatedelay(n) in localization changes 2022-12-31 20:04:56 -08:00
Game.h Add cutscene test menu 2022-12-31 20:04:56 -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 Rename tempBuffer to menuoffbuffer 2023-01-02 11:19:08 -08:00
Graphics.h Rename tempBuffer to menuoffbuffer 2023-01-02 11:19:08 -08:00
GraphicsResources.cpp Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08:00
GraphicsResources.h Consistently use angle brackets for SDL.h includes 2020-07-19 21:37:40 -04:00
GraphicsUtil.cpp Refactor BlitSurfaceColoured and BlitSurfaceTinted to not allocate 2023-01-02 18:01:42 -08:00
GraphicsUtil.h Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
Input.cpp Rename tempBuffer to menuoffbuffer 2023-01-02 11:19:08 -08: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 Add Ctrl+X for roomname translator mode 2022-12-31 20:04:56 -08:00
KeyPoll.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Labclass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Labclass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Localization.cpp Replace all localization SDL_free with VVV_free 2022-12-31 20:04:56 -08:00
Localization.h Add cutscene test menu 2022-12-31 20:04:56 -08:00
LocalizationMaint.cpp Replace all localization SDL_free with VVV_free 2022-12-31 20:04:56 -08:00
LocalizationMaint.h Add cutscene test menu 2022-12-31 20:04:56 -08:00
LocalizationStorage.cpp Replace all localization SDL_free with VVV_free 2022-12-31 20:04:56 -08:00
LocalizationStorage.h Add cutscene test menu 2022-12-31 20:04:56 -08:00
lodepng_wrapper.c Migrate LodePNG to submodule 2022-03-13 23:50:37 -07:00
Logic.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Logic.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
main.cpp Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
MakeAndPlay.h Use multiline comments in C files 2021-04-17 00:50:04 -04:00
Map.cpp Fix up temporary variables being in topmost scope and bad style 2022-12-31 20:46:01 -08:00
Map.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Maths.h Remove clamp in favor of SDL_clamp 2022-02-11 17:31:41 -05:00
Music.cpp Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08: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 Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
Otherlevel.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
preloader.cpp Use SDL_Color for colors instead of colourTransform 2023-01-01 16:36:43 -08:00
preloader.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
ReleaseVersion.h De-duplicate release version 2022-08-23 00:00:39 -07:00
Render.cpp Rename tempBuffer to menuoffbuffer 2023-01-02 11:19:08 -08: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
RoomnameTranslator.cpp Add RoomnameTranslator.cpp/h (not compiled yet) 2022-12-31 20:04:56 -08:00
RoomnameTranslator.h Add RoomnameTranslator.cpp/h (not compiled yet) 2022-12-31 20:04:56 -08:00
Screen.cpp Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08: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 Add cutscene test menu 2022-12-31 20:04:56 -08:00
Script.h Add cutscene test menu 2022-12-31 20:04:56 -08:00
Scripts.cpp Add textcase(n) commands to scripts 2022-12-31 20:04:56 -08:00
Spacestation2.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
Spacestation2.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
SteamNetwork.c Silence GCC warnings about void*-to-function-pointer casts 2021-10-21 01:00:06 -07:00
TerminalScripts.cpp Add textcase(n) commands to scripts 2022-12-31 20:04:56 -08:00
Textbook.c Replace all localization SDL_free with VVV_free 2022-12-31 20:04:56 -08:00
Textbook.h Add Textbook 2022-12-31 20:04:56 -08:00
Textbox.cpp Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Textbox.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
ThirdPartyDeps.c Replace all free calls with VVV_free[func] 2022-11-30 22:50:08 -08: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
Unreachable.h Use _SDL_HAS_BUILTIN 2022-12-29 16:13:54 -08:00
Unused.h Factor out UNUSED macro to header file 2021-05-25 15:23:34 -04:00
UtilityClass.cpp UtilityClass.cpp: make time formats and numbers translatable 2022-12-31 20:04:56 -08:00
UtilityClass.h Simplify time formatting functions 2021-12-25 11:38:12 -08:00
VFormat.c Use loc::toupper_ch instead of SDL_toupper in VFormat 2022-12-31 20:04:56 -08:00
VFormat.h Support underscore (_) in VFormat arg name 2022-12-31 20:04:56 -08:00
Vlogging.c Add color support to Windows console output, properly 2022-11-14 21:57:01 -08:00
Vlogging.h Add -console option on Windows 2022-11-14 19:40:23 -08:00
WarpClass.cpp Add level exploring menu for translators 2022-12-31 20:04:56 -08:00
WarpClass.h Indicate what special roomnames are in the levels 2022-12-31 20:04:56 -08:00
XMLUtils.cpp Move all settings to settings.vvv 2020-11-04 12:06:57 -05:00
XMLUtils.h Add localization "foundation" (many code changes) 2022-12-31 20:04:56 -08:00
Xoshiro.c Move xoshiro_seed debug print to top 2022-11-14 13:14:25 -08:00
Xoshiro.h Replace Gravitron RNG with seeded Xoshiro 2021-08-27 12:28:35 -07:00