Commit graph

1090 commits

Author SHA1 Message Date
Clownacy
1b8fbcee43 New screenshot
Shows CSE2 running on Arch Linux with XFCE4.
2019-09-05 20:57:48 +00:00
Clownacy
69d34f51bf Don't assume users are on Windows 2019-09-05 20:50:19 +00:00
Clownacy
2625af1ac8 Merge branch 'accurate' into portable 2019-09-05 20:49:42 +00:00
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