mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 10:09:43 +01:00
No description
5c7e869ee7
Ugh, this is terrible and stupid and I hate myself for it. Anyway, since the SDL2 VSync hint only applies when the renderer is created, we have to re-create the renderer whenever VSync is toggled. However, this also means we need to re-create m_screenTexture as well, AND call ResizeScreen() after that or else the letterbox/integer modes won't be applied. Unfortunately, this means that in main(), gameScreen.init() will create a renderer only to be destroyed later by graphics.processVsync(). There's not much we can do about this. Fixing this would require putting graphics.processVsync() before gameScreen.init(). However, in order to know whether the user has VSync set, we would have to call game.loadstats() first, but wait, we can't, because game.loadstats() mutates gameScreen! Gahhhhhh!!!! @leo60228 suggested to fix that problem ( https://github.com/TerryCavanagh/VVVVVV/pull/220#issuecomment-624217939 ) by adding NULL checks to game.loadstats() and then calling it twice, but then you're trading wastefully creating a renderer only to be destroyed, for wastefully opening and parsing unlock.vvv twice instead of once. In either case, you're doing something twice and wasting work. |
||
---|---|---|
.github | ||
desktop_version | ||
mobile_version | ||
third_party | ||
tools | ||
.gitattributes | ||
License exceptions.md | ||
LICENSE.md | ||
README.md |
This is the source code to VVVVVV, version 2.0+. For more context about this release, see the announcement on Terry's blog!
License
VVVVVV's source code is made available under a custom license. See LICENSE.md for more details.
In general, if you're interested in creating something that falls outside the license terms, get in touch with Terry and we'll talk about it!
Authors
- Created by Terry Cavanagh
- Room Names by Bennett Foddy
- Music by Magnus Pålsson
- Metal Soundtrack by FamilyJules
- 2.0 Update (C++ Port) by Simon Roth
- 2.2 Update (SDL2/PhysicsFS/Steamworks port) by Ethan Lee
- Beta Testing by Sam Kaplan and Pauli Kohberger
- Ending Picture by Pauli Kohberger
Versions
There are two versions of the VVVVVV source code available - the desktop version (based on the C++ port, and currently live on Steam), and the mobile version (based on a fork of the original flash source code, and currently live on iOS and Android).