mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
No description
ab26985fde
This once again fixes the facing directions of crewmates upon room load, except now it covers more cases. So, here is the saga so far: - 2.0 (presumably) to 2.2: crewmate direction fix is special-cased at the end of mapclass::loadlevel(). Only covers crewmates created during the room load, does not cover crewmates created from scripts, only covers state 18 of crewmates. - 2.3 currently (after #220): crewmate direction fix is moved to entityclass::createentity(), which covers every avenue of crewmate creation (including from scripts), but still only covers state 18. - This commit: crewmate direction fix now covers every possible state of the crewmate, also does not copy-paste any code. What I've done instead is to make it so createentity() will immediately call updateentities() on the pushed-back entity. This is kludge-y, but is completely okay to do, because unlike other entities, crewmate entities never change their state or have any side-effects from double-evaluation, meaning calling updateentities() on them is idempotent and it's okay to call their updateentities() more than once. This does have the slight danger that if the states of crewmates were to change in the future to no longer be idempotent, this would end up resulting in a somewhat hard-to-track-down double-evaluation bug, but it's worth taking that risk. This fix is not applied to entity 14 (the supercrewmate) because it is possible that calling updateentities() on it will immediately remove the entity, which is not idempotent (it's changing the state of something outside the object). Supercrewmates are a bit difficult to work with outside of the main game anyways, and if you spawn them you could probably just use the changedir() script command to fix their direction, so I'm not inclined to fix this for them anyway. |
||
---|---|---|
.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).