Commit graph

850 commits

Author SHA1 Message Date
Gabriel Ravier
08131d527a
Converted hitbox measurements to pixels
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-15 14:12:35 +02:00
Gabriel Ravier
4070f1b972
Changed some stuff to conform to Clownacy's PR review
Changed BalfrogAnims to BalfrogSprites
Changed BALFANI_[name] to BALFROG_SPRT_[name]
Changed -[macro](val) to [macro](-val)

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-15 10:58:55 +02:00
Gabriel Ravier
0d833b38a8
Prevent some annoying warnings popping up everywhere
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-15 10:50:46 +02:00
Gabriel Ravier
fcc1e3cc23
Added some common macro utilities used by most NPCs
I'm pretty sure Pixel didn't actually use macros for this but I don't think just having this kind of stuff copied around everywhere is really great either

Forgot to commit and push this yesterday

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-15 10:48:18 +02:00
Gabriel Ravier
041bd0e5f9
Used doubles for TILES_TO_UNITS weirdly written stuff
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-14 20:47:28 +02:00
Gabriel Ravier
ac498c2be4
After intense debate with Cucky and BLink, ended up changing "PIXELS_TO_UNITS(3) - 1" to "0x5FF"
🙄

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-14 20:07:35 +02:00
Gabriel Ravier
e2c57e6dbc
Alphabetized macros in BossFrog and re-ordered some stuff to go along with Clownacy's coding standards
Also changed NPC_NULL_DELETES_ITSELF to NPC_DAMAGE_TEXT_HOLDER as Fayti pointed out the misnomer

Note to self : Make a PR with coding standards

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-13 20:35:37 +02:00
Gabriel Ravier
aeb1e292b7
Merge branch 'accurate' into commentBalfrog 2019-09-13 19:01:03 +02:00
Gabriel Ravier
9bef4b1d49
Commented BossFrog entirely
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-13 18:49:17 +02:00
Clownacy
69292f99f6 Add a new bugfix 2019-09-12 14:50:06 +00:00
Gabriel Ravier
861064bf12
Started improving on balfrog.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-09-12 16:47:14 +02:00
Clownacy
3889bd9f1d Add missing #include to Draw.cpp
Thanks to GabrielRavier for noticing.
2019-09-10 12:31:38 +00:00
Clownacy
2cb7bfbd3d Tiny cleanup 2019-09-10 01:59:26 +00:00
Clownacy
385d7e5844 Clean up Back.cpp a little 2019-09-10 01:04:09 +01:00
Clownacy
9ca503a96e Add Visual Studio 2017 project files
This required hacking-in DirectInput8 support since Visual Studio
hasn't supported DirectInput7 and earlier since 2007.
2019-09-10 00:43:23 +01:00
Clownacy
f8c2e17655 Clean up Map.cpp 2019-09-09 23:46:35 +01:00
Clownacy
0532e2afa2 Shut up a warning 2019-09-06 20:08:07 +01:00
Clownacy
8114f88dd1 Shut up some build warnings 2019-09-06 15:21:43 +00:00
Clownacy
b6fccd509d Add a missing comment translation 2019-09-06 14:47:13 +00:00
Clownacy
d80adf9cc8 Comment on a bug in MakePixToneObject 2019-09-05 21:41:40 +00: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
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
42e1b36fd8 Restore the Windows-style path separators 2019-09-05 14:05:27 +01:00
Clownacy
93029e8e2c Fix incorrectly-ordered #include 2019-09-04 14:13: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
dcf9921481 Move SystemTask from WindowsWrapper.h to Main.h 2019-09-04 02:23:49 +01:00
Clownacy
4e50046d4b Remove WINDOWS and NONPORTABLE
Now that the portable stuff gets its own branch, these are unneeded
2019-09-04 02:14:15 +01:00
Clownacy
987ecd5340 Apply a missing constant in Organya 2019-09-04 01:41:15 +01:00
Clownacy
8f1bc269f0 I might have found out why Sound.cpp uses DSBUFFERDESC1 2019-09-03 00:34:47 +01:00
Clownacy
09b188ac29 Add a bugfix for a bizarre function call 2019-09-03 00:17:42 +01:00
Clownacy
bc262bd5e2 Explain some Shift-JIS 2019-09-02 20:28:41 +01:00
Clownacy
4dadefc7d4 Add a missing NULL 2019-09-02 20:02:25 +01:00
Clownacy
35344c5f4f Fixes
What is it with Pixel's official code, and relying on non-standard
stuff? Even his PxTone library had portability issues.
2019-09-02 02:02:25 +01:00
Clownacy
2a70cbe89a Shut up a warning
The ASM is unaffected
2019-09-01 23:42:28 +01:00
Clownacy
d35c9cd09e Deobfuscate WinMain, and make some accuracy improvements 2019-09-01 23:35:41 +01:00
Clownacy
46b48510a8 Remove File.cpp 2019-09-01 20:39:26 +01:00
Clownacy
0faf06224f Added a bugfix for font creation
Fixes Japanese builds using the wrong charset on non-Japanese Windows
installations, and fixed the font using antialiasing, causing it to
clash with the game's colour-keying.
2019-09-01 20:30:26 +01:00
Clownacy
ea489f9063 Added a bugfix for OpenVolumeConfiguration
Now it works on newer versions of Windows
2019-09-01 20:20:54 +01:00
Clownacy
2b78821786 Add an option to re-enable the Debug Save feature
This includes the ability to drag-and-drop save files onto the game
window, which this feature was likely meant to be used with.
2019-09-01 19:55:54 +01:00
Clownacy
8892dc24b5 ASM-accurate Main.cpp and added the various Windows menus 2019-09-01 18:15:12 +01:00
Clownacy
451945e80c Ripped out SDL2, and begun made WinMain ASM-accurate
Almost there... see #74.
2019-09-01 14:39:16 +01:00
Clownacy
f956eb9264 Mostly ASM-accurate Draw.cpp
See #74
2019-08-31 17:43:45 +01:00
Clownacy
03e513365b PATH_LENGTH is actually Windows's MAX_PATH
When MAX_PATH isn't available, use FILENAME_MAX. This might be a bad
idea.
2019-08-31 01:44:53 +01:00
Clownacy
070e4b1455 Populate Dialog.h 2019-08-31 00:57:40 +01:00
Clownacy
da46ff8746 Merge branch 'master' into accurate 2019-08-31 00:26:34 +01:00
Clownacy
d9043a7c49 Added Dialog.cpp
The filename is a total guess, but Microsoft's own word for these
menus is 'dialog', and these functions appear before the Draw.cpp
functions (the source files are linked alphabetically).
2019-08-31 00:22:07 +01:00
Clownacy
766f24188f Correct a header name
Windows isn't case-sensitive, but MinGW-w64 on Linux is.
2019-08-30 19:30:35 +00:00
Clownacy
2f56effc51 Accurate main function variable names 2019-08-29 20:19:31 +01:00
Clownacy
36291ebf36 Cleanup
Doesn't affect the generated ASM
2019-08-29 19:36:39 +01:00