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
Clownacy
ce055c12cb
Remove a now-unused function
2019-09-05 03:17:20 +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
Clownacy
e4fcf6a5e1
Fixed spacing for fonts that aren't Courier New
...
Previous, I used a godawful hack to emulate Windows' API, but it
seems this only ever worked for Courier New: with something like
Liberation Mono, it would squash the font. Now I'm just giving up on
it, and using actual font sizes rather than "cell" sizes.
I'm not sure if this is accurate the original EXE.
2019-09-04 19:21:51 +00:00
Clownacy
ae8aeae2ac
Restored the new font system
2019-09-04 15:43:28 +00:00
Clownacy
0be5e9ead8
Restored the window icon and custom cursor
2019-09-04 14:39:37 +00:00