Commit graph

65 commits

Author SHA1 Message Date
Clownacy
788697dc5d Fix a possible hang in the audio mixer
It was likely a race condition between the game thread writing to
'organya_timer', and the audio thread reading it.

...I really need to rethink the API for this Organya-synchronisation
thing.
2020-01-29 23:21:27 +00:00
Clownacy
78b41a5ced Merge branch 'accurate' into portable 2020-01-23 01:50:42 +00:00
Clownacy
0237844e14 Actually, this fix doesn't seem right 2020-01-23 01:50:03 +00:00
Clownacy
e8edc42d07 Merge branch 'accurate' into portable 2020-01-23 01:37:03 +00:00
Clownacy
4091d152ee Minor style tweak 2020-01-23 01:36:19 +00:00
Clownacy
a65c4bc1e3 Added bugfix to Organya 2020-01-23 01:34:55 +00:00
Clownacy
242aa05920 Remove some whitespace 2020-01-09 05:43:05 +00:00
Clownacy
406087bebb Added a missing #include in Organya.cpp 2020-01-08 13:34:54 +00:00
Clownacy
9cbaa0be00 Merge branch 'accurate' into portable 2020-01-08 13:16:21 +00:00
Clownacy
5abf8a8878 More-accurate Organya.cpp variable arrangement
Also found some authentic variable names
2020-01-07 21:38:34 +00:00
Clownacy
0ec5d85d56 Merge branch 'accurate' into portable 2019-11-17 18:30:44 +00:00
Clownacy
5987a5a8d7 Clean-up Organya.cpp 2019-11-14 01:55:28 +00:00
Clownacy
531a6a0aeb Merge branch 'accurate' into portable 2019-11-10 12:17:40 +00:00
Gabriel Ravier
f840be28c7 Added better comment for random self-assign in Fade.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-11-09 23:37:10 +01:00
Clownacy
63858fc31e Add a TODO 2019-10-10 19:28:05 +00:00
Clownacy
69292f99f6 Add a new bugfix 2019-09-12 14:50:06 +00:00
Clownacy
88f22510ee Fix crash when AudioBackend_Init fails
Similar checks existed in the original code (see the accurate
branch), but they were removed in the Organya source code release, so
I figured they were useless. Turns out they're not.

Fixes #48.
2019-09-10 17:59:54 +00:00
Clownacy
0907027a82 Merge branch 'accurate' into portable 2019-09-06 19:30:23 +00:00
Clownacy
d0b17cd406 Fix crash when quitting the game 2019-09-06 19:27:14 +00:00
Clownacy
8114f88dd1 Shut up some build warnings 2019-09-06 15:21:43 +00:00
Clownacy
b6fccd509d Add a missing comment translation 2019-09-06 14:47:13 +00:00
Clownacy
0dc9bb6b1b Change the audio backend API again 2019-09-06 14:46:31 +00:00
Clownacy
2b4b57c6eb Merge branch 'accurate' into portable 2019-09-04 14:11:54 +00:00
Clownacy
7a5eb3993c Remove some FIX_BUGS things that aren't actually bugs
Code cleanup isn't within the scope of the project.
2019-09-04 13:57:22 +00:00
Clownacy
0424c3e275 More portability improvements
Now this actually compile on Linux, but it doesn't run.
2019-09-04 13:51:49 +00:00
Clownacy
a3bb651194 Change the audio backend API a little
AudioBackend_SetSoundPosition was very loosely-defined.
2019-09-04 03:16:33 +01:00
Clownacy
79759145c0 Merge branch 'accurate' into portable 2019-09-04 01:53:58 +01:00
Clownacy
987ecd5340 Apply a missing constant in Organya 2019-09-04 01:41:15 +01:00
Clownacy
6932e01650 Fix some horribly platform-dependant code in Organya 2019-09-04 01:37:15 +01:00
Clownacy
b553b0c2e9 Remove DWORD and BYTE
They're not as deeprooted as BOOL.
2019-09-04 01:10:54 +01:00
Clownacy
5ea356a3bd Weed out a lot of the Windows dependency
Storytime: Cucky's original SDL2 port work involved using SDL2's
threading API to emulate the original WinAPI threading.

