Commit Graph
100 Commits
Author SHA1 Message Date
Ethan Lee b619f38086 Fix Switch button glyphs being double swapped 2024-01-10 09:02:09 -05:00
Ethan Lee 07d4bdbc14 Update PhysicsFS to 3.2.0 2024-01-10 08:55:59 -05:00
Ethan Lee 148b518745 Steam now shares device info with SDL! 2023-12-20 23:17:28 -05:00
Ethan Lee 2d1009e815 Add "type:" override check for virtual Sony gamepads.
Fixes #1056
2023-12-01 12:08:26 -05:00
Ethan Lee 8426e0930d VS2010 buildfixes.
The main issue was mostly that we have to build C files as C++ in some
cases, and extern "C" wasn't being used everywhere, so linker errors
popped up. The rest is the usual tedious VS2010 stuff like casting void*
to other stuff, so this commit as a whole is pretty boring!
2023-11-27 12:09:42 -05:00
Ethan Lee c881f621a3 Handle WiiU/Switch GameCube adapter product ID 2023-09-06 09:56:49 -04:00
Ethan Lee 68b6bd07ba Add 8BitDo wireless Xbox product ID to detector 2023-08-28 11:25:17 -04:00
Ethan Lee c44e8d056a Fix glyphs for 8BitDo Ultimate Wired Controller for Xbox 2023-08-24 09:58:22 -04:00
Ethan Lee 7b40a052ed Controller layout detection 2023-08-22 15:34:03 -04:00
Ethan Lee f88ed0dc1b Remove SDL2_mixer dependencies from Dockerfile 2022-03-29 02:27:58 -04:00
Ethan Lee 8980b2e546 Remove SDL2_mixer line from fixupMac.sh 2022-03-29 02:27:15 -04:00
Ethan Lee b3f645d84c README: Minor adjustments to dependencies text 2022-03-24 19:28:03 -04:00
Ethan Lee 84f9bb6dd6 Point to SDL_LoadWAV for SoundTrack FAudio suggestion 2022-01-15 01:02:24 -05:00
Ethan Lee 3b18a475dd Move MusicTrack below SoundTrack.
It's very likely that MusicTrack will be pulling from the SoundTrack FAudio
context, so make it so forward declarations are unnecessary.
2022-01-14 17:24:22 -05:00
Ethan Lee adcabb9483 Add notes for FAudio implementation 2022-01-14 17:11:16 -05:00
Ethan Lee 5202b80a3d Remove unused m_isValid value from MusicTrack 2022-01-14 16:56:00 -05:00
Ethan Lee d36741fa07 Move the Mix_OpenAudio call to SoundTrack, from MusicTrack.
In hindsight, the FAudio pointer will likely be in SoundTrack since we will
want to keep the mastering voice closer to the sounds and their source voice
arrays, while the MusicTrack will likely just be one source voice that gets
PCM from different streams.
2022-01-14 16:52:52 -05:00
Ethan Lee df618e6d22 Isolate all SDL_mixer references to SoundTrack/MusicTrack.
This looks redundant but will actually help in the transition to FAudio; we
mostly want to keep the game logic the same while reimplementing the current
mixer, weirdness and all. Once that's done and confirmed to be stable and
consistent we can start cutting out the workarounds and quirks.
2022-01-14 16:46:04 -05:00
Ethan Lee 81aa02e29b SDL_mixer is now entirely contained in Music.cpp.
This meant making the track vectors static, but that's kind of what we do with musicclass anyway?

In any case, this will make the transition to FAudio MUCH less invasive.
2021-12-26 08:57:38 -05:00
Ethan Lee 1eda3647ff Move the mute logic to musicclass.
This moves the last of the SDL_mixer calls to Music.cpp.
2021-12-26 08:48:23 -05:00
Ethan Lee 579f0f763a Update docs for MusicTrack/SoundTrack 2021-12-26 08:41:57 -05:00
Ethan Lee 230859f8f9 Inline SoundSystem into musicclass constructor 2021-12-26 08:41:01 -05:00
Ethan Lee c87f0e1a0c Consolidate SoundSystem into Music.
It's just some small wrappers, and SoundSystem can be inlined trivially.
2021-12-26 08:38:19 -05:00
Ethan Lee f723e03871 Remove unused MusicTrack constructor.
This wouldn't work anyway since music would need to be loaded via physfs.
2021-12-26 08:31:40 -05:00
Ethan Lee aba3a8ee9d Updated .ico 2021-09-03 15:57:16 -04:00
Ethan Lee ac0644a70a Added my quick script to fixup Mac dylib paths 2021-09-01 12:07:57 -04:00
Ethan Lee 342dfcb48d Minor VS buildfix 2021-08-31 19:07:24 -04:00
Ethan Lee 8ebf8a21e4 Default to VSync being enabled 2021-08-31 15:08:46 -04:00
Ethan Lee fe1c8d3336 Embedded .ico 2021-08-28 11:21:49 -04:00
Ethan Lee 12e8924efc Similar to unmountAssets, avoid printing a message when custom assets don't exist 2021-08-18 16:26:13 -04:00
Ethan Lee d50367ac62 When custom assets aren't mounted, unmount should be quiet 2021-08-18 11:02:45 -04:00
Ethan Lee ea74b93f38 Fix loading levels that are... uh, just levels. 2021-08-18 11:00:26 -04:00
Ethan Lee 4154066c26 Reduce memory footprint in FILESYSTEM_mountAssets 2021-08-18 10:59:50 -04:00
Ethan Lee 43e8d31aa9 Music: Enforce the quick fade time as soon as we know it's happening.
Not every music path will trip the quick_fade bool that resets the timer to
500ms, so we need to do this as soon as it's asked of us. This fixes the fade
when quitting to the main menu.

