Commit graph

1150 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
182f11f017 Fix controller support
Pressing up or down wouldn't work.
2019-09-11 17:51:20 +00:00
Clownacy
949bfd129b Allow SDL2 to change the audio frequency
The mixer can handle arbitrary frequencies, so there's no point in
forcing SDL2 to use 44100Hz.
2019-09-10 22:11:31 +00:00
Clownacy
88f22510ee Fix crash when AudioBackend_Init fails
Similar checks existed in the original code (see the accurate
branch), but they were removed in the Organya source code release, so
I figured they were useless. Turns out they're not.

Fixes #48.
2019-09-10 17:59:54 +00:00
Clownacy
aede7b6069 Restore the FREQUENCY constant
Cave Story at 2000Hz is fun
2019-09-10 14:04:06 +00:00
Clownacy
657b586cd1 Add missing #include to audio backend
Another GabrielRavier fix.
2019-09-10 12:36:55 +00:00
Clownacy
d1595d536b Merge branch 'accurate' into portable 2019-09-10 12:35:31 +00:00
Clownacy
3889bd9f1d Add missing #include to Draw.cpp
Thanks to GabrielRavier for noticing.
2019-09-10 12:31:38 +00:00
Clownacy
0510e017e1 Merge branch 'accurate' into portable 2019-09-10 02:03:58 +00:00
Clownacy
2cb7bfbd3d Tiny cleanup 2019-09-10 01:59:26 +00:00
Clownacy
355b303635 Shut up some warnings 2019-09-10 01:53:19 +01: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
3eb346ce10 Synchronise the audio callback with Organya
This is the 'perfect' Organya playback I mentioned in the commit
message for 5ea356a3bd
2019-09-09 21:43:33 +00:00
Clownacy
a076274864 Make a clamp macro safer 2019-09-09 20:24:09 +00:00
Clownacy
217ce5437b Port the Windows version's mouse-hiding
The original Windows version would hide the mouse cursor in
fullscreen.
2019-09-08 23:59:13 +00:00
Clownacy
e216fa8e18 Remove the old colour-depth code
It's basically unused anyway
2019-09-08 23:58:48 +00:00
Clownacy
4b8a6849d3 Actually make the surface regeneration work 2019-09-06 22:13:00 +01:00
Clownacy
950bf28273 Merge branch 'accurate' into portable 2019-09-06 21:08:25 +01:00
Clownacy
0532e2afa2 Shut up a warning 2019-09-06 20:08:07 +01:00
Clownacy
a220732aac Shut up some warnings 2019-09-06 20:03:35 +01:00
Clownacy
0907027a82 Merge branch 'accurate' into portable 2019-09-06 19:30:23 +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
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
0dc9bb6b1b Change the audio backend API again 2019-09-06 14:46:31 +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
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
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
42e1b36fd8 Restore the Windows-style path separators 2019-09-05 14:05:27 +01:00