mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-22 17:49:43 +01:00
No description
77a636509b
The onroof/onground attributes are used to determine if the player is standing on a surface and is eligible to flip. Most notably, it is an integer and not a boolean, and it starts at 2, giving the player 2 frames to edge-flip, i.e. they can still flip 2 frames after walking off an edge. However, these attributes are unnecessarily reassigned in movingplatformfix() (which is the function that deals exclusively with vertically-moving platforms; horizontal moving platforms get their own hormovingplatformfix()). Whoever wrote this misunderstood what onroof/onground meant; they thought that they were booleans, and so set them to true, instead of the proper value of 2. This ends up setting onroof/onground to 1 instead of 2, causing a discrepancy with vertical moving platforms and the rest of the surfaces in the game. The bigger mistake here is duplicating code that never needed to be duplicated. The onroof/onground assignment in gamelogic() works perfectly fine for vertical moving platforms. Indeed, after testing it with libTAS, I can confirm that removing the duplicate assignments restores being able to edge-flip off of moving platforms with 2 frames of leeway, instead of only 1 frame. It also doesn't change how long it takes for the onroof/onground to get set when the player is recognized as standing on a vertically-moving platform, either. And so, it's better to not duplicate this code, because when you duplicate it you run the risk of making a mistake, as I just demonstrated. |
||
---|---|---|
.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).