Commit graph

918 commits

Author SHA1 Message Date
Clownacy
21cf78b86d Split Draw.cpp into common code and backend code
Should be easy to add the new hardware renderer now
2019-07-15 13:42:49 +01:00
Clownacy
3ef9b67b1d Replaced a lot of Draw.cpp with a software renderer
Also fixed the SDL_Window not being freed. This commit's a bit of a
blob, since I made a bunch of tweaks to Draw.cpp while adding the new
renderer. Don't worry though, I'll add the hardware accelerated code
back again soon. In fact, I've got an idea on how to make it even
faster, while still being able to survive render target losses.

Hopefully this software renderer will come in handy for the Wii U
port: its SDL2 port's hardware acceleration is broken, and the
SDL_Surface API is too slow.
2019-07-15 11:41:40 +01:00
Clownacy
f9de3f8216 Added another bugfix
This was causing MSVC debug builds to raise a warning whenever a save
was loaded.
2019-07-12 13:09:08 +01:00
Clownacy
974865e2d2 Add some Windows-only Generic.cpp functions
These things are annoying. I really need to split this repo into
accurate and portable branches soon.
2019-07-03 11:22:40 +01:00
Clownacy
97acb292bb Made Game.cpp ASM-accurate
Working towards #74.
2019-06-30 03:03:25 +01:00
Clownacy
5167a341aa Made NpChar.cpp ASM-accurate
SetBulletObject has a commented-out if, it seems, and the leftover
braces affected the ASM.
2019-06-30 00:57:19 +01:00
Clownacy
c162d06f96 BossAlmo1.cpp extra accuracy
I forgot, the Linux debug data tells us the exact line number each
variable is declared on.
2019-06-30 00:30:30 +01:00
Clownacy
deb0538d03 Boss.cpp cleanup 2019-06-30 00:20:32 +01:00
Clownacy
a9940c9ca9 ArmsItem.cpp code cleanup and accuracy improvements 2019-06-29 23:29:44 +01:00
Clownacy
2c23de27d5 Made KeyControl.cpp ASM-accurate
Didn't realise this file was so tiny. Anyway, working towards #74.
2019-06-29 21:16:43 +01:00
Clownacy
21d5ba34b0 Shut up some Clang warnings in the Enhanced branch
Once again SDL2 using plain ints everywhere causes issues.
2019-06-27 18:01:55 +00:00
Clownacy
941dec2c7c Add a bugfix for unsafe usage of sprintf
Thanks, Gabe
2019-06-27 17:50:19 +00:00
Clownacy
d1c7cd53df Added a translation for a Japanese variable 2019-06-23 22:55:01 +00:00
Clownacy
19166f80d0 Correct some misdecompiled switchcases 2019-06-21 11:02:20 +00:00
Clownacy
427fe69374 MessageBoxA usage cleanup 2019-06-20 21:17:32 +01:00
Clownacy
546631fad7 Made Profile.cpp ASM-accurate 2019-06-20 21:10:27 +01:00
Clownacy
323e33ed36 Fixes for non-MSVC2003 builds 2019-06-20 20:46:03 +01:00
Clownacy
078dc440c7 Made TextScr.cpp ASM-accurate
Yes! Finally!

