1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-26 14:38:30 +02:00
VVVVVV/desktop_version/src
Misa b340a6ccc4 Add bounds checks to room propety getters and setters
It is no longer possible to cause Undefined Behavior via accessing
out-of-bounds room properties.

What happens instead is - if you attempt to fetch an out-of-bounds room
property, you get a "blank" room property that just has all of the
defaults, plus its tileset is 1 because all tilesets that are nonzero
use tiles2.png, and it closely emulates the previous behavior where it
was some bogus value but definitely not zero. Its Direct Mode is also 1,
because the tiles contained within it are just mishmashed repeats of
existing tiles on the map, and we shouldn't autotile that.

The roomname also gets cleared in case the user attempts to set the room
name of an out-of-bounds room property.

If you attempt to set the property of an out-of-bounds room property,
then nothing happens.
2021-03-24 15:55:34 -04:00
..
BinaryBlob.cpp Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
BinaryBlob.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
BlockV.cpp Remove unused x and y attributes of blockclass 2021-02-27 18:27:28 -05:00
BlockV.h Remove unused x and y attributes of blockclass 2021-02-27 18:27:28 -05:00
Credits.h Fix entities in the Warp Zone's gray tileset not being gray in the editor (#480) 2020-09-25 13:35:03 -04: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 Add bounds checks to room propety getters and setters 2021-03-24 15:55:34 -04:00
editor.h Refactor room properties to use setter and getter funcs 2021-03-24 15:55:34 -04:00
Ent.cpp Split onground/onroof into visual and logical variables 2021-03-21 02:55:42 -04:00
Ent.h Split onground/onroof into visual and logical variables 2021-03-21 02:55:42 -04:00
Entity.cpp Refactor room properties to use setter and getter funcs 2021-03-24 15:55:34 -04:00
Entity.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Enums.h Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00
Exit.h Add VVV_exit() 2021-02-15 23:07:35 -05:00
FileSystemUtils.cpp Make one-way recolors check for specific files 2021-03-06 16:00:57 -05:00
FileSystemUtils.h Make one-way recolors check for specific files 2021-03-06 16:00:57 -05:00
Finalclass.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Finalclass.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Game.cpp Add missing pText NULL checks 2021-03-24 15:26:09 -04:00
Game.h Remove game.gametimer in favor of game.frames 2021-03-21 20:53:11 -04:00
GOGNetwork.c Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Graphics.cpp Refactor room properties to use setter and getter funcs 2021-03-24 15:55:34 -04:00
Graphics.h Fix filter/screenshake/flash update order 2021-03-21 02:55:42 -04:00
GraphicsResources.cpp Free data upon failure in LoadImage() 2021-01-18 13:06:43 -05:00
GraphicsResources.h Consistently use angle brackets for SDL.h includes 2020-07-19 21:37:40 -04:00
GraphicsUtil.cpp Use SDL_floor() instead of libc floor() 2021-03-06 16:01:29 -05:00
GraphicsUtil.h Add ClearSurface() 2021-02-25 19:38:25 -05:00
Input.cpp Fix 1-frame background glitch when returning from in-game options 2021-03-21 02:55:42 -04:00
Input.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
KeyPoll.cpp Directly toggle fullscreen if keybind pressed in key.Poll() 2021-03-17 03:01:19 -04:00
KeyPoll.h Directly toggle fullscreen if keybind pressed in key.Poll() 2021-03-17 03:01:19 -04:00
Labclass.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Labclass.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Logic.cpp Move logical onground/onroof updates to start of gamelogic 2021-03-21 02:55:42 -04:00
Logic.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
main.cpp Remove game.gametimer in favor of game.frames 2021-03-21 20:53:11 -04:00
MakeAndPlay.h Re-comment out #define MAKEANDPLAY 2020-02-09 10:42:03 -05:00
Map.cpp Refactor room properties to use setter and getter funcs 2021-03-24 15:55:34 -04:00
Map.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Maths.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Music.cpp Move resumesong assignment to songend() 2021-03-10 09:45:20 -05:00
Music.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Network.c Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Network.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Otherlevel.cpp Bounds check all entity getters that can return 0 2020-09-25 13:51:47 -04:00
Otherlevel.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
preloader.cpp Change all surface-clearing FillRect()s to use ClearSurface() 2021-02-25 19:38:25 -05:00
preloader.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Render.cpp Capitalize "OFF" when invincibility is off 2021-03-21 20:53:40 -04:00
Render.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
RenderFixed.cpp Remove game.gametimer in favor of game.frames 2021-03-21 20:53:11 -04:00
RenderFixed.h Remove now-unneeded deltaframe fix when going to in-game settings 2021-03-21 02:55:42 -04:00
Screen.cpp Fix transitive includes in Screen.cpp 2021-02-27 14:26:08 -05:00
Screen.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
ScreenSettings.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Script.cpp Refactor room properties to use setter and getter funcs 2021-03-24 15:55:34 -04:00
Script.h Remove script.dontrunnextframe kludge 2021-03-21 02:55:42 -04:00
Scripts.cpp Make 'custom_' check more readable 2020-09-27 16:31:40 -04:00
SoundSystem.cpp Visual Studio buildfix 2021-03-21 17:15:36 -04:00
SoundSystem.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Spacestation2.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Spacestation2.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
SteamNetwork.c Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
TerminalScripts.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Textbox.cpp Add flipme attribute to textboxclass 2021-03-21 02:53:25 -04:00
Textbox.h Add flipme attribute to textboxclass 2021-03-21 02:53:25 -04:00
ThirdPartyDeps.c Reduce dependency on libc functions 2021-01-12 14:02:31 -05:00
Tower.cpp Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Tower.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
TowerBG.h Move mapclass r/g/b variables off onto TowerBG 2021-01-07 21:15:34 -05:00
UtilityClass.cpp Refactor endsWith() to not use the STL 2021-02-27 01:40:05 -05:00
UtilityClass.h Refactor endsWith() to not use the STL 2021-02-27 01:40:05 -05:00
Version.h Don't recompile all files when the commit hash is changed 2020-12-25 20:17:01 -05:00
Version.h.in Don't recompile all files when the commit hash is changed 2020-12-25 20:17:01 -05:00
WarpClass.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
WarpClass.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04: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