1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-25 22:18:30 +02:00
VVVVVV/desktop_version/src
Misa 8b3c805bc0 Fix Super Gravitron pattern oversight
There is a pattern in the Super Gravitron that is meant to "staircase",
similar to the Gravitron in Intermission 2. Something like:

[]
     []
          []
               []             []
                    []   []

Unfortunately, due to an oversight, this pattern can only ever produce 1
square or 4 squares, which look out of place.

Both gravitrons are state machines (of course). States 20 and 21 in the
Super Gravitron are this staircase pattern (state 20 spawns the squares
on the left, state 21 spawns the squares on the right).

The only way states 20 and 21 can be reached is through state 1, and the
only way state 1 can be reached is through state 3. The only way state 3
can be reached is through states 28, 29, 30, and 31.

In states 20 and 21, the variable used to keep track of the amount of
squares spawned is swnstate4. However, states 28, 29, 30, and 31 all end
up using swnstate4, and at the end of states 28 and 29, swnstate4 will
be 7, and at the end of states 30 and 31, swnstate4 will be 3. This
means if we go to states 20 and 21 after coming from states 28 and 29,
we will only get 1 square, and if we go to states 20 and 21 after coming
from states 30 and 31, we will only get 4 squares.

This can be clearly filed under a failure to reset appropriate state.

What's the solution here? Just reset swnstate4 in state 3, so there will
be 7 squares, as intended. This also fixes the bug for state 22 as well,
which is affected in the same manner.
2021-05-20 20:57:56 -04:00
..
BinaryBlob.cpp Abstract binary blob loading to FileSystemUtils 2021-04-13 10:02:40 -04:00
BinaryBlob.h Abstract binary blob loading to FileSystemUtils 2021-04-13 10:02:40 -04: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 Remove extra semicolon from end of Credits namespace 2021-04-17 00:50:04 -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 Separate pressing Enter to open map from pressing Enter to interact 2021-05-19 00:04:00 -07: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 Fix Super Gravitron pattern oversight 2021-05-20 20:57:56 -04:00
Entity.h Rename vx/vy createentity args to meta1/meta2 2021-04-17 18:29:17 -04: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 Add error checking to base path setup 2021-04-18 18:14:03 -04:00
FileSystemUtils.h Abstract binary blob loading to FileSystemUtils 2021-04-13 10:02:40 -04: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 Save showtargets to main game save files 2021-05-20 19:56:25 -04:00
Game.h Separate pressing Enter to open map from pressing Enter to interact 2021-05-19 00:04:00 -07:00
GOGNetwork.c Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Graphics.cpp Don't update crewmate colors in text boxes every deltaframe 2021-05-18 21:17:06 -04:00
Graphics.h Draw minimap.png if it is mounted 2021-04-19 10:08:38 -04:00
GraphicsResources.cpp Add asserts for missing images and sound effects 2021-04-18 15:01:43 -04:00
GraphicsResources.h Consistently use angle brackets for SDL.h includes 2020-07-19 21:37:40 -04:00
GraphicsUtil.cpp Remove unnecessary Sint16 casts 2021-04-18 14:55:33 -04:00
GraphicsUtil.h Add ClearSurface() 2021-02-25 19:38:25 -05:00
Input.cpp Separate pressing Enter to open map from pressing Enter to interact 2021-05-19 00:04:00 -07:00
Input.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
KeyPoll.cpp Show and hide mouse cursor based on user input 2021-04-16 22:58:45 -07:00
KeyPoll.h Separate pressing Enter to open map from pressing Enter to interact 2021-05-19 00:04:00 -07: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 Don't allow setting Super Gravitron records in custom levels 2021-05-03 22:33:21 -04:00
Logic.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
main.cpp Consolidate tower BG bypos and bscroll assignments 2021-04-30 05:31:47 -04:00
MakeAndPlay.h Use multiline comments in C files 2021-04-17 00:50:04 -04:00
Map.cpp Remove final_colorframe assignments when entering minitowers 2021-05-03 19:40:07 -07:00
Map.h Consolidate tower BG bypos and bscroll assignments 2021-04-30 05:31:47 -04:00
Maths.h Explicitly declare void for all void parameter functions (#628) 2021-02-25 17:23:59 -05:00
Music.cpp Call Mix_VolumeMusic() when playing tracks 0 and 7 2021-04-27 20:33:44 -04:00
Music.h Fix fade volume durations being incorrect 2021-04-27 20:33:44 -04: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 Separate pressing Enter to open map from pressing Enter to interact 2021-05-19 00:04:00 -07: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 Move graphic options menu update to toggleFullScreen 2021-04-22 19:42:32 -04: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 Consolidate tower BG bypos and bscroll assignments 2021-04-30 05:31:47 -04:00
Script.h Remove script.dontrunnextframe kludge 2021-03-21 02:55:42 -04:00
Scripts.cpp Don't restart music in trinket cutscenes 2021-04-12 16:17:31 -04:00
SoundSystem.cpp Add asserts for missing images and sound effects 2021-04-18 15:01:43 -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 Change final stretch song to Piercing the Sky 2021-05-17 02:02:44 -04:00
Textbox.cpp Don't update crewmate colors in text boxes every deltaframe 2021-05-18 21:17:06 -04:00
Textbox.h Don't update crewmate colors in text boxes every deltaframe 2021-05-18 21:17:06 -04:00
ThirdPartyDeps.c Use multiline comments in C files 2021-04-17 00:50:04 -04: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 Add VVV_fillstring() 2021-04-11 20:56:16 -04:00
UtilityClass.h Add VVV_fillstring() 2021-04-11 20:56:16 -04: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