Commit graph

40 commits

Author SHA1 Message Date
Clownacy
0c367cecf7 Add FIX_MAJOR_BUGS option
This one specifically fixes bugs that either invoke undefined
behaviour or cause memory leaks. Essentially, they affect stability.
Bugs that just affect gameplay will remain covered by FIX_BUGS.
2020-09-03 21:05:14 +01:00
Clownacy
a3692d1c40 Add Caret enums 2020-08-05 21:45:59 +01:00
Clownacy
13985fb349 Added SoundMode enum
Controls whether a PlaySoundObject call start, stops, or loops a
sound
2020-07-08 18:52:32 +01:00
Clownacy
03250d62a0 Make variables more accurate
This commit changes which variables are static: the Mac (and
presumably the Linux) debug data tells you what variables are static,
by prefixing their names with double_underscores.

The variable names themselves also hint at this: global variables are
prefixed with 'g', and use upper-camelcase, while static variables
use whatever_you_call_this.
2020-05-03 20:28:56 +01:00
Clownacy
ff45da6a0e Mark a static function as static
Both the Linux and Mac debug data indicate this is static (they both
prefix static function names with an extra underscore)
2020-04-16 14:45:08 +01:00
Clownacy
ca6538561f Document ActNpc061 (King) 2020-03-27 17:49:58 +00:00
Clownacy
63e855c7fa More-accurate NpChar.cpp variable arrangement 2020-01-07 20:48:21 +00:00
Clownacy
58d7a45392 Empty Tags.h
There's no evidence Tags.h contained these variables (if anything, it
appears that Pixel manually declared them in every file that used
them).

gg Pixel
2020-01-06 21:20:17 +00:00
Clownacy
58bd3533d9 Clean-up NpChar.cpp 2019-11-14 02:22:29 +00:00
Gabriel Ravier
f96b7fa566 Use "memcmp(a, b) != 0" instead of "memcmp(a, b)" so it's clearer we're searching for a difference
Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-11-05 17:25:08 +01:00
Clownacy
b1418f7fae Remove a leftover unsigned literal 2019-10-21 19:33:49 +01:00
Clownacy
42e1b36fd8 Restore the Windows-style path separators 2019-09-05 14:05:27 +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
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
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
3e34136f69 Overhauled the NPC_flags, and applied them everywhere
No more raw values floating about in the decompiled code.
Been wanting to do this for ages.
2019-08-21 17:59:06 +00:00
Clownacy
64598dc2a5 Rename Surface_Ids to SurfaceID
For code style consistency (this isn't a vanilla enum name - I don't
think there even was an enum for this in the original source code)
2019-08-21 16:18:55 +00: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
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
676ee004fe Removed the dependency on stdint.h
This doesn't exist in MSVC2003, and nothing in the Linux port's debug
symbols indicate Pixel used it.
2019-05-13 15:18:33 +01:00
Clownacy
fb87b8dd57 Made NpChar.cpp almost ASM-accurate
For some damn reason I can't replicate SetBulletObject stack frame
layout.
2019-05-12 23:47:31 +01:00
Clownacy
f8d4ae7014 Made Stage.cpp ASM-accurate 2019-05-07 13:52:50 +01:00
Gabriel Ravier
960fa6f456 Removed all trailing spaces and added newline at EOF (when not present)
Also changed a "linux" to "Linux"

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2019-05-07 11:55:42 +02:00
Clownacy
25e68bfb9d Mark string pointers as const 2019-05-06 20:18:24 +01:00
Clownacy
3e5f44f8de Changed some things to BOOL/BOOLEAN, for ASM-accuracy 2019-02-22 22:23:57 +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
Clownacy
84945aa898 Removed some old unimplemented-function stuff that we no longer need 2019-02-19 00:55:01 +00:00
Clownacy
0bb9760d87 Rearranged #includes 2019-02-18 21:30:22 +00:00
Clownacy
809fb95b26 Fix Surface_Ids crash 2019-02-18 20:40:51 +00:00
Clownacy
e5caff593c Removed the SDL dependency from Draw.h
Should make compiling with VC++ 2003 simpler
2019-02-18 20:40:07 +00:00
Clownacy
c44186d93a Ditched SDL's file IO for stdio and our own convenience functions
ASM-accurate file stuff can come later.
2019-02-15 20:33:08 +00:00
cuckydev
66e96f47b7 omega 2019-02-02 01:19:12 -05:00
cuckydev
eee18d71a3 Finally, bullets murder NPCS, also fixed SetExpObjects to not crash... oops! 2019-01-30 18:44:31 -05:00
Clownacy
81f22c2bb8 Added more NPCs
Mostly, if not all, Egg Corridor.
2019-01-29 18:48:43 +00:00
cuckydev
10d946aca2 map system doesn't work 2019-01-29 09:17:13 -05:00
cuckydev
11bbcde9f8 worked on tsc some more, fixed Surface2Surface, blah blah blah happy birthday to me 2019-01-27 01:28:14 -05:00
zxin
50ca5e37a2 Fixed NPC000. 2019-01-26 15:55:53 +00:00
cuckydev
cbc5542cca added some stuff 2019-01-24 22:19:56 -05:00
cuckydev
51638079c7 worked on npc stuff 2019-01-22 22:04:35 -05:00
cuckydev
f43a3c1130 Org and sound 2019-01-19 21:23:04 -05:00