Clownacy
1f3c33f2a0
Merge branch 'accurate' into portable
2019-09-05 20:43:24 +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
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
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
c21bb1c14f
Merge branch 'accurate' into portable
2019-09-05 16:12:36 +01:00
Clownacy
a394f7a611
Update the readme
2019-09-05 16:01:49 +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
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
a61c29a8c9
Clean-out .gitignore of MSVC2003 stuff
2019-09-05 13:56:24 +01:00
Clownacy
a9d83a2d09
Merge branch 'accurate' into portable
2019-09-05 13:55:47 +01:00
Clownacy
bcc970c9d7
Revert "Remove the 'external' folder"
...
This reverts commit 10214f8f45
.
The CMake build needs this.
2019-09-05 12:50:21 +00:00
Clownacy
5cff82c2cc
Revert "Remove the 'bin2h' folder"
...
This reverts commit 8f9125cf09
.
Need this too
2019-09-05 12:50:01 +00:00
Clownacy
537d777536
Revert "Removed the DoConfig folder"
...
This reverts commit afb3e2f83e
.
This branch needs this
2019-09-05 12:49:35 +00: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
e6350151c9
Revert "Remove the leftover CMakeLists.txt file"
...
This reverts commit c7c5077103
.
It probably doesn't work anymore, but I plan to get it working again
in this branch.
2019-09-05 12:48:46 +00:00
Clownacy
3f2b694238
Merge branch 'accurate' into portable
2019-09-05 12:47:58 +00:00
Clownacy
27bc6d1abe
Clean up the MSVC2003 project a little
2019-09-05 13:46:47 +01: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
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
ce055c12cb
Remove a now-unused function
2019-09-05 03:17:20 +00:00
Clownacy
41a2b6982c
Add Liberation Mono's license
...
Might change the font. It looks ugly as hell with no anti-aliasing.
2019-09-04 19:26:33 +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
0ec8997244
Add back the resource files this branch uses
2019-09-04 15:03:40 +00:00
Clownacy
d3085eabd5
Merge branch 'accurate' into portable
2019-09-04 15:00:28 +00:00
Clownacy
990c0d37ac
Remove unneeded resource files
2019-09-04 14:59:45 +00:00
Clownacy
2fc3dbb1e5
Removed the menus from the resource file
...
They're unused in this branch
2019-09-04 14:58:07 +00:00
Clownacy
a57f4652ca
Allow replacing pkg-config
...
Seems to be needed for Linux MinGW-w64.
2019-09-04 14:55:47 +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
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
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