Commit graph

464 commits

Author SHA1 Message Date
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
Clownacy
001457fac8 Merge branch 'master' of https://github.com/cuckydev/Cave-Story-Engine-2 2019-02-20 15:09:00 +00:00
Clownacy
367b41bc88 Fixed another case of assuming long is 32-bit 2019-02-20 15:08:35 +00:00
Clownacy
55f1d3a9fe Fixed some problems found while compiling most of this with VC++2003
I could compile most of this, but not link it (SDL2's .lib files must
be too new).
2019-02-20 03:55:05 +00:00
Cucky
4be2ef3942
Merge pull request #69 from Clownacy/master
A bugfix, and made the project C++98-compatible
2019-02-19 19:43:10 -05:00
Clownacy
bb065aa697 Merge branch 'master' of https://github.com/cuckydev/Cave-Story-Engine-2 2019-02-19 23:39:16 +00:00
Clownacy
a76b7a3a87 Fix sprite upscaling on platforms where long isn't 32-bit
That was dumb.
2019-02-19 23:35:37 +00:00
Clownacy
9203105235 Shut up some warnings 2019-02-19 22:57:00 +00:00
Clownacy
df2620171f Switched to C++98
It compiles without any issues, so why not?
2019-02-19 22:39:30 +00:00
Clownacy
ec148c1072 Made the spriterects C++03-compatible 2019-02-19 22:30:43 +00:00
Cucky
e7ad5271a4
Merge pull request #68 from Clownacy/master
Just a bunch of stuff (accuracy improvements, code cleanup, portability improvements, etc.)
2019-02-19 17:07:16 -05:00
Clownacy
4d04590b28 Made the game compile as C++03
Still need to sort out the C++11-only initialiser lists that GCC allows
in C++03 mode with a warning.
2019-02-19 16:05:28 +00:00
Clownacy
ff4352ffde Made more NPCs ASM-accurate
Geez, there has to be a faster way to do this. This is tedious as all
hell.
2019-02-19 15:52:25 +00:00
Clownacy
754bed870c Got NpcAct000.cpp to compile in MSVC2003 and made NPCs 0/1 ASM-accurate 2019-02-19 04:33:50 +00:00
Clownacy
8e76e38591 Possible fix for static builds on non-Windows platforms? 2019-02-19 03:32:28 +00:00
Clownacy
84945aa898 Removed some old unimplemented-function stuff that we no longer need 2019-02-19 00:55:01 +00:00
Clownacy
fbaf46548f Made Back.cpp about as ASM-accurate as I can make it
...without removing the widescreen stuff, at least.
2019-02-19 00:50:16 +00:00