Commit graph

480 commits

Author SHA1 Message Date
Clownacy
2266a5ee6d Font code cleanup 2019-03-07 00:18:24 +00:00
Clownacy
111313ec77 Fixed the Core's water not displaying properly
Also made PutFront ASM-accurate (with the exception of the black bars
stuff)
2019-03-04 00:34:02 +00:00
Clownacy
7b2a3a20dc Merge branch 'master' of https://github.com/cuckydev/Cave-Story-Engine-2 2019-03-03 23:17:05 +00:00
Clownacy
5a9553cb30 Makefile fixes and added link-time optimisation
Noticed the mistakes while compiling with Clang on Arch.
2019-03-02 23:15:08 +00:00
Cucky
f841865f3d
Merge pull request #73 from Clownacy/master
Added Visual Studio 2003 project files, and made all NPCs ASM-accurate
2019-02-28 19:30:00 -05:00
Clownacy
53b39cfa72 Note some bad code 2019-02-27 21:56:16 +00:00
Clownacy
54d9c0ad1a Mention the Visual Studio 2003 support in the readme 2019-02-26 02:34:39 +00:00
Clownacy
d019b85616 Made MiniMap.cpp supposedly ASM-accurate
Goes toward #74
A few core functions like Flip_SystemTask and GetTrg have a different
number of parameters to the original version of the game, so they cause
the ASM to generate differently.
2019-02-26 00:41:13 +00:00
Clownacy
2d23396d0d Made Fade.cpp actually ASM-accurate 2019-02-25 23:28:27 +00:00
Clownacy
e1484dbcd3 Made NpcAct340 ASM-accurate
YAAAAAAAAAAAAAY
2019-02-25 19:44:36 +00:00
Clownacy
b7a8698bb8 Made NpcAct320.cpp ASM-accurate 2019-02-25 17:32:53 +00:00
Clownacy
2d0607df32 Made NpcAct300.cpp ASM-accurate 2019-02-25 17:02:21 +00:00
Clownacy
d921729820 Made NpcAct280 ASM-accurate 2019-02-25 16:27:15 +00:00
Clownacy
30ebdf3102 Made NpcAct260.cpp ASM-accurate 2019-02-25 14:23:58 +00:00
Clownacy
4a955e02bf Made NpcAct240.cpp ASM-accurate 2019-02-25 12:27:48 +00:00
Clownacy
5290ce3bd5 Made NpcAct220.cpp ASM-accurate 2019-02-25 11:41:52 +00:00
Clownacy
6f8197d9ac Made NpcAct200.cpp ASM-accurate 2019-02-25 11:11:59 +00:00
Clownacy
65be197fdf Made NpcAct180.cpp 2019-02-25 10:12:56 +00:00
Clownacy
fc1b522a08 Made NpcAct160.cpp ASM-accurate 2019-02-25 03:04:19 +00:00
Clownacy
819be3b600 Made NpcAct140.cpp ASM-accurate 2019-02-25 02:26:38 +00:00
Clownacy
6984d0cb97 Made NpcAct120.cpp ASM-accurate 2019-02-25 01:47:58 +00:00
Clownacy
27bfd3914c Made NpcAct100.cpp almost ASM-accurate
One bit compiles identically, but with the wrong registers. I'm hoping
this will go away once the memory layout's accurate enough.
2019-02-25 01:19:54 +00:00
Clownacy
a65bf3bb60 Made NpcAct080.cpp ASM-accurate 2019-02-24 22:51:46 +00:00
Clownacy
cdeb1061f4 Made NpcAct060.cpp ASM-accurate 2019-02-24 21:26:22 +00:00
Clownacy
6adcff2614 Made NpcAct040.cpp ASM-accurate 2019-02-24 20:19:08 +00:00
Clownacy
eaf37729ad Added note on the NONPORTABLE constant to the readme 2019-02-24 14:37:51 +00:00
Clownacy
532661b0cf Made Map.cpp and some of NpcAct020.cpp ASM-accurate
Also added a new constant 'NONPORTABLE', for enabling bits of code that
are non-portable, but needed for accuracy
2019-02-24 14:35:35 +00:00
Clownacy
08ee4c96a7 Made NpcAct020.cpp ASM-accurate 2019-02-24 11:37:10 +00:00
Clownacy
a4cebede74 Made Flash.cpp actually ASM-accurate 2019-02-24 03:13:36 +00:00
Clownacy
3fc8ceb0a6 Made NpcAct000.cpp *really* ASM-accurate
Unlike the other files, I've gone out of my way to get accurate stack
frame layouts. The Devilution comparer tool really comes in handy here.
2019-02-24 02:34:19 +00:00
Clownacy
a58f5e2f77 Enabled annotated assembly output for MSVC2003 Release builds 2019-02-23 23:54:48 +00:00
Clownacy
8484fc2c2d Fix Font.cpp not expecting the font colour in BGR 2019-02-23 23:36:53 +00:00
Clownacy
06589ab5ea Remove leftover gitignore entry, and make MSVC2003 build define WINDOWS
This enables stuff like separate windows/taskbar icons, and system font
loading
2019-02-23 23:08:19 +00:00
Clownacy
4530bb6847 Added MSVC2003 project and dependencies
For those not in the know, Visual Studio 2003 was what Pixel used to
compile Cave Story. Getting this to compile in its original environment
goes a long way to ensuring this decompilation's accuracy, since it
allows us to check if the code creates the exact same assembly.