I can't be assed with that stuff, so I used the same trick Cucky did
for the Wii port, and hooked Organya up to the SDL2 audio callback.
This actually opens up the possibility for perfectly-synchronised
Organya playback. By that I mean, instead of needing a super
low-latency audio callback, I can have the callback synchronise its
audio mixing with Organya itself. I haven't done it yet, I plan to
soon.
2019-09-04 00:28:23 +01:00
Clownacy
5a9492166d Restored the new SDL2 audio system
While I was at it, I overhauled the thing and found a bunch of
optimisations,
2019-09-03 22:29:57 +01:00
Clownacy
7ed6731e46 Merge branch 'accurate' into portable 2019-09-03 14:19:43 +01:00
Clownacy
8f1bc269f0 I might have found out why Sound.cpp uses DSBUFFERDESC1 2019-09-03 00:34:47 +01:00
Clownacy
1f3728c177 Restore the new resource file system 2019-09-02 23:32:19 +01:00
Clownacy
4dadefc7d4 Add a missing NULL 2019-09-02 20:02:25 +01:00
Clownacy
35344c5f4f Fixes
What is it with Pixel's official code, and relying on non-standard
stuff? Even his PxTone library had portability issues.
2019-09-02 02:02:25 +01:00
Clownacy
451945e80c Ripped out SDL2, and begun made WinMain ASM-accurate
Almost there... see #74.
2019-09-01 14:39:16 +01:00
Clownacy
d9043a7c49 Added Dialog.cpp
The filename is a total guess, but Microsoft's own word for these
menus is 'dialog', and these functions appear before the Draw.cpp
functions (the source files are linked alphabetically).
2019-08-31 00:22:07 +01:00
Clownacy
470c5d86d5 ASM-accurate Sound.cpp and Organya.cpp (except for one function) 2019-08-28 07:55:42 +01:00
Clownacy
e67c1e3640 Migrated to the native Windows resource file system 2019-08-27 23:59:57 +01:00
Clownacy
607bbfcef8 Remove some debug prints
I prefer to only print on error
2019-07-31 23:12:06 +00:00
Clownacy
3039e3b846 Link to the actual source code for Organya.cpp and Sound.cpp 2019-06-17 17:03:54 +00:00
Gabriel Ravier
a89d97846c
Fixed brace initilizers to not have spaces at the start and end
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 21:22:45 +02:00
Gabriel Ravier
473bd43ca7
Reformatted Organya.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 16:51:49 +02:00
Gabriel Ravier
3a80d8f4fb
Did initial sweep with regexes
Changed regex to "((//|\;)[^ \t\n]|(for|while|if|while|do|void|int|bool)\((for|while|if|while|do)\ \(.*\)\;|\(\ |\ \)|//\ [a-z]|\ \ )|break;\n[\t]*[^\n\t\}(\/\/ Fallthrough]|[^\t\n]\{[^\n]|[^\n\t]\}[^\n]|\,[^\ ]"

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 16:49:32 +02:00
Clownacy
c80b593a3f Some #include fixes
Finally figured out how to get include-what-you-use working
2019-06-06 18:44:28 +00:00
Clownacy
d2b5872c95 Weeded out some bool usage
Cave Story was written in C89. No bools. I've left in Sound.cpp's
though, since that's written in C++98 currently.
2019-05-24 10:07:30 +01:00
Clownacy
676ee004fe Removed the dependency on stdint.h
This doesn't exist in MSVC2003, and nothing in the Linux port's debug
symbols indicate Pixel used it.
2019-05-13 15:18:33 +01:00
Clownacy
db96e7de94 Useless #include 2019-05-09 18:46:41 +01:00