mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
No description
d19a6cc437
This fixes a "root cause" bug (that's existed since 2.2 and below) where recreated surfaces wouldn't preserve the blend mode of their original surface. The surface-level (pun genuinely unintended) bug that this root bug fixes is the one where there's no background to the room name during the map menu animation in Flip Mode. This is because the room name background relies on graphics.backBuffer being filled with complete black. This is achieved by a call to ClearSurface() - however, ClearSurface() actually fills it with transparent black (this is not a regression; in 2.2 and previous, this was an "inlined" FillRect(backBuffer, 0x00000000)). This would be okay, and indeed the room name background renders fine in unflipped mode - but it suddenly breaks in Flip Mode. Why? Because backBuffer gets fed through FlipSurfaceVerticle(), and FlipSurfaceVerticle() creates a temporary surface with the same dimensions and color masks as backBuffer - it, however, does NOT create it with the same blend mode, and kind of sort of just forgets that the original was SDL_BLENDMODE_NONE; the new surface is SDL_BLENDMODE_BLEND. Thus, transparency applies on the new surface, and instead of the room name being drawn against black, it gets drawn against transparency. |
||
---|---|---|
.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).