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
Ethan Lee
9758290cf3
Add support for multiple Network backends, stub in GOGNetwork
2020-01-13 11:15:22 -05: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
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
Ethan Lee
ec23e4a540
Make sure all PhysFS calls are after init!
2020-01-12 10:52:42 -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
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
Ethan Lee
f4767ce18b
Merge pull request #35 from charliebruce/quick-fixes
...
Quick fixes
2020-01-11 00:35:46 -05:00