Commit graph

931 commits

Author SHA1 Message Date
Clownacy
d80adf9cc8 Comment on a bug in MakePixToneObject 2019-09-05 21:41:40 +00: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
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
42e1b36fd8 Restore the Windows-style path separators 2019-09-05 14:05:27 +01:00
Clownacy
93029e8e2c Fix incorrectly-ordered #include 2019-09-04 14:13:51 +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
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
987ecd5340 Apply a missing constant in Organya 2019-09-04 01:41:15 +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
bc262bd5e2 Explain some Shift-JIS 2019-09-02 20:28:41 +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
Clownacy
070e4b1455 Populate Dialog.h 2019-08-31 00:57:40 +01:00
Clownacy
da46ff8746 Merge branch 'master' into accurate 2019-08-31 00:26:34 +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
766f24188f Correct a header name
Windows isn't case-sensitive, but MinGW-w64 on Linux is.
2019-08-30 19:30:35 +00:00
Clownacy
2f56effc51 Accurate main function variable names 2019-08-29 20:19:31 +01:00
Clownacy
36291ebf36 Cleanup
Doesn't affect the generated ASM
2019-08-29 19:36:39 +01:00
Clownacy
d5ee5f6979 Made Input.cpp ASM-accurate
See #74
2019-08-29 19:27:56 +01:00
Clownacy
0af39741d4 Merge branch 'master' into accurate 2019-08-29 00:22:18 +01:00
Clownacy
9f81f9e080 Move MakeSurface_Generic to the correct place in Draw.cpp 2019-08-29 00:21:43 +01:00
Clownacy
142511a52c Cleanup 2019-08-29 00:05:41 +01:00
Clownacy
bbf2f197b5 Merge branch 'master' into accurate 2019-08-29 00:01:36 +01:00
Clownacy
a0b2e69a1f Rearranged some functions to match the original EXE 2019-08-29 00:00:57 +01:00
Clownacy
17ae81823c Fixes 2019-08-29 00:00:17 +01:00
Clownacy
34986ff049 Restore some commented-out code 2019-08-28 23:40:07 +01:00
Clownacy
6e30d329e6 Made Generic.cpp mostly ASM-accurate
See #74
2019-08-28 23:22:57 +01:00
Clownacy
0b697e557c Made Back.cpp almost ASM-accurate
See #74
2019-08-28 22:02:49 +01:00
Clownacy
8bce9ffc7a Cleanup 2019-08-28 17:40:43 +01:00
Clownacy
e738541afd Note an inaccuracy 2019-08-28 07:56:51 +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
6e68d605ee Merge branch 'master' into accurate 2019-08-27 16:11:57 +01:00
Clownacy
b6322d5e0f Make LoadBitmap take a pixel buffer instead of an SDL_RWops 2019-08-27 16:10:37 +01:00
Clownacy
c71996c203 Merge branch 'master' into accurate 2019-08-25 22:18:27 +01:00
Clownacy
66364275c2 Fix NONPORTABLE builds 2019-08-25 22:17:01 +01:00
Clownacy
868802baf1 Merge branch 'master' into accurate 2019-08-25 21:44:35 +01:00