1
0
Fork 0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-12-22 09:39:43 +01:00
VVVVVV/desktop_version
Misa 16d75d2da8 Disable state locking if inc'ing state w/ ACTION
This fixes a bug report from Elomavi that you could still softlock from
warping to ship and incrementing the gamestate by pressing ACTION, which
is diverging behavior from how it was in 2.3. Warping to ship and
incrementing by pressing ACTION is useful behavior for a couple niche
speedrun categories.

I had already fixed this earlier by ignoring state locking if
glitchrunner 2.2 or 2.0 was enabled, but softlocks could still happen
because having glitchrunner mode off still enabled you to increment the
gamestate when otherwise unintended. Softlocks shouldn't happen.

But without removing state locking entirely, I've chosen a middle ground
where it will only be disabled if you press ACTION. That signifies
intent that you still want to perform state incrementing glitches even
with glitchrunner mode off (but in the future it could be considered a
2.3/2.4 glitch that could be patched and made re-enable-able). That way,
casual players can't interrupt the warp to ship by accident (unless they
accidentally press ACTION) while softlocks will be removed.
2024-05-25 23:34:03 -07:00
..
fonts Add support for GameCube glyphs. 2024-01-18 00:10:20 -05:00
lang whoops 2024-02-09 13:48:11 +01:00
src Disable state locking if inc'ing state w/ ACTION 2024-05-25 23:34:03 -07:00
VVVVVV-android Android: Update README.md for Maven package 2023-11-14 17:29:34 -08:00
.dockerignore Run CI on CentOS 7 (#574) 2021-01-11 00:30:15 -05:00
.gitignore Optimize recompilation from changing commit hash 2022-08-23 00:00:38 -07:00
CMakeLists.txt Add MSVC version check 2024-03-29 20:31:00 -07:00
CONTRIBUTORS.txt CONTRIBUTORS.txt: leo60228 -> leo vriska 2024-05-21 20:57:19 -07:00
Dockerfile Update to SDL 2.24.0 2022-08-21 16:07:51 -07:00
fixupMac.sh Remove SDL2_mixer line from fixupMac.sh 2022-03-29 02:27:15 -04:00
icon.ico Updated .ico 2021-09-03 15:57:16 -04:00
icon.rc Embedded .ico 2021-08-28 11:21:49 -04:00
README.md README: Add step for compiling 2024-01-22 00:18:20 -08:00
TRANSLATORS.txt added Ivan Lopes and Lucas Nunes to credits 2024-02-02 17:37:23 +01:00
version.cmake Fix %cs showing instead of commit date on Windows (or older git?) 2023-11-13 14:42:48 -08:00

How to Build

VVVVVV's official desktop versions are built with the following environments:

  • Windows: Visual Studio 2010
  • macOS: Xcode CLT, currently targeting 10.9 SDK
  • GNU/Linux: CentOS 7

The engine depends solely on SDL2 2.24.0+. All other dependencies are statically linked into the engine. The development libraries for Windows can be downloaded from SDL's website, Linux developers can find the dev libraries from their respective repositories, and macOS developers should compile and install from source. (If you're on Ubuntu and your Ubuntu is too old to have this SDL version, then see here for workarounds.)

Since VVVVVV 2.4, git submodules are used for the third party libraries. After cloning, run git submodule update --init to set all of these up. You can also use this command whenever the submodules need to be updated.

Steamworks support is included and the DLL is loaded dynamically, you do not need the SDK headers and there is no special Steam or non-Steam version. The current implementation has been tested with Steamworks SDK v1.46.

To build the Make and Play edition of the game, uncomment #define MAKEANDPLAY in MakeAndPlay.h.

To generate the projects on Windows:

# Put your SDL2 folders somewhere nice!
mkdir build
cd build
cmake -A Win32 -G "Visual Studio 10 2010" .. -DSDL2_INCLUDE_DIRS="C:\SDL2-2.24.0\include" -DSDL2_LIBRARIES="C:\SDL2-2.24.0\lib\x86\SDL2;C:\SDL2-2.24.0\lib\x86\SDL2main"

Then to compile the game, open the solution and click Build.

For more detailed information and troubleshooting, see the Compiling VVVVVV Guide on the Viki.

To generate everywhere else:

mkdir build
cd build
cmake ..

Then to compile the game, type make.

Including data.zip

You'll need the data.zip file from VVVVVV to actually run the game! You can grab it from your copy of the game, or you can just download it for free from the Make and Play page. Put this file next to your executable and the game should run.

This is intended for personal use only - our license doesn't allow you to actually distribute this data.zip file with your own forks without getting permission from us first. See LICENSE.md for more details.