1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-26 14:38:30 +02:00
VVVVVV/desktop_version/src
Misa 1d40bbdbc7 Restore pre-2.1 warp bypass glitch in glitchrunner mode
So, I was staring at VVVVVV code one day, as I usually do, and I noticed
that warp lines had this curious code in entityclass::updateentities()
that set their statedelay to 2, and I thought, hm, maybe the pre-2.1
warp line bypass is caused by this statedelay. And, it doesn't seem like
this is the primary code used to detect if the player collides with warp
lines, the actual code is commented with "Rewritten system for mobile
update" and bolted-on in gamelogic() instead of properly being in
entityclass::entitycollisioncheck().

So, after getting tripped up on the misleading indentation of that
"Rewritten system" block, I removed the rewritten system, re-added
collision detection for rule 7 (horizontal warp lines), and after
checking the resulting behavior, it appears to be nearly identical to
that of warp lines in 2.0.

You see, if you use warp lines to flip up from the top of the screen
onto the bottom of the screen, close to the edge of the bottom of the
screen, Viridian's head will display on the top of the screen in 2.0. In
2.1 and later, this doesn't happen, confirming that my theory is
correct. I also performed warp line bypass multiple times in 2.0 and
with my restored code, and it is pretty much the exact same behavior.

So now, the pre-2.1 warp line bypass glitch has been re-enabled in
glitchrunner mode.
2020-09-09 22:05:43 -04:00
..
BinaryBlob.cpp Use SDL stdlib funcs for free/malloc/strcmp 2020-08-14 09:51:19 -04:00
BinaryBlob.h Check index of tracks in musicclass::init() 2020-08-14 09:51:19 -04:00
BlockV.cpp Remove unnecessary string initializations from constructors 2020-07-08 19:14:21 -04:00
BlockV.h Consistently use angle brackets for SDL.h includes 2020-07-19 21:37:40 -04:00
Credits.h Adding myself as a contributor. 2020-08-12 23:07:13 -04:00
editor.cpp Remove checks to prevent having both warp lines/BGs in editor 2020-09-05 20:02:27 -07:00
editor.h Axe manual state trackers and use SDL_IsTextInputActive() 2020-08-13 17:51:38 -04:00
Ent.cpp Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Ent.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Entity.cpp Restore pre-2.1 warp bypass glitch in glitchrunner mode 2020-09-09 22:05:43 -04:00
Entity.h Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Enums.h Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00
FileSystemUtils.cpp Fix other array decay too 2020-08-09 13:39:12 -04:00
FileSystemUtils.h Only re-color one-ways if assets are not mounted 2020-06-30 18:06:14 -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 Missed adding the option to the createmenu method. 2020-08-08 19:10:31 -04:00
Game.h Added ability to bind restart to a controller. 2020-08-08 19:02:14 -04:00
GOGNetwork.c Ifdef out network code for M&P 2020-08-02 23:43:55 -04:00
Graphics.cpp Use clamp() macro to clamp colors in Graphics::bigrprint() 2020-09-08 16:15:50 -04:00
Graphics.h Remove allowspecial, replace with opaqueness check 2020-08-06 22:12:15 -04:00
GraphicsResources.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
GraphicsResources.h Consistently use angle brackets for SDL.h includes 2020-07-19 21:37:40 -04:00
GraphicsUtil.cpp Don't hardcode SDL_CreateRGBSurface BitsPerPixel/mask args 2020-09-08 16:16:40 -04:00
GraphicsUtil.h Axe endian_swap() function and template 2020-09-08 16:16:40 -04:00
Input.cpp Hoist Enter check out of script.running clause 2020-09-07 20:47:33 -04:00
Input.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
KeyPoll.cpp Axe manual state trackers and use SDL_IsTextInputActive() 2020-08-13 17:51:38 -04:00
KeyPoll.h Axe manual state trackers and use SDL_IsTextInputActive() 2020-08-13 17:51:38 -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 Restore pre-2.1 warp bypass glitch in glitchrunner mode 2020-09-09 22:05:43 -04:00
Logic.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
main.cpp Axe manual state trackers and use SDL_IsTextInputActive() 2020-08-13 17:51:38 -04:00
MakeAndPlay.h Re-comment out #define MAKEANDPLAY 2020-02-09 10:42:03 -05:00
Map.cpp Move crewmate drawframe fix to entity creation instead of loadlevel 2020-09-07 20:46:01 -04:00
Map.h Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Maths.h Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00
Music.cpp Check rw in musicclass::init() 2020-08-14 09:51:19 -04:00
Music.h Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Network.c Remove unnecessary externs from network func forward decls 2020-08-02 23:43:55 -04:00
Network.h Add support for multiple Network backends, stub in GOGNetwork 2020-01-13 11:15:22 -05:00
Otherlevel.cpp Change back the order of entity creation 2020-07-29 10:04:27 -04:00
Otherlevel.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
preloader.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
preloader.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Render.cpp De-duplicate activity zone rendering, don't ignore act_fade 2020-08-24 22:02:58 -04:00
Render.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Screen.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Screen.h Refactor startup to load config before calling Screen::init 2020-07-08 14:30:57 -04:00
Script.cpp Restore entity-to-crewmate conversion trick 2020-09-09 10:02:09 -04:00
Script.h Remove unnecessary includes from header files 2020-07-19 21:37:40 -04:00
Scripts.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
SoundSystem.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
SoundSystem.h Revert "Add destructor for SoundTrack/MusicTrack (and explicitly define move constructor to prevent double-free)" 2020-06-07 22:40:03 -04: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 Ifdef out network code for M&P 2020-08-02 23:43:55 -04:00
TerminalScripts.cpp Separate includes into sections and alphabetize them 2020-07-19 21:37:40 -04:00
Textbox.cpp Remove allowspecial, replace with opaqueness check 2020-08-06 22:12:15 -04:00
Textbox.h Remove allowspecial, replace with opaqueness check 2020-08-06 22:12:15 -04:00
Tower.cpp Remove zeroed arrays from tower functions in M&P 2020-08-03 00:29:15 -04:00
Tower.h Change all tilemaps to be short[1200] instead of int[1200] 2020-07-19 16:25:53 -04:00
UtilityClass.cpp Add fallback parameter to UtilityClass::Int() 2020-08-07 01:00:49 -04:00
UtilityClass.h Add fallback parameter to UtilityClass::Int() 2020-08-07 01:00:49 -04: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