1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-26 06:28:30 +02:00
VVVVVV/desktop_version/src
Misa ebd381c228 Fix the two-frame-delay when entering a room with an "init" script
This patch is very kludge-y, but at least it fixes a semi-noticeable
visual issue in custom levels that use internal scripts to spawn
entities when loading a room.

Basically, the problem here is that when the game checks for script
boxes and sets newscript, newscript has already been processed for that
frame, and when the game does load a script, script.run() has already
been processed for that frame.

That issue can be fixed, but it turns out that due to my over-30-FPS
game loop changes, there's now ANOTHER visible frame of delay between
room load and entity creation, because the render function gets called
in between the script being loaded at the end of gamelogic() and the
script actually getting run.

So... I have to temporary move script.run() to the end of gamelogic()
(in map.twoframedelayfix()), and make sure it doesn't get run next
frame, because double-evaluations are bad. To do that, I have to
introduce the kludge variable script.dontrunnextframe, which does
exactly as it says.

And with all that work, the two-frame (now three-frame) delay is fixed.
2020-06-29 15:42:51 -04:00
..
BinaryBlob.cpp Maybe check the right size m8 2020-06-14 22:44:34 -04:00
BinaryBlob.h Sigh. 2020-06-15 07:37:05 -04:00
BlockV.cpp Remove blockclass::clear(), simplify blockclass initializations 2020-04-03 23:28:47 -04:00
BlockV.h Remove blockclass::clear(), simplify blockclass initializations 2020-04-03 23:28:47 -04:00
editor.cpp Add -playassets command-line option 2020-06-21 20:25:22 -04:00
editor.h Add '#if !defined(NO_EDITOR)' guards around editorinput/render/logic 2020-06-19 18:35:03 -04:00
Ent.cpp Fix red pill/mannequins/transmittor/radar dish being offset for 1 frame 2020-06-19 09:05:48 -04:00
Ent.h Fix, for in-GAMEMODE sprites, their colors updating too fast 2020-06-19 09:05:48 -04:00
Entity.cpp Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Entity.h Interpolate trophy text 2020-06-19 09:05:48 -04:00
Enums.h Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00
FileSystemUtils.cpp Fix gamecontrollerdb.txt path 2020-06-23 19:08:08 -04:00
FileSystemUtils.h Abstract assets mounting to FileSystemUtils.cpp 2020-06-21 20:25:22 -04:00
Finalclass.cpp Statically allocate level arrays 2020-05-29 10:21:25 -04:00
Finalclass.h Refactor Finalclass.cpp to not use strings for tilemaps 2020-05-17 22:03:29 -04:00
Game.cpp Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Game.h Add glitchrunner mode, in game options 2020-06-29 15:12:35 -04:00
GOGNetwork.c Add support for multiple Network backends, stub in GOGNetwork 2020-01-13 11:15:22 -05:00
Graphics.cpp Add logs if a Graphics func was stopped from indexing OoB 2020-06-28 15:48:48 -04:00
Graphics.h Add Graphics::map_option() 2020-06-23 15:23:57 -04:00
GraphicsResources.cpp Fix some leaks 2020-06-07 22:40:03 -04:00
GraphicsResources.h Fix some leaks 2020-06-07 22:40:03 -04:00
GraphicsUtil.cpp Move analogue mode filter update logic to fixed-timestep loop 2020-06-19 09:05:48 -04:00
GraphicsUtil.h Move analogue mode filter update logic to fixed-timestep loop 2020-06-19 09:05:48 -04:00
Input.cpp Restore janky gamestate-based quit-to-title system in glitchrunnermode 2020-06-29 15:12:35 -04:00
Input.h Remove global args from Input.cpp 2020-04-03 10:40:50 -04:00
KeyPoll.cpp Fix resumemusic/musicfadein not working 2020-06-27 17:23:07 -04:00
KeyPoll.h Fix resumemusic/musicfadein not working 2020-06-27 17:23:07 -04:00
Labclass.cpp Statically allocate level arrays 2020-05-29 10:21:25 -04:00
Labclass.h Refactor Labclass.cpp to not use strings for tilemaps 2020-05-17 22:03:29 -04:00
Logic.cpp Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Logic.h Fix delta rendering glitch when going to options from new Esc menu 2020-06-23 15:23:57 -04:00
main.cpp Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
MakeAndPlay.h Re-comment out #define MAKEANDPLAY 2020-02-09 10:42:03 -05:00
Map.cpp Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Map.h Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Maths.h Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00
Music.cpp Remove unused/useless vars music.custompd/musicfade(in)/volume 2020-06-27 17:23:07 -04:00
Music.h Remove unused/useless vars music.custompd/musicfade(in)/volume 2020-06-27 17:23:07 -04:00
Network.c Allow for conditional building of Steam and GOG APIs 2020-06-01 14:21:06 -04:00
Network.h Add support for multiple Network backends, stub in GOGNetwork 2020-01-13 11:15:22 -05:00
Otherlevel.cpp Statically allocate level arrays 2020-05-29 10:21:25 -04:00
Otherlevel.h Remove i/j/k attributes from classes that don't need them 2020-06-14 14:37:29 -04:00
preloader.cpp Move preloader update code to new function preloaderlogic() 2020-06-19 09:05:48 -04:00
preloader.h Move preloader update code to new function preloaderlogic() 2020-06-19 09:05:48 -04:00
Render.cpp Restore janky gamestate-based quit-to-title system in glitchrunnermode 2020-06-29 15:12:35 -04:00
Render.h Merge towerrender() into gamerender() 2020-04-26 19:07:40 -04:00
Screen.cpp Work around SDL2 bug where VSync hint only applies on renderer creation 2020-06-19 17:44:53 -04:00
Screen.h Don't extern gameScreen, use *graphics.screenbuffer instead 2020-06-19 17:44:53 -04:00
Script.cpp Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Script.h Fix the two-frame-delay when entering a room with an "init" script 2020-06-29 15:42:51 -04:00
Scripts.cpp Remove include guards from Scripts.cpp and TerminalScripts.cpp 2020-06-11 22:13:52 -04:00
SoundSystem.cpp Revert "Add destructor for SoundTrack/MusicTrack (and explicitly define move constructor to prevent double-free)" 2020-06-07 22:40:03 -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 Statically allocate Prize for the Reckless tilemap 2020-05-29 19:39:05 -04:00
Spacestation2.h Refactor Spacestation2.cpp to not use strings for tilemaps 2020-05-17 22:03:29 -04:00
SteamNetwork.c Fix build on DragonFlyBSD 2020-04-23 23:35:33 -04:00
TerminalScripts.cpp Remove include guards from Scripts.cpp and TerminalScripts.cpp 2020-06-11 22:13:52 -04:00
Textbox.cpp Fix special text box images sometimes flashing 2020-06-19 09:05:48 -04:00
Textbox.h Fix special text box images sometimes flashing 2020-06-19 09:05:48 -04:00
Tower.cpp Remove now-unused fillbackground/fillcontents/fillminitower from Tower 2020-05-17 22:03:29 -04:00
Tower.h Remove i/j/k attributes from classes that don't need them 2020-06-14 14:37:29 -04:00
UtilityClass.cpp Move endsWith() to UtilityClass.cpp and put it in header file 2020-06-21 20:25:22 -04:00
UtilityClass.h Move endsWith() to UtilityClass.cpp and put it in header file 2020-06-21 20:25:22 -04:00
WarpClass.cpp Statically allocate level arrays 2020-05-29 10:21:25 -04:00
WarpClass.h Refactor WarpClass.cpp to not use strings for tilemaps 2020-05-17 22:03:29 -04:00