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

897 commits

Author SHA1 Message Date
Info Teddy
17585c4602 Fix mute button not working at all
Whoops, looks like I forgot to test that I didn't break the mute button
completely in my previous pull request.
2020-01-13 23:15:24 -05:00
Info Teddy
fa075010c8 Fix being able to set lower custom level score
For reference, here is the list of scores for a custom level:
 0 - not played
 1 - finished
 2 - all trinkets
 3 - finished, all trinkets

Previously, you could've played a level and finished it and set a score
of 3. Then you could re-play the entire level, but manage to only get a
score of 1, i.e. only finished but not with all trinkets. Then your
score for that level would get set back to 1, which basically nullifies
the time you spent playing that level and getting all of the trinkets.

This commit makes it so your new score will get set only if it is higher
than the previous one.
2020-01-13 21:02:40 -05:00
Info Teddy
01ad6cf1a1 Disable muting in the script editor
This disables being able to press M to mute while editing a script in
the script editor. It also disables it in the script list, too, but I'm
hoping no one thinks that's an issue, because I personally don't think
it is.
2020-01-13 20:19:09 -05:00
Info Teddy
e0b80cf0b5 Don't deactive tele prompt when dying
This fixes a bug where if you died after activating a teleporter prompt
and then respawned in the same room as the teleporter, the teleporter
prompt would go away. Which would be very annoying if you wanted to, you
know, teleport.

You don't even have to R-press to make this happen. "Level Complete!"
and Energize are two teleporter rooms in the main game that have hazards
in them.

I see no reason to set game.activetele to false when dying. For one, it
gets set to false during a gotorom anyway. For another, I couldn't get
the game to activate the teleport prompt in a room without a teleporter
in my testing, mostly because when you touch a teleporter, your
checkpoint is set to that teleporter, so you can't R-press to go to
another room and carry over the teleport prompt.
2020-01-13 20:00:10 -05:00
Info Teddy
406e1b70d6 Re-add the font outline from the Flash/mobile versions
This uncomments the code for the font outline. Now, you will see the
font outline on text that had it in the Flash version, most notably "-
Press ENTER to Teleport -" and the time trial overlay text.

This also fixes a problem with the commented code, where un-centered
text didn't outline properly.
2020-01-13 16:22:26 -08:00
Info Teddy
b8e611a3bf Destroy duplicate player entities during gotoroom
The game makes sure that the player entity is never destroyed, but in
doing so, it doesn't destroy any duplicate player entities that might
have been created via strange means e.g. a custom level doing a
createentity with t=0.

Duplicate player entities are, in a sense, not the "real" player entity.
For one, they can take damage and die, but when they do they'll still be
stuck inside the hazard, which can result in a softlock. For another,
their position isn't updated when going between rooms. It's better to
just destroy them when we can.
2020-01-13 18:18:44 -05:00
Terry Cavanagh
8eeb6f419b
Updated link to Make and Play edition 2020-01-13 19:38:36 +01:00
Terry Cavanagh
5b4de5b065
Updated link to make and play edition 2020-01-13 19:38:16 +01:00
Terry Cavanagh
b4012c9731
Updated link to Make and Play edition 2020-01-13 19:37:50 +01:00
Ethan Lee
0c27ec8e58 int32_t > int 2020-01-13 11:27:16 -05:00
Ethan Lee
4b24206294 This is a wild guess but I think I assigned init at some point 2020-01-13 11:25:54 -05:00
Ethan Lee
c1fb67707d Loose typedef 2020-01-13 11:18:25 -05:00
Ethan Lee
9758290cf3 Add support for multiple Network backends, stub in GOGNetwork 2020-01-13 11:15:22 -05:00
Terry Cavanagh
8be05ca40f
Merge pull request #64 from AllisonFleischer/master
Fix a stray "seperate" in Secret Lab dialogue
2020-01-13 14:57:54 +01:00
Terry Cavanagh
edfe1206ba
Update License exceptions.md 2020-01-13 13:27:20 +01:00
Terry Cavanagh
21d3f0b79e
Added VVVVVV: Community Edition and VVVVVVwasm to License exceptions
Both projects can distribute the game's original assets, provided they compile with the makeandplay define set, and do not distribute the original levels.
2020-01-13 13:26:33 +01:00
Allison Fleischer
2d88a55845
Fix "seperate" in mobile version as well
oh god it's everywhere
2020-01-13 02:57:43 -08:00
Allison Fleischer
b5cb6cd5f4 Add self to CONTRIBUTORS 2020-01-13 00:59:12 -08:00
Allison Fleischer
0de8a9bdc7 Fix a stray "seperate"
tbh this word is very easy to misspell
2020-01-13 00:54:38 -08:00
Ethan Lee
6a7e848426 Add note about Windows .lib weirdness 2020-01-12 22:36:57 -05:00
Ethan Lee
a2824cfddc Ignore .gch files 2020-01-12 22:34:50 -05:00
Info Teddy
5419e822d8 Stop the game from freezing if we play a song during a fadeout (#61) 2020-01-12 22:33:58 -05:00
Info Teddy
c2ac1dc7d2 Add an accessibility option to toggle the fake loading screen (#63) 2020-01-12 20:45:44 -05:00
ePirat
bc64d027d2 Add CI
Co-authored-by: Charlie Bruce <charliebruce@gmail.com>
2020-01-12 19:22:07 -05:00
Terry Cavanagh
32e602946f
Create License exceptions.md 2020-01-12 22:58:51 +01:00
viri
0e61eb2f0b fix actionscript misclassified as angelscript 2020-01-12 15:18:45 -05:00
TerryCavanagh
8db7bd24a1 Adding original mapping tools for the sake of completeness 2020-01-12 19:49:24 +01:00
Ethan Lee
cc2b01d7c3 Adjust gitignore for new executable names 2020-01-12 12:57:30 -05:00
Ethan Lee
894675c512 Create third_party folder, note it in the license text 2020-01-12 12:54:34 -05:00
Marvin Scholz
f1f5acc552 Simplify initializations
This is similar to what was reverted in 3011911 but this time should use
syntax available even before C++11, tested on Clang with
`-std=c++98 -Wall -pedantic`.
2020-01-12 12:34:41 -05:00
Ethan Lee
ec23e4a540 Make sure all PhysFS calls are after init! 2020-01-12 10:52:42 -05:00
Info Teddy
3e9bd3aaac Fix scaling editor mouse coords properly in stretch mode
Now your cursor will properly align with the editor's cursor if you're
in stretch mode.

Closes #27.
2020-01-12 10:52:14 -05:00
Dav999-v
165882182b Add myself to CONTRIBUTORS
I've never given out my real name online, so I'll sort my username as a
last name. My personal preference would have been to sort the list by
first name instead of last name, since that'd be clearer, plus you
often recognize people by their first name rather than their last name.
2020-01-12 10:44:11 -05:00
Dav999-v
facc34d86c Replace 2 remaining TinyXml LoadFile()s by FILESYSTEM_loadTiXmlDocument 2020-01-12 10:44:11 -05:00
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