1
0
Fork 0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-11-13 06:29:41 +01:00
Commit graph

884 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
acfc8c2861 Support symbolic links 2020-01-11 21:33:11 -05:00
Keith Stellyes
9af73a27f7 UtilityClass::number impl a bit cleaner 2020-01-11 20:17:15 -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
Rémi Verschelde
a83e83ca1b Fix warnings raised by GCC 8 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
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
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
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
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
525e868399 Correct "seperately" to "separately" 2020-01-10 20:46:25 -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
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
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
Moonchild
19339af706 avoid segfault with bad, missing, or corrupted audio 2020-01-10 14:56:21 -07:00
Christoph Böhmwalder
3a961310ca actually return an error when data.zip is missing
We should return an error code when we can't find data.zip, just letting
the program crash is a little crude.
2020-01-10 16:21:32 -05:00
Ethan Lee
3b66877287 Extra newline in data.zip message 2020-01-10 14:00:45 -05:00
Ethan Lee
ec51ee7016 Messagebox on missing data.zip 2020-01-10 13:59:34 -05:00
Ethan Lee
f7c0321b71 Hello WWWWWWorld! 2020-01-08 10:37:50 -05:00