Commit graph

1052 commits

Author SHA1 Message Date
Clownacy
9f40c68ab2 Repair CMakeLists.txt 2019-09-06 19:27:32 +00:00
Clownacy
d0b17cd406 Fix crash when quitting the game 2019-09-06 19:27:14 +00:00
Clownacy
4e239c3175 Restore the rendering backend callbacks
Now the SDLSurface backend survives window resizes (also triggered by
alt-tabbing while in fullscreen), and the SDLTexture backend properly
regenerates its textures after a fullscreen alt-tab in DirectX mode.
2019-09-06 19:07:49 +00:00
Clownacy
0dc9bb6b1b Change the audio backend API again 2019-09-06 14:46:31 +00:00
Clownacy
d02af1bfba Merge branch 'accurate' into portable 2019-09-06 00:36:24 +00:00
Clownacy
9aa97205b7
Get Peter Mackay's name right 2019-09-05 23:35:59 +00:00
Clownacy
7dc8c8b2c1 Merge branch 'accurate' into portable 2019-09-05 23:01:49 +00:00
Clownacy
4d42842742
More readme work 2019-09-05 22:00:29 +00:00
Clownacy
7778e25369 Merge branch 'accurate' into portable 2019-09-05 21:42:49 +00:00
Clownacy
d80adf9cc8 Comment on a bug in MakePixToneObject 2019-09-05 21:41:40 +00:00
Clownacy
46fdc08ecd Fix PixTone sounds missing their ends
I was accidentally replicating a bug from the original code in the
wrong place. I should probably comment on that bug in the accurate
branch.
2019-09-05 21:39:38 +00:00
Clownacy
12f69e3c6c Fix idling hogging 100% of a CPU core
This was me not converting the WinAPI code properly. Stupid me.
2019-09-05 21:07:30 +00:00
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