1
0
Fork 0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-12-23 01:59:43 +01:00
Commit graph

2563 commits

Author SHA1 Message Date
Dav999-v
b884b7e4e9 Replace TiXmlDocument load and save functions by PHYSFS
The TinyXml functions to load and save files don't properly support
unicode file paths on Windows, so in order to support that properly, I
saw no other option than to do the actual loading and saving via PHYSFS
(or to use the Windows API on Windows and retain doc.LoadFile and
doc.SaveFile on other OSes, but that'd be more complicated and
unnecessary, we already have PHYSFS, right?).

There are two new functions in FileSystemUtils:
bool FILESYSTEM_saveTiXmlDocument(const char *name, TiXmlDocument *doc)
bool FILESYSTEM_loadTiXmlDocument(const char *name, TiXmlDocument *doc)

Any instances of doc.SaveFile(<FULL_PATH>) have been replaced by
FILESYSTEM_saveTiXmlDocument(<VVVVVV_FOLDER_PATH>, &doc), where
<FULL_PATH> included the full path to the saves or levels directory,
and <VVVVVV_FOLDER_PATH> only includes the path relative to the VVVVVV
directory.
When loading a document, a TiXmlDocument used to be created with a full
path in its constructor and doc.LoadFile() would then be called, now a
TiXmlDocument is constructed with no path name and
FILESYSTEM_loadTiXmlDocument(<VVVVVV_FOLDER_PATH>, &doc) is called.
2020-01-12 10:44:11 -05:00
Dav999-v
ddaa5e13c8 Use wide-char Windows API functions on Windows
There's now a thin layer of UTF-16 around the WinAPI functions to get
the path to the Documents folder and to create a new directory, so that
account usernames with non-ASCII characters do not result in no VVVVVV
folder being created or used.
2020-01-12 10:44:11 -05:00
Marvin Scholz
64fd50be6f Simplify std::vector initializations
Resizing the vector does the same thing that the loops did, it changes
the size for the vector and initializes it with default-constructed
elements (or 0 or its equivalent for POD types).

Where a specific value is needed, it is set with the second
parameter of resize().
2020-01-12 10:29:17 -05:00
Marvin Scholz
882da7de28 Use SDL_HasIntersection for UtilityClass::intersects 2020-01-12 10:25:22 -05:00
Ethan Lee
f85622b7e9 Fix warning emitted by GCC 4.8 2020-01-12 03:56:39 -05:00
Ethan Lee
57edcf8e27 Sneaky tabbing fix 2020-01-11 22:54:12 -05:00
leo60228
c928cf838e Add to CONTRIBUTORS.txt 2020-01-11 21:33:11 -05:00
leo60228
acfc8c2861 Support symbolic links 2020-01-11 21:33:11 -05:00
Keith Stellyes
018ecff8ee Add self to CONTRIBUTORS 2020-01-11 20:17:15 -05:00
Keith Stellyes
9af73a27f7 UtilityClass::number impl a bit cleaner 2020-01-11 20:17:15 -05:00
Wouter
84320d241e Add myself to the contributor list 2020-01-11 19:39:40 -05:00
Wouter
833b2fbf1d Fix Werror always being enabled 2020-01-11 19:39:40 -05:00
Ethan Lee
901de4166e Linux can use -devel, unless their distro is super old 2020-01-11 11:43:36 -05:00
Ethan Lee
ec070a1156 Use NULL instead of nullptr 2020-01-11 11:33:36 -05:00
Ethan Lee
4ef74e837a Invert the ifdef mess for getOSDirectory 2020-01-11 11:29:07 -05:00
Ethan Lee
a977f49725 Use RPATH for lib folder, use PHYSFS_getBaseDir on all platforms.
The next official VVVVVV build removes 32-bit Linux (like all my other games),
and I need to get rid of the shell script on macOS at some point, so this
basically brings it up to what my other games are doing. Plus, this probably
fixes a bug where someone tries to run their executable away from the root...
2020-01-11 11:23:49 -05:00
Marvin Scholz
1312c10d11 Do not hardcode default macOS SDK path
Doing this is not necessary as CMake already looks up the default one
correctly and in fact breaks whenever you have multiple Xcode versions
installed so Xcode is not called Xcode.app.
(And it does not respect the default Xcode set using xcode-select)

The behavior now is to respect CMAKE_OSX_SYSROOT if set by the
user on the command line. If it's not set, try to use the hardcoded
path to the 10.9 SDK if it's present. If not, warn about the fact
that a different SDK is used.
2020-01-11 09:02:27 -05:00
Rémi Verschelde
a83e83ca1b Fix warnings raised by GCC 8 2020-01-11 08:53:32 -05:00
Rémi Verschelde
d4ee5dec1a CMake: Add ENABLE_WARNINGS and ENABLE_WERROR build options
ENABLE_WARNINGS is enabled by default, with `-Wall` on GCC/Clang and
`/W4` on MSVC.