Working towards #74
2019-06-20 20:33:47 +01:00
Clownacy
44f142d8e7 Big ugly rework of WindowsWrapper.h
Okay so WindowsWrapper.h now just includes Windows.h if it wants
non-portability. This meant I had to split the custom RECT struct
back to the original RECT and unknown nameless struct (one uses
left/right, while the other uses front/back).
2019-06-20 20:06:55 +01:00
Clownacy
765beff57a In-progress TextScriptProc fixes and accuracy improvements
Need to rework WindowsWrapper.h before I can progress.
2019-06-20 19:13:59 +01:00
Clownacy
3039e3b846 Link to the actual source code for Organya.cpp and Sound.cpp 2019-06-17 17:03:54 +00:00
Clownacy
f9b498c51c
Merge pull request #37 from GabrielRavier/feature/improveOToR
Improve O to R
2019-06-17 15:48:46 +00:00
Gabriel Ravier
a89d97846c
Fixed brace initilizers to not have spaces at the start and end
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 21:22:45 +02:00
Gabriel Ravier
11e25b5aa5
Fixed indentation by using spaces instead of tabs when appropriate
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 20:56:48 +02:00
Gabriel Ravier
00fdea492f
Merge branch 'master' into feature/improveOToR 2019-06-14 20:33:26 +02:00
Gabriel Ravier
4ab849f4ef
Merge branch 'master' into feature/improveNonNpcCharNpcFiles 2019-06-14 20:33:23 +02:00
Clownacy
078da6ccf7 Correct fmod usage 2019-06-14 17:06:42 +01:00
Gabriel Ravier
fd83c08c9c
Added newline at end of NpcHit.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 17:50:07 +02:00
Gabriel Ravier
16e66971d5
Reformatted Profile.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 16:54:43 +02:00
Gabriel Ravier
5ccb7dfa93
Reformatted Pixtone.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 16:52:53 +02:00
Gabriel Ravier
473bd43ca7
Reformatted Organya.cpp
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 16:51:49 +02:00
Gabriel Ravier
3a80d8f4fb
Did initial sweep with regexes
Changed regex to "((//|\;)[^ \t\n]|(for|while|if|while|do|void|int|bool)\((for|while|if|while|do)\ \(.*\)\;|\(\ |\ \)|//\ [a-z]|\ \ )|break;\n[\t]*[^\n\t\}(\/\/ Fallthrough]|[^\t\n]\{[^\n]|[^\n\t]\}[^\n]|\,[^\ ]"

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 16:49:32 +02:00
Gabriel Ravier
e8c7daca35
Reverted capitalization of struct member names
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-14 08:37:49 +02:00
Gabriel Ravier
06e65cad6e
Revamped NpChar, NpcHit and NpcTbl
Also changed regex to "((//|\;)[^
\t\n]|(for|while|if|while|do|void|int|bool)\((for|while|if|while|do)\
\(.*\)\;|\(\ |\ \)|//\ [a-z]|\ \ )|break;\n[\t]*[^\n\t\}(\/\/
Fallthrough]|[^\t\n]\{[^\n]|[^\n\t]\}[^\n]"

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-06-13 20:39:46 +02:00
Clownacy
44094b103e <SDL.h> -> "SDL.h"
The SDL devs recommend this:
https://wiki.libsdl.org/FAQDevelopment#Do_I_.23include_.3CSDL.h.3E_or_.3CSDL.2FSDL.h.3E.3F
2019-06-06 18:51:44 +00:00
Clownacy
c80b593a3f Some #include fixes
Finally figured out how to get include-what-you-use working
2019-06-06 18:44:28 +00:00
Clownacy
0fb147aa0d Change the sound buffer size to a power of 2
Turns out giving SDL2 a non-power-of-2 buffer size crashes it in
Emscripten.
2019-05-29 18:49:09 +00:00
Clownacy
d2b5872c95 Weeded out some bool usage
Cave Story was written in C89. No bools. I've left in Sound.cpp's
though, since that's written in C++98 currently.
2019-05-24 10:07:30 +01:00
Clownacy
5b89a31976 Split bin2h to its own CMake file
Also added warnings to its part of the Makefile
2019-05-23 19:42:52 +01:00
Clownacy
43958d2771 ...For real, this time 2019-05-23 14:28:44 +00:00
Clownacy
a4248b13e2 Fix broken stage centring 2019-05-23 14:15:30 +00:00
Clownacy
d1b71b9fce Add some more widescreen/tallscreen fixes to Frame.cpp
Like I said in the TODO, this *really* needs to be moved to the
enhanced branch
2019-05-23 14:04:21 +00:00
Clownacy
aa44e7ca49 Reduce the size of bin2h-generated .h files
The Japanese font went from 50MB to 25MB.
2019-05-21 16:56:44 +01:00
Clownacy
fcaddc6252 Added a missing #include to Draw.cpp 2019-05-20 15:03:15 +01:00
Clownacy
57b37e84de
Merge pull request #35 from GabrielRavier/feature/improveNpcAct
Improve NpcAct files
2019-05-16 10:31:52 +00:00
Gabriel Ravier
a312be2b4b
Cleaned up NpcAct340.cpp 2019-05-16 08:25:53 +02:00
Gabriel Ravier
c247de7686
Cleaned up NpcAct320.cpp 2019-05-16 08:21:52 +02:00
Gabriel Ravier
e5b499ee67
Cleaned up NpcAct300.cpp 2019-05-16 08:18:12 +02:00
Gabriel Ravier
f1048b21aa
Cleaned up NpcAct280.cpp 2019-05-16 08:11:17 +02:00
Gabriel Ravier
1e6ee2d6ba
Corrected stupid error in NpcAct260.cpp
Also changed regex to "((//|\;)[^ \t\n]|(for|while|if|while|do|void|int|bool)\((for|while|if|while|do)\ \(.*\)\|//\ [a-z]|\ \ )|break;\n[\t]*case|\ \)|\(\ "

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-05-16 08:03:45 +02:00