mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 10:09:43 +01:00
No description
9001a68833
The command-line argument parsing code has a lot of copy-paste. This copy-paste would get even worse if I added safety checks to make sure you couldn't index argv out-of-bounds by having an argument like `-renderer` without having anything after it, i.e. you'd be doing the command `./VVVVVV -renderer`. Previously, only the playtest arguments (apart from the recently-added `playassets`) had this safety check, but the message it printed whenever the safety check failed was always "-playing option requires one argument" regardless of whatever argument actually failed to be parsed. So I fixed it so that all arguments actually output the correct corresponding failed argument instead. Also, `strcmp(argv[i], <name>) == 0` is really kind of noisy, even if you understand what it does perfectly well. So I refactored it with a bunch of macros. ARG() just does the strcmp() char* comparison, and ARG_INNER() does the safety check and returns 1, along with printing a message, if the safety check fails. |
||
---|---|---|
.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).