Since the decompilation doesn't include the original DirectX/WinAPI
backends yet, compatible SDL2 and Freetype .lib files are provided.
2019-02-23 22:46:30 +00:00
Clownacy
01ddc5e923 Fixed some warning MSVC2003 was giving in /W3 mode 2019-02-23 21:45:57 +00:00
Clownacy
d55f72aeaf Another missing #include that MSVC2003 noticed 2019-02-23 15:25:49 +00:00
Clownacy
3e4ef292c4 Add a missing (but unusable) call 2019-02-22 22:27:18 +00:00
Clownacy
3e5f44f8de Changed some things to BOOL/BOOLEAN, for ASM-accuracy 2019-02-22 22:23:57 +00:00
Clownacy
923749e41e Some more fixes for errors MSVC2003 noticed
Now I've got the entire project building with MSVC2003, _and_ I can
compare its ASM with Devilution's disassembler tool.
2019-02-22 21:18:39 +00:00
Cucky
68895b1597
Merge pull request #70 from Clownacy/master
Bugfixes
2019-02-22 16:16:13 -05:00
Clownacy
e3549f8703 Made Triangle.cpp ASM-accurate
It's really starting to look more and more like Pixel really did write
in C90... just look at the declarations I have to shove at the start of
the functions.
2019-02-21 23:24:23 +00:00
Clownacy
293dbd4e03 1) I'm stupid 2) Use RGB for the PutText calls 2019-02-21 21:16:57 +00:00
Clownacy
b648268283 Changed CortBox(2) col parameter from RGB to BGR
That's how it is in the original. Look up Microsoft's COLORREF.
2019-02-21 21:01:16 +00:00
Clownacy
3eca2d7cf3 Add all GetCortBoxColor calls back (also I found a vanilla bug) 2019-02-21 20:56:27 +00:00
Clownacy
5754da507d Made gFade static
We don't need to leak all this
2019-02-21 20:23:24 +00:00
Clownacy
88ed2d6eab Made Flags.cpp ASM-accurate 2019-02-21 20:20:13 +00:00
Clownacy
fb9b545e27 Made Flash.cpp more source-accurate
The returns make more sense than those empty brackets
2019-02-21 19:51:40 +00:00
Clownacy
5ba0454bc8 Made Fade.cpp ASM-accurate 2019-02-21 19:46:52 +00:00
Clownacy
995a4f7a79 Work around a portability issue for now
We'll maybe need a new compiler flag or something. I don't like leaving
something like this enabled by default.
2019-02-20 19:55:45 +00:00
Clownacy
063bfbc71c Fixed some static-related stupidity in the Makefile 2019-02-20 16:13:00 +00:00