Commit graph

2391 commits

Author SHA1 Message Date
Clownacy
b06e1e1312 Remove old junk 2020-04-17 23:48:40 +01:00
Clownacy
051d12f434 Stop shouldn't rewind the sound
According to the DirectSound docs, stop doesn't rewind.

https://docs.microsoft.com/en-us/previous-versions/ms817375%28v%3dmsdn.10%29
2020-04-17 23:47:45 +01:00
Clownacy
5bcc0ec393 New way to allocate Wii U voices
The previous method wasn't good enough: we were still maxing-out at
96 (did the Decaf devs misread that as hex? Is that why the
emulator's limit is 150 instead?).

Anyway, this new solution is a little brutish, but I can't think of
anything else that would work: right now, I have the Organya thread
constantly polling a linked-list of the currently-loaded sounds, and
checking if their voices have finished playing or not. If they've
finished, they get freed.

When AudioBackend_PlaySound is called, if checks if the sound's voice
has been freed or not, and reallocates it if it has.

There doesn't seem to be a noticable overhead to this, and it keeps
the number of currently-allocated voices *very* low (from 10 to 20 on
average).
2020-04-17 23:43:17 +01:00
Clownacy
617f7a25d4 Wii U video tweaks and fixes 2020-04-17 23:42:18 +01:00
Clownacy
b123e3743e Clean-up the weird buggy code
I'mma just assume each sound needs their struct preserving for some
reason.
2020-04-17 21:48:34 +01:00
Gabriel Ravier
8f4ef85cf8 CMakeLists: Add CMake 3.8 support
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-17 19:48:12 +02:00
Clownacy
db14899b3e Try to fix Wii U audio hang part 2
I encountered a hang earlier, so the previous attempt obviously
didn't work.
2020-04-17 18:34:26 +01:00
Clownacy
670f49db77 Optimise Wii U video code a little 2020-04-17 18:07:54 +01:00
Clownacy
76e7a6f857 Revert some suspicious code
I'm getting some rare audio hangs. I tried doing some
regression-testing, but it's so random that I'm getting anomalous
results. That said, there were suspicious results around this change
(and also the way `mix_data` is initialised/cleared), so I'm
reverting this for now, and restoring it next time I encounter a
hang.
2020-04-17 16:58:07 +01:00
Clownacy
c2a857d4f5 Flush the screen buffer on Wii U
Weird cache stuff I don't know
2020-04-17 15:51:27 +01:00
Clownacy
d025fecf54 Minor cleanup 2020-04-17 15:47:56 +01:00
Clownacy
274de9e0f9 Replace Liberation Mono with DejaVu Sans Mono
Looks better at 320x240
2020-04-17 14:18:32 +01:00
Clownacy
93ad3ae7c5 Make font look better at 320x240
This restores some vanilla logic, where at 320x240, the font would
use a slightly larger size, in order to not look terrible.
2020-04-17 14:16:49 +01:00
Clownacy
24bcbb8dfd Upscale 320x240 to 640x480 on the Wii U
For performance reasons, I'm going to switch to 320x240 for Wii U
builds.
2020-04-17 14:15:59 +01:00
Clownacy
a177f44b88 Clean up Wii U audio backend 2020-04-17 14:15:23 +01:00
Gabriel Ravier
e05fef85fa CMakeLists: Forgot I wasn't in Vim
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-17 12:22:59 +02:00
Gabriel Ravier
4b10fc28b4 CMakeLists: Add CMake 3.5.1 support
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-17 12:22:36 +02:00
Clownacy
9eacc74ee2 Got music working on Wii U! 2020-04-17 01:47:23 +01:00
Clownacy
edc9299007 Fix the game using too many Wii U voices
Now it just allocates channels on-demand, rather than ahead-of-time.
2020-04-16 22:42:33 +01:00
Clownacy
a7ebdb75e5 Added unfinished Wii U audio backend
Currently doesn't produce sound unless you stop Organya from calling
AudioBackend_CreateSound, because it exhausts the Wii U's 150-sound
pool before the SFX get any of them.
2020-04-16 22:19:00 +01:00
Clownacy
1898633602 Found a name for nameless_flag! 2020-04-16 15:28:57 +01:00
Clownacy
ff45da6a0e Mark a static function as static
Both the Linux and Mac debug data indicate this is static (they both
prefix static function names with an extra underscore)
2020-04-16 14:45:08 +01:00
Clownacy
8f49276d5e Note some not-so-authentic variable names 2020-04-16 14:44:53 +01:00
Clownacy
4c910dbee6 Correct variable name
I must have guessed this one, and not left a comment saying it was
fake... dammit.
2020-04-16 13:52:00 +01:00
Clownacy
8a9f70875c More authentic variable/function names 2020-04-16 13:48:36 +01:00
Clownacy
47740fe88d Note some weird code 2020-04-16 13:47:17 +01:00
Clownacy
b83b7f25fc Found the real name for DummiedOutLogFunction..? 2020-04-16 13:47:17 +01:00
Clownacy
b8c0581ee4 Found the original Config.cpp variable names
Thank you, Mac port...
2020-04-16 13:47:17 +01:00
Gabriel Ravier
99d4a6fbd4 CMakeLists: Added support for CMake 3.10.2
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-16 11:20:53 +02:00
Gabriel Ravier
90476c3a3e CMakeLists: Change minimum CMake version from 3.12 to 3.10.2
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-16 10:25:48 +02:00
Clownacy
6e3d90d3d1
Merge pull request #112 from GabrielRavier/accurateFixCrossBuild
Fix build for mingw cross-compilation
2020-04-15 23:31:07 +01:00
Gabriel Ravier
181ecc3ec2 CMakeLists: Reverted random comment change from 593315eb
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-16 00:29:43 +02:00
Gabriel Ravier
593315eb53 CMakeLists: Made build work for cross-compile with mingw
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2020-04-16 00:11:03 +02:00
Clownacy
6bd4e89f9d Update readme 2020-04-15 22:12:58 +01:00
Clownacy
c38a8aa857 Read files from SD/CSE2-portable on Wii U 2020-04-15 22:12:41 +01:00
Clownacy
763e4a9986 Vertically center screen on Wii U 2020-04-15 22:10:40 +01:00
Clownacy
a983417771 Update Wii U backend 2020-04-15 22:03:59 +01:00
Clownacy
be0c61018b Update SDL2 backend 2020-04-15 22:01:27 +01:00
Clownacy
8524d1e349 Change software renderer backend API 2020-04-15 21:59:23 +01:00
Clownacy
7ca33677f8 Remove some old junk 2020-04-15 21:52:13 +01:00
Clownacy
f2a82d09bd Remove unneeded #include 2020-04-15 20:37:10 +01:00
Clownacy
d7733004d0 Correct a BOOL 2020-04-15 20:32:49 +01:00
Clownacy
0653c20ba4 Merge branch 'accurate' into portable 2020-04-15 20:03:59 +01:00
Clownacy
624adbdab8 Remove junk widescreen code
This doesn't belong in here. Also, this code was overhauled in the
enhanced branch, so this version is useless.
2020-04-15 19:59:13 +01:00
Clownacy
c93ed6a014 Comment-out unused #include 2020-04-15 18:42:02 +01:00
Clownacy
3ffe5a083e Use fixed-size texture format
I recall reading that you should prefer these over the non-fixed size
2020-04-15 16:59:54 +01:00
Clownacy
073e62de46 Software renderer tweaks 2020-04-15 16:57:05 +01:00
Clownacy
aee4ce0866 Merge branch 'accurate' into portable 2020-04-15 03:16:27 +01:00
Clownacy
3a72dd6bee Add Wii U compilation instructions to readme 2020-04-15 02:38:38 +01:00
Clownacy
d9f62453a6 Remove a dead function prototype 2020-04-15 02:20:59 +01:00