Fixes #764
2021-06-14 15:11:39 -04:00
Ethan Lee 8520533296 Music: Reset step_ms on every fade call.
Without this you end up with two problems:
- Fades will start past their fade time, causing it to just not fade at all
- Fades will start in the middle of their fade time, causing dramatic changes
  in volume that are unintentional

The fade system already preserves the volume that music is playing during a
previous fade, so we can always reset the timer and get a good result.

Part of #764
2021-06-14 15:09:23 -04:00
Ethan Lee 73c1c9a798 Revert "Change final stretch song to Piercing the Sky"
Upon further discussion it was decided to keep the soundtrack as originally
shipped, instead of changing it after the fact.

This reverts commit cf51379097.
2021-05-20 23:01:43 -04:00
Ethan Lee aa5c2d9dc2 Move first CreateDirectory to getOSDirectory, avoids redundancy on non-Win32 2021-04-11 11:55:35 -04:00
Ethan Lee 2e630ce06c Forgot a 0... 2021-04-11 11:44:56 -04:00
Ethan Lee 2f0a0bce4c Revert to my old userdata folder creation code.
PhysFS requires a write dir to create a directory, so the first PHYSFS_mkdir
never could have worked. Because of that we need to go back to the old mkdir,
and since we're bringing that back we can reuse it for saves/levels, because we
know it works and we don't have to worry about middlewares ruining anything.
2021-04-11 11:32:29 -04:00
Ethan Lee aa97a5d6a1 Revert "Only migrate savedata if "saves" was created", need this for levels too
This reverts commit fcb09f85cb.
2021-04-11 11:26:11 -04:00
Ethan Lee fcb09f85cb Only migrate savedata if "saves" was created 2021-04-11 11:19:49 -04:00
Ethan Lee 5060b4dfe3 Only do focus fullscreen toggling on X11.
I haven't been able to reproduce this old thing on any setup I have. The patch
from 2013 was originally for X11, and Wayland's fullscreen doesn't allow for
this sort of thing, so let's start scoping this down for eventual removal when
X11 is finally out of our minds forever.
2021-04-05 11:07:32 -04:00
Ethan Lee 051fe9eba9 Skip the icon on Apple targets, it also has the icns 2021-03-31 02:50:38 -04:00
Ethan Lee b99abaf1d5 Put Misa at the top of GitHub Friends 2021-03-31 02:43:15 -04:00
Ethan Lee 4c4f8de0d5 Fix leaking GetBasePath result 2021-03-31 02:43:15 -04:00
Ethan Lee 9d2ebbc982 Re-sync CONTRIBUTORS and GitHub Friends lists 2021-03-30 23:08:25 -04:00
Ethan Lee b87f6e487a Use SDL_GetBashPath instead of PHYSFS_getBaseDir, latter is made of fail on macOS 2021-03-30 12:18:09 -04:00
Ethan Lee 076a870ba2 VS2010 buildfix 2021-03-30 11:51:42 -04:00
Ethan Lee 415d4790e2 Fix a crash on first unfocus 2021-03-21 17:19:08 -04:00
Ethan Lee 7abd4bb8d8 Visual Studio buildfix 2021-03-21 17:15:36 -04:00
Ethan Lee 47df6c9d66 Ignore resize events for unfocused windows 2021-02-14 22:51:07 -05:00
Ethan Lee 264279d17a Warning fix for uninitialized prefix 2020-07-15 12:11:23 -04:00
Ethan Lee b302e4dbbb Valgrind warning fix 2020-07-15 12:09:24 -04:00
Ethan Lee 5ff5ae7294 mmmmmm is initialized earlier in init() 2020-07-15 11:58:00 -04:00
Ethan Lee 11312976fc Fall back to default settings when screenbuffer is not present 2020-07-13 16:09:48 -04:00
Ethan Lee 82666a1875 Set both filter and vsync hints with override priority 2020-07-08 21:43:05 -04:00
Ethan Lee 2716296a10 Haiku: Keep the option visible, but note the bug 2020-07-08 14:43:04 -04:00
Ethan Lee 86fde7bf99 More VSync Haiku hackery 2020-07-08 14:38:55 -04:00
Ethan Lee d3f9a36941 Refactor startup to load config before calling Screen::init 2020-07-08 14:30:57 -04:00
Ethan Lee f8bb8cde32 HACK: Disable VSync option for Haiku 2020-07-08 14:06:45 -04:00
Ethan Lee c4853688b4 Separate mkdirs from path string generation 2020-07-02 15:57:40 -04:00
Ethan Lee c3e4e8589d Check saves dir in addition to levels dir for migration 2020-07-02 14:58:04 -04:00
Ethan Lee d057c6a348 PHYSFS_mkdir uses the mount location when a system is mounted 2020-07-02 14:56:59 -04:00
Ethan Lee ee610238b5 Try to preserve the script args for createentity when using default args 2020-07-02 14:34:21 -04:00
Ethan Lee 0f450f3e39 Move the VSync work to Screen.
The problem we're running into is entirely contained in the Screen - we need to
either decouple graphics context init from Screen::init or we need to take out
the screenbuffer interaction from loadstats (which I'm more in favor of since we
can just pull the config values and pass them to Screen::init later).
2020-07-02 00:19:40 -04:00
Ethan Lee 8e4be6112d Fix a couple spots where sizeof referred to array size 2020-07-01 00:46:55 -04:00
Ethan Lee 641277b430 Timing fixes for processVsync recreation workaround 2020-07-01 00:46:27 -04:00
Ethan Lee 708c8be089 NULL checks for processVsync 2020-07-01 00:36:04 -04:00
Ethan Lee ffe425a202 Copypaste error for s_besttimes 2020-07-01 00:31:41 -04:00
Ethan Lee 3d8f53cfd2 Fix memset writing past bestframes 2020-06-30 23:02:18 -04:00
Ethan Lee e85d5a8714 Merge pull request #326 from InfoTeddy/general-refactors
Refactor how custom level stats are stored, read, and written
2020-06-29 22:31:03 -04:00
Ethan Lee 38a42b484d Merge pull request #322 from Dav999-v/auto-center-menu
Make menus automatically centered and narrowed
2020-06-29 19:10:39 -04:00
Ethan Lee 9804fbc383 Fix gamecontrollerdb.txt path 2020-06-23 19:08:08 -04:00
Ethan Lee f0ec627628 Sigh. 2020-06-15 07:37:05 -04:00
Ethan Lee 3323b7e3cf Maybe check the right size m8 2020-06-14 22:44:34 -04:00
Ethan Lee bd71fb8a68 Disallow negative size values in BinaryBlob 2020-06-14 22:43:58 -04:00
Ethan Lee 4894639b3a valid needs to have either exactly 1 or 0 2020-06-14 22:40:57 -04:00
Ethan Lee 06a71bab18 Some sanity checks for BinaryBlob header data 2020-06-14 22:39:06 -04:00
Ethan Lee a15d01ad80 Fix fullscreen focus behavior 2020-06-13 10:35:05 -04:00
Ethan Lee 506628cef1 Revert "Fix unfocusing the game while in fullscreen mode"
This reverts commit c322ae131e.
2020-06-13 10:23:52 -04:00
Ethan Lee b2f842376b Avoid calling music.init on startup, reloadresources does this 2020-06-12 16:24:21 -04:00
Ethan Lee 8d652dc256 Like the thing I did but the opposite 2020-06-12 16:21:45 -04:00
Ethan Lee f815b1ee62 Replace mkdir with PHYSFS_mkdir 2020-06-12 16:20:18 -04:00
Ethan Lee 43f1204407 Whitespace consistency for FileSystemUtils 2020-05-31 19:43:24 -04:00
Ethan Lee 21b6c22195 Minor visual cleanup of reloadresources 2020-05-31 19:43:24 -04:00
Ethan Lee f422d02dcd Minor visual cleanup of endsWith 2020-05-31 19:43:21 -04:00
Ethan Lee f444e74550 Mention the in-game credits for the Legal Stuff 2020-04-24 12:52:11 -04:00
Ethan Lee ac7ee0e959 Check for GCC7 for implicit-fallthrough support 2020-04-23 15:32:34 -04:00
Ethan Lee 68bb84f90b Bools are hard... 2020-04-18 11:38:27 -04:00
Ethan Lee 6f26443783 Pull openDirectoryEnabled out of the openDirectory ifdefness 2020-04-18 11:37:28 -04:00
Ethan Lee 0531ee9b19 SDL_Init after FILESYSTEM_init, for gamecontrollerdb.txt 2020-02-19 12:44:36 -05:00
Ethan Lee 134a0f1070 Fix invincibility/slowdown cursor positions when exiting those menus 2020-01-17 22:14:29 -05:00
Ethan Lee 9eebbc542e Load gamecontrollerdb.txt if available 2020-01-17 12:43:42 -05:00
Ethan Lee 6e9712f113 Add text outline as an accessibility option 2020-01-17 12:37:53 -05:00
Ethan Lee 2aa4aa5f8a Integrate dynamic list sizes for credited patrons, add CONTRIBUTORS to credits
(Also added myself to the credits, only took 6 years to not be lazy about it)
2020-01-16 20:14:56 -05:00
Ethan Lee 8826f57cc2 macOS builds also require self-built Vorbisfile 2020-01-14 10:16:15 -05:00
Ethan Lee 6a0ee21082 Untested Haiku port? 2020-01-13 23:31:14 -05: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