mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-11-05 02:39:41 +01:00
No description
7c18123327
In order to let callers provide their OWN callback functions through the callback function WE provide to PhysFS, we casted the function pointer to a void pointer. Unfortunately, this is apparently undefined behavior... if your compiler doesn't have an extension for it. And most compilers on most architectures do. (In fact compilers on POSIX systems most certainly have it due to dlsym() returning a void* which could actually be a pointer to a function sometimes.) But imo, it's better to be safe than sorry in this regard. Especially when given GCC's approach to optimizing int + 100 > int (spoilers: they remove it entirely! It's faster, but also broken!). I've decided to wrap it in a struct. And as a nice side effect, if we ever need more data to be passed through... well we already have this struct. Technically, it's also standards-compliant to cast a _pointer to_ a function pointer to a void pointer. But that extra layer of pointer indirection would get real confusing to conceptualize real fast (or at least is more confusing than just putting it in a struct). |
||
---|---|---|
.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).