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
Clownacy
0faf06224f
Added a bugfix for font creation
...
Fixes Japanese builds using the wrong charset on non-Japanese Windows
installations, and fixed the font using antialiasing, causing it to
clash with the game's colour-keying.
2019-09-01 20:30:26 +01:00
Clownacy
ea489f9063
Added a bugfix for OpenVolumeConfiguration
...
Now it works on newer versions of Windows
2019-09-01 20:20:54 +01:00
Clownacy
2b78821786
Add an option to re-enable the Debug Save feature
...
This includes the ability to drag-and-drop save files onto the game
window, which this feature was likely meant to be used with.
2019-09-01 19:55:54 +01:00
Clownacy
8892dc24b5
ASM-accurate Main.cpp and added the various Windows menus
2019-09-01 18:15:12 +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
f956eb9264
Mostly ASM-accurate Draw.cpp
...
See #74
2019-08-31 17:43:45 +01:00
Clownacy
03e513365b
PATH_LENGTH is actually Windows's MAX_PATH
...
When MAX_PATH isn't available, use FILENAME_MAX. This might be a bad
idea.
2019-08-31 01:44:53 +01:00