mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2025-01-08 18:09:45 +01:00
No description
91339c77db
This refactors them to not allocate a temporary surface by instead simply drawing directly to the destination surface. This means re-implementing the original semantics of SDL_BlitSurface in them, which is the function signature they (and BlitSurfaceStandard) were based off of. So now if src_rect or dest_rect are NULL, it automatically uses a rect of the entirety of the corresponding surface, and other things like that. And also some other optimizations like no-opping if the alpha is 0 (because then nothing will be drawn), and critical checks (not drawing if the destination pixel is out of bounds, because then otherwise it would wrap around, or at least that's what it did when I tested it). This resulted in a bunch of code that would really suck to copy-paste because then you'd have to remember to update the other copy, so I refactored them further and put the common code into one function, while separating the different code (the exact transformation they do) into different functions that get passed in through function pointers. |
||
---|---|---|
.github | ||
desktop_version | ||
mobile_version | ||
third_party | ||
tools | ||
.gitattributes | ||
.gitmodules | ||
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).