Commit graph

987 commits

Author SHA1 Message Date
Clownacy
4d42842742
More readme work 2019-09-05 22:00:29 +00:00
Clownacy
d80adf9cc8 Comment on a bug in MakePixToneObject 2019-09-05 21:41:40 +00:00
Clownacy
7300157f54
Convert the Makefile setting list to a table 2019-09-05 19:48:27 +00:00
Clownacy
14442eaaba
Add some background information to the readme
Also removed the link to the woefully-neglected 'Bug Fixes.txt'.
2019-09-05 19:37:44 +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
af7d8222a8 The EXE now has its functions in the exact same order as the original
This is crazy. So, MSVC2003 always links the source files in
alphabetical order, but for some reason the original EXE ends with
the NPC and boss files.

Cucky figured out why: Pixel used folders in his Visual Studio
project - one for NPC code, and one for boss code.

With this, the built EXE now has its functions in the exact same
order as the original. Hell yeah. I guess now we just have to figure
out how to get the variables in the correct order.
2019-09-05 16:42:16 +01:00
Clownacy
a394f7a611 Update the readme 2019-09-05 16:01:49 +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
c6f074c2b9 Add cursors and icons to the MSVC2003 project 2019-09-05 14:14:57 +01:00
Clownacy
b24d212e82 Convert resource file to forward-slash path separators
MSVC2003 seems fine with them, and doesn't seem to automatically
revert them either.
2019-09-05 14:08:03 +01:00
Clownacy
42e1b36fd8 Restore the Windows-style path separators 2019-09-05 14:05:27 +01:00
Clownacy
e3eb16af0a Disable MSVC2003 assembly output
I can't remember the last time I even used it.
2019-09-05 13:48:51 +01:00
Clownacy
27bc6d1abe Clean up the MSVC2003 project a little 2019-09-05 13:46:47 +01:00
Clownacy
323b556b27 Move the MSVC2003 stuff to the main folder 2019-09-05 13:42:33 +01:00
Clownacy
69dd308cf8 Remove the MSVC2003 builds of SDL2 and Freetype
Useless, now.
2019-09-05 12:55:57 +00:00
Clownacy
c7c5077103 Remove the leftover CMakeLists.txt file
I might bring this back at some point. Depends.
2019-09-05 12:46:39 +00:00
Clownacy
afb3e2f83e Removed the DoConfig folder
It's just a clone. A proper decompilation will be added some other
time.
2019-09-05 12:45:11 +00:00
Clownacy
8f9125cf09 Remove the 'bin2h' folder
Resources are compiled with other tools in this branch
2019-09-05 12:44:16 +00:00
Clownacy
10214f8f45 Remove the 'external' folder
This branch doesn't have any dependencies outside of what Windows
provides.
2019-09-05 12:43:20 +00:00
Clownacy
990c0d37ac Remove unneeded resource files 2019-09-04 14:59:45 +00:00
Clownacy
93029e8e2c Fix incorrectly-ordered #include 2019-09-04 14:13:51 +00:00
Clownacy
3a40e9eb36 Add .exe file extensions to the Makefile
32-bit MinGW-w64 has this stupid thing where the Makefile can't
detect that executable depedencies may end with '.exe', causing it to
regenerate them every time it's ran.
2019-09-04 14:01: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
44f3b15348 Move the resource script to where it used to be 2019-09-04 01:47:51 +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
4b0584b5b8 Rename 'resources.o' to 'windows_resources.o' 2019-09-02 20:24:34 +01:00
Clownacy
4dadefc7d4 Add a missing NULL 2019-09-02 20:02:25 +01:00
Clownacy
14f4d5d7a6 Fix Makefile when WINDRES is not defined 2019-09-02 20:01:42 +01:00
Clownacy
023188a1b3 Makefile fixes
I really need to test thing before I commit them.

The library linkage things are because MinGW-w64 on Linux is
case-sensitive.

Unfortunately, Linux windres seems to have a problem with
Windows-style directory separators, so if you try building on Linux,
you'll have to convert CSE2.rc to use forward-slashes. I'd make a
commit that does this, but I'm pretty sure MSVC2003 will just revert
it automatically.
2019-09-02 15:37:11 +00:00
Clownacy
46c59b9389 Use -ggdb3
More debug data than -ggdb
2019-09-02 02:12:25 +01:00
Clownacy
8a440e6fdf Update readme 2019-09-02 02:11:21 +01:00
Clownacy
b261616597 Added MinGW-w64 support 2019-09-02 02:08:29 +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
da27385040 Update README 2019-09-01 19:32:28 +01:00
Clownacy
f24ecd2e39 New screenshot 2019-09-01 19:00:42 +01:00
Clownacy
84b2f047d6 More accurate library linkage
For some reason the inherited libraries are linked first in the
original EXE, which I can't replicate without explicitly adding them.
But I'm not doing that yet.
2019-09-01 18:31:53 +01:00
Clownacy
77430014e4 Add cursors and icons
I guess this ASM-accurate side-project is "complete" now...
2019-09-01 18:22:52 +01:00
Clownacy
8892dc24b5 ASM-accurate Main.cpp and added the various Windows menus 2019-09-01 18:15:12 +01:00