mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 09:28:15 +03:00
ca0bfcfa806ff91883d2e8978b122ee34716d62e
In `editor.cpp`, there's a few sections of code that try and index stuff using `string.length()-1`. This causes issues where if the string is empty, the result is -1, causing undefined behavior. Flibit fixed a few of these cases, like on line `375` of editor.cpp: `if((int) tstring.length() - 1 >= 0) // FIXME: This is sketchy. -flibit` It turns out that one of these weren't caught, over at line `471`. `tstring=tstring[tstring.length()-1];` This causes builds compiled on Windows to segfault if you load more than one level in the editor. I added a quick `if` around it, setting `tstring` to an empty string, which seems to fix the problem.
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).
Description
Languages
ActionScript
54.4%
C++
44.3%
C
0.7%
Java
0.4%
CMake
0.2%