Clownacy
0dc9bb6b1b
Change the audio backend API again
2019-09-06 14:46:31 +00:00
Clownacy
d80adf9cc8
Comment on a bug in MakePixToneObject
2019-09-05 21:41:40 +00:00
Clownacy
46fdc08ecd
Fix PixTone sounds missing their ends
...
I was accidentally replicating a bug from the original code in the
wrong place. I should probably comment on that bug in the accurate
branch.
2019-09-05 21:39:38 +00:00
Clownacy
12f69e3c6c
Fix idling hogging 100% of a CPU core
...
This was me not converting the WinAPI code properly. Stupid me.
2019-09-05 21:07:30 +00:00
Clownacy
eabda30263
Merge branch 'accurate' into portable
2019-09-05 17:19:48 +01:00
Clownacy
7f7553bef2
An accuracy improvement in Triangle.cpp
...
This one's weird: it doesn't affect the actual generation of ASM in
the function, but rather it affects the ASM of sinf and cosf.
You see, sinf and cosf are static - they're built right into the EXE.
Since the previous code used cosf and sinf, they were embedded into
the EXE, and InitTriangleTable would call them directly.
However, this isn't what the original EXE does: instead,
InitTriangleTable calls an intermediary function, that in turn calls
the real cosf and sinf. Turns out this strange code generation is
caused by calling cos and sin instead of cosf and sinf, but still
using float parameters.
2019-09-05 17:04:07 +01:00
Clownacy
54b3cd9c11
Revert "Add the typos back to the stage table"
...
This reverts commit 5dd3a5dd2d
.
Obviously don't want these
2019-09-05 15:20:03 +01:00
Clownacy
8916ee7dd8
Merge branch 'accurate' into portable
2019-09-05 15:16:29 +01:00
Clownacy
3bac7674f4
Correct some WinAPI usage
...
All the broken stuff just happened to work on 32-bit, but would cause
MinGW-w64 to explode if you tried building as 64-bit.
I guess thanks to Microsoft keeping the basic C int types the same
size in 64-bit as they were in 32-bit, this branch compiles as 64-bit
just fine, despite Cave Story's many int-size dependencies.
2019-09-05 15:03:34 +01:00
Clownacy
5dd3a5dd2d
Add the typos back to the stage table
...
These were corrected in an earlier commit because they affect
portability.
2019-09-05 14:56:03 +01:00
Clownacy
5b5d5ae729
Revert "Restore the Windows-style path separators"
...
This reverts commit 42e1b36fd8
.
2019-09-05 14:19:17 +01:00
Clownacy
84c3cd825e
Merge branch 'accurate' into portable
2019-09-05 14:18:42 +01:00
Clownacy
42e1b36fd8
Restore the Windows-style path separators
2019-09-05 14:05:27 +01:00
Clownacy
ce055c12cb
Remove a now-unused function
2019-09-05 03:17:20 +00:00
Clownacy
22c967ca3a
Add a replication of MSVC2003's rand() algorithm
...
This actually affects how the game sounds. Seriously, listen to the
dialogue boxes. Now it matches the original.
2019-09-04 19:23:35 +00:00
Clownacy
e4fcf6a5e1
Fixed spacing for fonts that aren't Courier New
...
Previous, I used a godawful hack to emulate Windows' API, but it
seems this only ever worked for Courier New: with something like
Liberation Mono, it would squash the font. Now I'm just giving up on
it, and using actual font sizes rather than "cell" sizes.
I'm not sure if this is accurate the original EXE.
2019-09-04 19:21:51 +00:00
Clownacy
ae8aeae2ac
Restored the new font system
2019-09-04 15:43:28 +00:00
Clownacy
0be5e9ead8
Restored the window icon and custom cursor
2019-09-04 14:39:37 +00:00
Clownacy
6bb31bf868
Merge branch 'accurate' into portable
2019-09-04 14:14:40 +00:00
Clownacy
93029e8e2c
Fix incorrectly-ordered #include
2019-09-04 14:13:51 +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
0531a2c482
Remove the Windows-style path separators
...
There, *now* the game runs on Linux
2019-09-04 13:54:19 +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
dcf9921481
Move SystemTask from WindowsWrapper.h to Main.h
2019-09-04 02:23:49 +01:00
Clownacy
4e50046d4b
Remove WINDOWS and NONPORTABLE
...
Now that the portable stuff gets its own branch, these are unneeded
2019-09-04 02:14:15 +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
73e18b4610
Removed the WINDOWS and NONPORTABLE stuff
...
Now that all the ASM-accurate stuff is in its own branch, we don't
need these anymore.
2019-09-04 00:54:11 +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
8dce9c5aff
Add some missing code to the main function
...
This code was previously in WindowProc, which was replaced.
2019-09-03 00:43:05 +01:00
Clownacy
8f1bc269f0
I might have found out why Sound.cpp uses DSBUFFERDESC1
2019-09-03 00:34:47 +01:00
Clownacy
09b188ac29
Add a bugfix for a bizarre function call
2019-09-03 00:17:42 +01:00
Clownacy
1f3728c177
Restore the new resource file system
2019-09-02 23:32:19 +01:00
Clownacy
c00262bcd8
Restore the SDL2 joystick code
...
Modified to fit the original code better
2019-09-02 23:09:26 +01:00
Clownacy
fd855ee732
Restore the new renderers
2019-09-02 22:46:36 +01:00
Clownacy
ce33ada2c8
Fix window focus event handling
2019-09-02 22:28:21 +01:00
Clownacy
86f737802e
Merge branch 'accurate' into portable
2019-09-02 20:30:26 +01:00
Clownacy
bc262bd5e2
Explain some Shift-JIS
2019-09-02 20:28:41 +01:00
Clownacy
1301ea8797
Replace WinAPI with SDL2 as the windowing system
2019-09-02 20:17:06 +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
2a70cbe89a
Shut up a warning
...
The ASM is unaffected
2019-09-01 23:42:28 +01:00
Clownacy
d35c9cd09e
Deobfuscate WinMain, and make some accuracy improvements
2019-09-01 23:35:41 +01:00
Clownacy
46b48510a8
Remove File.cpp
2019-09-01 20:39:26 +01:00