ENABLE_WERROR is disabled by default, treats warnings as errors.
2020-01-11 08:53:32 -05:00
Info Teddy
441955de5f Fix hardreset() not resetting all 100 slots in (custom)collect (#36) 2020-01-11 02:14:39 -05:00
Ethan Lee
f4767ce18b
Merge pull request #35 from charliebruce/quick-fixes
Quick fixes
2020-01-11 00:35:46 -05:00
Charlie
f0b931e02a
Merge branch 'master' into quick-fixes 2020-01-11 05:31:47 +00:00
Brian Callahan
8aebead754 Add OpenBSD support 2020-01-11 00:25:31 -05:00
Charlie Bruce
8595626eb1 Add myself to CONTRIBUTORS 2020-01-11 05:19:05 +00:00
Charlie Bruce
d6392ccbe3 Move PROJECT line after CMAKE_OSX_DEPLOYMENT_TARGET line
This is suggested by the documentation: https://cmake.org/cmake/help/latest/variable/CMAKE_OSX_DEPLOYMENT_TARGET.html
2020-01-11 05:18:29 +00:00
Charlie Bruce
1a6ce2617a On macOS, use default SDK if version 10.9 is not installed. 2020-01-11 05:18:29 +00:00
Charlie Bruce
3011911f80 Revert C++11 code to older standard for improved compatibility 2020-01-11 05:18:29 +00:00
Daniel Lee
66716fef37 small indentation correction to match surrounding code 2020-01-10 22:41:15 -05:00
Daniel Lee
98fe133228 CONTRIBUTORS: Add myself 2020-01-10 22:41:15 -05:00
Daniel Lee
4ebf7926f2 fix Victoria typo "scentists" in the Secret Lab 2020-01-10 22:41:15 -05:00
Daniel Lee
03205987f7 some small menu fixes
- Return in Unlock Play Modes goes to Game Options instead of the main menu
- changing some Graphics Options settings no longer plays two menu select sounds, which was really loud :(
- Return in Game Pad Options plays the menu select sound
- turning off Screen Effects plays the menu select sound
2020-01-10 22:41:15 -05:00
viri
669072f9bf add viri to CONTRIBUTORS.txt 2020-01-10 21:06:59 -05:00
viri
5829007bed fix uninitialized member vars everywhere
also fix a spelling error of 'forground' in the graphics class buffer
2020-01-10 21:06:59 -05:00
Elliott Saltar
fb41d93835 Add my name to the CONTRIBUTORS file (might want to change my GitHub username eventually...) 2020-01-10 20:46:25 -05:00
Elliott Saltar
525e868399 Correct "seperately" to "separately" 2020-01-10 20:46:25 -05:00
Ethan Lee
d83bd1e0eb
Wait, people other than me used this folder for real? 2020-01-10 20:02:02 -05:00
Marvin Scholz
eb7920ec47 Add workaround for missing macOS 10.9 SDK 2020-01-10 19:53:11 -05:00
Marvin Scholz
51b2420181 Add partial-availability error on macOS
When building on macOS targeting an older version than the version of
the SDK currently used, this prevents accidentally using APIs that are
too new (introduced in macOS versions newer than the deployment target).
2020-01-10 19:53:11 -05:00
Ethan Lee
eb6604aa74 CMake might get fussy about relative paths, just use C:\ for the example 2020-01-10 19:51:41 -05:00
Rémi Verschelde
7d95e3298b Add .gitignore with build artifacts and data.zip 2020-01-10 19:39:45 -05:00
Rémi Verschelde
a9b1ff737c FS: Use PHYSFS_getPrefDir on Linux/FreeBSD too
Follow-up to #19 which did the change for macOS.
It appears to work as expected on Linux too.

Tested on a distro where XDG_DATA_HOME is undefined by default,
and `PHYSFS_getPrefDir` also resolves to `~/.local/share/VVVVVV/`.
The first organization parameter is unused on Linux and macOS.
2020-01-10 18:57:11 -05:00
Marvin Scholz
2cfed68fcc CONTRIBUTORS: Add myself 2020-01-10 18:41:22 -05:00
Marvin Scholz
06c6de9433 Use PHYSFS_readBytes instead of deprecated PHYSFS_read 2020-01-10 18:41:22 -05:00
Marvin Scholz
5c9c7297ed Do not use deprecated PHYSFS_getUserDir on macOS
Instead use PHYSFS_getPrefDir which does the same than the manual
concatenation done before. The organization name argument is required
but is not used on macOS.
2020-01-10 18:41:22 -05:00
Moonchild
146cdde217 Hide mouse cursor in game window 2020-01-10 17:27:08 -05:00
Ethan Lee
cb3640e505 Merge for CONTRIBUTORS.txt 2020-01-10 17:11:00 -05:00
Emmanuel Vadot
0e1e4e0252 Add myself to the CONTRIBUTORS.txt file.
Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
2020-01-10 17:08:38 -05:00
Emmanuel Vadot
90decede25 FreeBSD: Add workaround for libsteam
Steam isn't supported on FreeBSD so add a workaround.

Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
2020-01-10 17:08:38 -05:00
Emmanuel Vadot
699d8c4590 FreeBSD: Use the same path as Linux
Since FreeBSD is unix based we also use the concept of $HOME.
Use the same include and code as Linux.

Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
2020-01-10 17:08:38 -05:00
Moonchild
f012f7c8b5 add myself to the contributors file, fix formatting 2020-01-10 15:07:29 -07:00