Merge pull request 'Handle hardcode object definitions in SOC' (#15) from dehardcode into ACS2
Reviewed-on: https://codeberg.org/NepDisk/blankart/pulls/15
This commit is contained in:
commit
1dc91b43ec
19 changed files with 8068 additions and 44143 deletions
189
extras/info2soc.py
Normal file
189
extras/info2soc.py
Normal file
|
|
@ -0,0 +1,189 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
# yeah, I know my python code sucks. get over it
|
||||
|
||||
import sys
|
||||
import re
|
||||
|
||||
def ReadMobjinfo(f):
|
||||
mobjs = []
|
||||
mobj = None
|
||||
for line in f:
|
||||
l, _, comment = line.strip().partition("//")
|
||||
if mobj is not None:
|
||||
if re.findall("[\t ]*},", l):
|
||||
mobjs.append(mobj)
|
||||
mobj = None
|
||||
elif comment:
|
||||
val = re.sub("[\t ,]", "", l)
|
||||
# no casts allowed!
|
||||
for match in re.finditer("\\(([A-Za-z0-9_]+)\\)", val):
|
||||
start, end = match.span()
|
||||
val = val[:start] + val[end:]
|
||||
mobj.append(val)
|
||||
else:
|
||||
if "{" in l:
|
||||
mobj = []
|
||||
elif l.startswith("}") and l.endswith(";"):
|
||||
return mobjs
|
||||
sys.exit("error: unexpected EOF reading mobjinfo")
|
||||
|
||||
def ReadStruct(f, pattern):
|
||||
states = []
|
||||
for line in f:
|
||||
l, _, comment = line.strip().partition("//")
|
||||
if l.startswith("#"):
|
||||
if l == "#ifndef ROTSPRITE": # bruh
|
||||
f.readline()
|
||||
elif l == "#else" or l == "#endif":
|
||||
continue
|
||||
else:
|
||||
sys.exit("error: unknown directive "+l)
|
||||
elif "{" in l:
|
||||
state = re.search(pattern, l.strip("{} ,\t"))
|
||||
if not state:
|
||||
sys.exit("error: invalid line "+l)
|
||||
states.append(list(state.groups()))
|
||||
elif l.startswith("}") and l.endswith(";"):
|
||||
return states
|
||||
sys.exit("error: unexpected EOF")
|
||||
|
||||
def FindStruct(f, match, pattern):
|
||||
for l in f:
|
||||
if l.startswith(match):
|
||||
if not l.endswith("{\n"): # not for skincolors
|
||||
f.readline()
|
||||
return ReadStruct(f, pattern) if pattern != "mobj" else ReadMobjinfo(f)
|
||||
|
||||
def ReadEnum(f, match):
|
||||
out = []
|
||||
comments = {} # why not?
|
||||
for line in f:
|
||||
l, _, comment = line.strip().partition("//")
|
||||
if comment:
|
||||
i = len(out)
|
||||
if comments.get(i) is None:
|
||||
comments[i] = []
|
||||
comments[i].append(comment)
|
||||
if e := re.findall(f"({match}[A-Za-z0-9_]+),?", l):
|
||||
out.append(e[0])
|
||||
elif l.startswith("}") and l.endswith(";"):
|
||||
enumname = re.findall("} *([A-Za-z0-9_]+);", l)
|
||||
return out, comments, enumname[0]
|
||||
sys.exit("error: unexpected EOF reading enum")
|
||||
|
||||
def FindEnum(f, match, enum):
|
||||
enumname = None
|
||||
typedef = "typedef enum"
|
||||
for l in f:
|
||||
if l.startswith(typedef):
|
||||
f.readline()
|
||||
out, comments, tname = ReadEnum(f, match)
|
||||
if tname == enum:
|
||||
return out, comments
|
||||
sys.exit("error: couldn't find "+enum)
|
||||
|
||||
def WriteSoc(states, fields, keyword, names, comments):
|
||||
i = 0
|
||||
for state in states:
|
||||
comment = comments.get(i)
|
||||
if comment:
|
||||
for c in comment:
|
||||
out.write(f"#{c}\n")
|
||||
out.write(f"{keyword} {names[i]}\n")
|
||||
for j in range(len(state)):
|
||||
v = state[j].strip("{} \t\"")
|
||||
if v != fields[j][1]:
|
||||
if fields[j][0] != "Caption":
|
||||
v = re.sub("[\t ]", "", v)
|
||||
if fields[j][0] == "Accessible":
|
||||
# lowercase doesn't work, might as well use numbers
|
||||
v = "1" if v == "true" else "0"
|
||||
out.write(f"{fields[j][0]} = {v}\n")
|
||||
out.write("\n")
|
||||
i += 1
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: info2soc.py <path to src> <outfile>")
|
||||
sys.exit()
|
||||
path = sys.argv[1]
|
||||
if len(sys.argv) < 3:
|
||||
outpath = "info.soc"
|
||||
else:
|
||||
outpath = sys.argv[2]
|
||||
with open(path+"/info.h", "r") as f:
|
||||
statenames, statecom = FindEnum(f, "S_", "statenum_t")
|
||||
mobjnames, mobjcom = FindEnum(f, "MT_", "mobjtype_t")
|
||||
with open(path+"/sounds.h", "r") as f:
|
||||
sfxnames, sfxcom = FindEnum(f, "sfx_", "sfxenum_t")
|
||||
with open(path+"/doomdef.h", "r") as f:
|
||||
colornames, colorcom = FindEnum(f, "SKINCOLOR_", "skincolornum_t")
|
||||
out = open(outpath, "w")
|
||||
with open(path+"/info.c", "r") as f:
|
||||
states = FindStruct(f, "state_t states[NUMSTATES]",
|
||||
"([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+),([^,]+)")
|
||||
fields = [ # field name, and default value (so it can be omitted)
|
||||
("SpriteName", "SPR_NULL"),
|
||||
("SpriteFrame", "0"),
|
||||
("Duration", "0"),
|
||||
("Action", "NULL"),
|
||||
("Var1", "0"),
|
||||
("Var2", "0"),
|
||||
("Next", "S_NULL"),
|
||||
]
|
||||
WriteSoc(states, fields, "State", statenames, statecom)
|
||||
|
||||
mobjs = FindStruct(f, "mobjinfo_t mobjinfo[NUMMOBJTYPES]", "mobj")
|
||||
fields = [
|
||||
("MapThingNum", "-1"),
|
||||
("SpawnState", "S_NULL"),
|
||||
("SpawnHealth", "0"),
|
||||
("SeeState", "S_NULL"),
|
||||
("SeeSound", "sfx_None"),
|
||||
("ReactionTime", "0"),
|
||||
("AttackSound", "sfx_None"),
|
||||
("PainState", "S_NULL"),
|
||||
("PainChance", "0"),
|
||||
("PainSound", "sfx_None"),
|
||||
("MeleeState", "S_NULL"),
|
||||
("MissileState", "S_NULL"),
|
||||
("DeathState", "S_NULL"),
|
||||
("XDeathState", "S_NULL"),
|
||||
("DeathSound", "sfx_None"),
|
||||
("Speed", "0"),
|
||||
("Radius", "0"),
|
||||
("Height", "0"),
|
||||
("DispOffset", "0"),
|
||||
("Mass", "0"),
|
||||
("Damage", "0"),
|
||||
("ActiveSound", "sfx_None"),
|
||||
("Flags", "0"),
|
||||
("RaiseState", "S_NULL"),
|
||||
]
|
||||
WriteSoc(mobjs, fields, "Mobj", mobjnames, mobjcom)
|
||||
|
||||
colors = FindStruct(f, "skincolor_t skincolors[MAXSKINCOLORS]",
|
||||
"^([^,]+),(.+),([^,]+),([^,]+),([^,]+),([^,]+)")
|
||||
fields = [
|
||||
("Name", ""),
|
||||
("Ramp", ""),
|
||||
("InvColor", ""),
|
||||
("InvShade", ""),
|
||||
("ChatColor", ""),
|
||||
("Accessible", "false"),
|
||||
]
|
||||
WriteSoc(colors, fields, "Color", colornames, colorcom)
|
||||
with open(path+"/sounds.c", "r") as f:
|
||||
sounds = FindStruct(f, "sfxinfo_t S_sfx[NUMSFX]",
|
||||
"[^,]+,([^,]+),([^,]+),([^,]+),([^,]+),[^,]+,[^,]+,([^,]+),[^,]+,[^,]+,(.+)")
|
||||
fields = [
|
||||
("Singular", "false"),
|
||||
("Priority", "0"),
|
||||
("Flags", "0"),
|
||||
("Volume", "-1"),
|
||||
("SkinSound", "-1"),
|
||||
("Caption", ""),
|
||||
]
|
||||
WriteSoc(sounds, fields, "Sound", sfxnames, sfxcom)
|
||||
out.close()
|
||||
|
|
@ -1506,6 +1506,9 @@ void D_SRB2Main(void)
|
|||
|
||||
#endif //ifndef DEVELOP
|
||||
|
||||
// now do it again for the SOC colors in main.pk3!
|
||||
M_InitPlayerSetupColors();
|
||||
|
||||
// Do it before P_InitMapData because PNG patch
|
||||
// conversion sometimes needs the palette
|
||||
V_ReloadPalette();
|
||||
|
|
|
|||
|
|
@ -656,7 +656,7 @@ void readthing(MYFILE *f, INT32 num)
|
|||
Z_Free(s);
|
||||
}
|
||||
|
||||
void readskincolor(MYFILE *f, INT32 num)
|
||||
void readskincolor(MYFILE *f, INT32 num, boolean mainfile)
|
||||
{
|
||||
char *s = Z_Malloc(MAXLINELEN, PU_STATIC, NULL);
|
||||
char *word = s;
|
||||
|
|
@ -763,7 +763,7 @@ void readskincolor(MYFILE *f, INT32 num)
|
|||
}
|
||||
else if (fastcmp(word, "ACCESSIBLE"))
|
||||
{
|
||||
if (num > FIRSTSUPERCOLOR)
|
||||
if (mainfile || num > FIRSTSUPERCOLOR)
|
||||
skincolors[num].accessible = (boolean)(atoi(word2) || word2[0] == 'T' || word2[0] == 'Y');
|
||||
}
|
||||
else
|
||||
|
|
@ -1200,7 +1200,7 @@ void readlevelheader(MYFILE *f, INT32 num)
|
|||
if (fastncmp(tmp, "MT_", 3)) // support for specified mobjtypes...
|
||||
{
|
||||
i = get_mobjtype(tmp);
|
||||
if (!i)
|
||||
if (i == -1)
|
||||
{
|
||||
//deh_warning("Level header %d: unknown flicky mobj type %s\n", num, tmp); -- no need for this line as get_mobjtype complains too
|
||||
continue;
|
||||
|
|
@ -2322,7 +2322,8 @@ void readframe(MYFILE *f, INT32 num)
|
|||
}
|
||||
else if (fastcmp(word1, "NEXT"))
|
||||
{
|
||||
states[num].nextstate = get_state(word2);
|
||||
statenum_t state = get_state(word2);
|
||||
states[num].nextstate = state == -1 ? S_NULL : state;
|
||||
}
|
||||
else if (fastcmp(word1, "VAR1"))
|
||||
{
|
||||
|
|
@ -2441,6 +2442,10 @@ void readsound(MYFILE *f, INT32 num)
|
|||
{
|
||||
S_sfx[num].volume = value;
|
||||
}
|
||||
else if (fastcmp(word, "SKINSOUND"))
|
||||
{
|
||||
S_sfx[num].skinsound = get_number(word2);
|
||||
}
|
||||
else if (fastcmp(word, "CAPTION") || fastcmp(word, "DESCRIPTION"))
|
||||
{
|
||||
deh_strlcpy(S_sfx[num].caption, word2,
|
||||
|
|
@ -3750,7 +3755,10 @@ void readfollower(MYFILE *f)
|
|||
else if (fastcmp(word2, "OPPOSITE"))
|
||||
followers[numfollowers].defaultcolor = FOLLOWERCOLOR_OPPOSITE;
|
||||
else
|
||||
followers[numfollowers].defaultcolor = get_skincolor(word2);
|
||||
{
|
||||
skincolornum_t color = get_skincolor(word2);
|
||||
followers[numfollowers].defaultcolor = color == -1 ? SKINCOLOR_GREEN : color;
|
||||
}
|
||||
}
|
||||
else if (fastcmp(word, "SCALE"))
|
||||
{
|
||||
|
|
@ -3982,7 +3990,8 @@ void readweather(MYFILE *f, INT32 num)
|
|||
|
||||
if (fastcmp(word, "TYPE"))
|
||||
{
|
||||
precipprops[num].type = get_mobjtype(word2);
|
||||
mobjtype_t mt = get_mobjtype(word2);
|
||||
precipprops[num].type = mt == -1 ? MT_NULL : mt;
|
||||
}
|
||||
else if (fastcmp(word, "EFFECTS"))
|
||||
{
|
||||
|
|
@ -4017,7 +4026,7 @@ mobjtype_t get_mobjtype(const char *word)
|
|||
if (fastcmp(word, MOBJTYPE_LIST[i]+3))
|
||||
return i;
|
||||
deh_warning("Couldn't find mobjtype named 'MT_%s'",word);
|
||||
return MT_NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
statenum_t get_state(const char *word)
|
||||
|
|
@ -4037,7 +4046,7 @@ statenum_t get_state(const char *word)
|
|||
if (fastcmp(word, STATE_LIST[i]+2))
|
||||
return i;
|
||||
deh_warning("Couldn't find state named 'S_%s'",word);
|
||||
return S_NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
skincolornum_t get_skincolor(const char *word)
|
||||
|
|
@ -4057,7 +4066,7 @@ skincolornum_t get_skincolor(const char *word)
|
|||
if (fastcmp(word, COLOR_ENUMS[i]))
|
||||
return i;
|
||||
deh_warning("Couldn't find skincolor named 'SKINCOLOR_%s'",word);
|
||||
return SKINCOLOR_GREEN;
|
||||
return -1;
|
||||
}
|
||||
|
||||
spritenum_t get_sprite(const char *word)
|
||||
|
|
@ -4101,7 +4110,7 @@ sfxenum_t get_sfx(const char *word)
|
|||
if (S_sfx[i].name && fasticmp(word, S_sfx[i].name))
|
||||
return i;
|
||||
deh_warning("Couldn't find sfx named 'SFX_%s'",word);
|
||||
return sfx_None;
|
||||
return -1;
|
||||
}
|
||||
|
||||
menutype_t get_menutype(const char *word)
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ void readsprite2(MYFILE *f, INT32 num);
|
|||
#ifdef HWRENDER
|
||||
void readlight(MYFILE *f, INT32 num);
|
||||
#endif
|
||||
void readskincolor(MYFILE *f, INT32 num);
|
||||
void readskincolor(MYFILE *f, INT32 num, boolean mainfile);
|
||||
void readthing(MYFILE *f, INT32 num);
|
||||
void readfreeslots(MYFILE *f);
|
||||
void readPlayer(MYFILE *f, INT32 num);
|
||||
|
|
|
|||
5836
src/deh_tables.c
5836
src/deh_tables.c
File diff suppressed because it is too large
Load diff
|
|
@ -314,7 +314,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
|
|||
{
|
||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||
i = get_mobjtype(word2); // find a thing by name
|
||||
if (i < NUMMOBJTYPES && i > 0)
|
||||
if (i < NUMMOBJTYPES && i >= 0)
|
||||
{
|
||||
if (i < (MT_FIRSTFREESLOT+freeslotusage[1][1]))
|
||||
{
|
||||
|
|
@ -325,7 +325,7 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
|
|||
}
|
||||
else
|
||||
{
|
||||
deh_warning("Thing %d out of range (1 - %d)", i, NUMMOBJTYPES-1);
|
||||
deh_warning("Thing %d out of range (0 - %d)", i, NUMMOBJTYPES-1);
|
||||
ignorelines(f);
|
||||
}
|
||||
}
|
||||
|
|
@ -333,11 +333,11 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
|
|||
{
|
||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||
i = get_skincolor(word2); // find a skincolor by name
|
||||
if (i && i < numskincolors)
|
||||
readskincolor(f, i);
|
||||
if (i < numskincolors && i >= 0)
|
||||
readskincolor(f, i, mainfile);
|
||||
else
|
||||
{
|
||||
deh_warning("Skincolor %d out of range (1 - %d)", i, numskincolors-1);
|
||||
deh_warning("Skincolor %d out of range (0 - %d)", i, numskincolors-1);
|
||||
ignorelines(f);
|
||||
}
|
||||
}
|
||||
|
|
@ -463,11 +463,11 @@ static void DEH_LoadDehackedFile(MYFILE *f, boolean mainfile)
|
|||
{
|
||||
if (i == 0 && word2[0] != '0') // If word2 isn't a number
|
||||
i = get_sfx(word2); // find a sound by name
|
||||
if (i < NUMSFX && i > 0)
|
||||
if (i < NUMSFX && i >= 0)
|
||||
readsound(f, i);
|
||||
else
|
||||
{
|
||||
deh_warning("Sound %d out of range (1 - %d)", i, NUMSFX-1);
|
||||
deh_warning("Sound %d out of range (0 - %d)", i, NUMSFX-1);
|
||||
ignorelines(f);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
284
src/doomdef.h
284
src/doomdef.h
|
|
@ -232,289 +232,15 @@ struct skincolor_t
|
|||
|
||||
typedef enum
|
||||
{
|
||||
SKINCOLOR_NONE = 0,
|
||||
SKINCOLOR_WHITE,
|
||||
SKINCOLOR_SILVER,
|
||||
SKINCOLOR_GREY,
|
||||
SKINCOLOR_NICKEL,
|
||||
SKINCOLOR_BLACK,
|
||||
SKINCOLOR_SKUNK,
|
||||
SKINCOLOR_FAIRY,
|
||||
SKINCOLOR_POPCORN,
|
||||
SKINCOLOR_ARTICHOKE,
|
||||
SKINCOLOR_PIGEON,
|
||||
SKINCOLOR_SEPIA,
|
||||
SKINCOLOR_BEIGE,
|
||||
SKINCOLOR_WALNUT,
|
||||
SKINCOLOR_BROWN,
|
||||
SKINCOLOR_LEATHER,
|
||||
SKINCOLOR_SALMON,
|
||||
|
||||
FIRSTRAINBOWCOLOR,
|
||||
|
||||
SKINCOLOR_PINK = FIRSTRAINBOWCOLOR,
|
||||
SKINCOLOR_ROSE,
|
||||
SKINCOLOR_BRICK,
|
||||
SKINCOLOR_CINNAMON,
|
||||
SKINCOLOR_RUBY,
|
||||
SKINCOLOR_RASPBERRY,
|
||||
SKINCOLOR_CHERRY,
|
||||
SKINCOLOR_RED,
|
||||
SKINCOLOR_CRIMSON,
|
||||
SKINCOLOR_MAROON,
|
||||
SKINCOLOR_LEMONADE,
|
||||
SKINCOLOR_FLAME,
|
||||
SKINCOLOR_SCARLET,
|
||||
SKINCOLOR_KETCHUP,
|
||||
SKINCOLOR_DAWN,
|
||||
SKINCOLOR_SUNSET,
|
||||
SKINCOLOR_CREAMSICLE,
|
||||
SKINCOLOR_ORANGE,
|
||||
SKINCOLOR_PUMPKIN,
|
||||
SKINCOLOR_ROSEWOOD,
|
||||
SKINCOLOR_BURGUNDY,
|
||||
SKINCOLOR_TANGERINE,
|
||||
SKINCOLOR_PEACH,
|
||||
SKINCOLOR_CARAMEL,
|
||||
SKINCOLOR_CREAM,
|
||||
SKINCOLOR_GOLD,
|
||||
SKINCOLOR_ROYAL,
|
||||
SKINCOLOR_BRONZE,
|
||||
SKINCOLOR_COPPER,
|
||||
SKINCOLOR_QUARRY,
|
||||
SKINCOLOR_YELLOW,
|
||||
SKINCOLOR_MUSTARD,
|
||||
SKINCOLOR_CROCODILE,
|
||||
SKINCOLOR_OLIVE,
|
||||
SKINCOLOR_VOMIT,
|
||||
SKINCOLOR_GARDEN,
|
||||
SKINCOLOR_LIME,
|
||||
SKINCOLOR_HANDHELD,
|
||||
SKINCOLOR_TEA,
|
||||
SKINCOLOR_PISTACHIO,
|
||||
SKINCOLOR_MOSS,
|
||||
SKINCOLOR_CAMOUFLAGE,
|
||||
SKINCOLOR_ROBOHOOD,
|
||||
SKINCOLOR_MINT,
|
||||
SKINCOLOR_GREEN,
|
||||
SKINCOLOR_PINETREE,
|
||||
SKINCOLOR_EMERALD,
|
||||
SKINCOLOR_SWAMP,
|
||||
SKINCOLOR_DREAM,
|
||||
SKINCOLOR_PLAGUE,
|
||||
SKINCOLOR_ALGAE,
|
||||
SKINCOLOR_CARIBBEAN,
|
||||
SKINCOLOR_AZURE,
|
||||
SKINCOLOR_AQUA,
|
||||
SKINCOLOR_TEAL,
|
||||
SKINCOLOR_CYAN,
|
||||
SKINCOLOR_JAWZ, // Oni's torment
|
||||
SKINCOLOR_CERULEAN,
|
||||
SKINCOLOR_NAVY,
|
||||
SKINCOLOR_PLATINUM,
|
||||
SKINCOLOR_SLATE,
|
||||
SKINCOLOR_STEEL,
|
||||
SKINCOLOR_THUNDER,
|
||||
SKINCOLOR_RUST,
|
||||
SKINCOLOR_WRISTWATCH,
|
||||
SKINCOLOR_JET,
|
||||
SKINCOLOR_SAPPHIRE, // sweet mother, i cannot weave - slender aphrodite has overcome me with longing for a girl
|
||||
SKINCOLOR_PERIWINKLE,
|
||||
SKINCOLOR_BLUE,
|
||||
SKINCOLOR_BLUEBERRY,
|
||||
SKINCOLOR_NOVA,
|
||||
SKINCOLOR_PASTEL,
|
||||
SKINCOLOR_MOONSLAM,
|
||||
SKINCOLOR_ULTRAVIOLET,
|
||||
SKINCOLOR_DUSK,
|
||||
SKINCOLOR_BUBBLEGUM,
|
||||
SKINCOLOR_PURPLE,
|
||||
SKINCOLOR_FUCHSIA,
|
||||
SKINCOLOR_TOXIC,
|
||||
SKINCOLOR_MAUVE,
|
||||
SKINCOLOR_LAVENDER,
|
||||
SKINCOLOR_BYZANTIUM,
|
||||
SKINCOLOR_POMEGRANATE,
|
||||
SKINCOLOR_LILAC,
|
||||
SKINCOLOR_BONE, // vanilla colors - shoutouts to Sonic Team Jr.
|
||||
SKINCOLOR_CARBON,
|
||||
SKINCOLOR_INK,
|
||||
SKINCOLOR_GHOST,
|
||||
SKINCOLOR_MARBLE,
|
||||
SKINCOLOR_BLUEBELL,
|
||||
SKINCOLOR_CHOCOLATE,
|
||||
SKINCOLOR_TAN,
|
||||
SKINCOLOR_PEACHY,
|
||||
SKINCOLOR_QUAIL,
|
||||
SKINCOLOR_LANTERN,
|
||||
SKINCOLOR_APRICOT,
|
||||
SKINCOLOR_SANDY,
|
||||
SKINCOLOR_BANANA,
|
||||
SKINCOLOR_SUNFLOWER,
|
||||
SKINCOLOR_OLIVINE,
|
||||
SKINCOLOR_PERIDOT,
|
||||
SKINCOLOR_APPLE,
|
||||
SKINCOLOR_SEAFOAM,
|
||||
SKINCOLOR_FOREST,
|
||||
SKINCOLOR_TOPAZ,
|
||||
SKINCOLOR_FROST,
|
||||
SKINCOLOR_WAVE,
|
||||
SKINCOLOR_ICY,
|
||||
SKINCOLOR_PEACOCK,
|
||||
SKINCOLOR_VAPOR,
|
||||
SKINCOLOR_GEMSTONE,
|
||||
SKINCOLOR_NEON,
|
||||
SKINCOLOR_PLUM,
|
||||
SKINCOLOR_VIOLET,
|
||||
SKINCOLOR_MAGENTA,
|
||||
SKINCOLOR_THISTLE,
|
||||
SKINCOLOR_DIAMOND, // custom color expansion begins here
|
||||
SKINCOLOR_RAVEN,
|
||||
SKINCOLOR_MUD,
|
||||
SKINCOLOR_EARTHWORM,
|
||||
SKINCOLOR_YOGURT,
|
||||
SKINCOLOR_PEARL,
|
||||
SKINCOLOR_STRAWBERRY,
|
||||
SKINCOLOR_SODA,
|
||||
SKINCOLOR_BLOODCELL,
|
||||
SKINCOLOR_MAHOGANY,
|
||||
SKINCOLOR_FIERY,
|
||||
SKINCOLOR_SPICE,
|
||||
SKINCOLOR_KING,
|
||||
SKINCOLOR_HOTDOG,
|
||||
SKINCOLOR_CARNATION,
|
||||
SKINCOLOR_CANDY,
|
||||
SKINCOLOR_NEBULA,
|
||||
SKINCOLOR_STEAMPUNK,
|
||||
SKINCOLOR_AMBER,
|
||||
SKINCOLOR_CARROT,
|
||||
SKINCOLOR_CHEESE,
|
||||
SKINCOLOR_DUNE,
|
||||
SKINCOLOR_BRASS,
|
||||
SKINCOLOR_CITRINE,
|
||||
SKINCOLOR_LEMON,
|
||||
SKINCOLOR_CASKET,
|
||||
SKINCOLOR_KHAKI,
|
||||
SKINCOLOR_LIGHT,
|
||||
SKINCOLOR_PEPPERMINT,
|
||||
SKINCOLOR_LASER,
|
||||
SKINCOLOR_ASPARAGUS,
|
||||
SKINCOLOR_ARMY,
|
||||
SKINCOLOR_CROW,
|
||||
SKINCOLOR_CHARTEUSE,
|
||||
SKINCOLOR_SLIME,
|
||||
SKINCOLOR_LEAF,
|
||||
SKINCOLOR_JUNGLE,
|
||||
SKINCOLOR_EVERGREEN,
|
||||
SKINCOLOR_TROPIC,
|
||||
SKINCOLOR_IGUANA,
|
||||
SKINCOLOR_SPEARMINT,
|
||||
SKINCOLOR_PATINA,
|
||||
SKINCOLOR_LAKESIDE,
|
||||
SKINCOLOR_ELECTRIC,
|
||||
SKINCOLOR_TURQUOISE,
|
||||
SKINCOLOR_PEGASUS,
|
||||
SKINCOLOR_PLASMA,
|
||||
SKINCOLOR_COMET,
|
||||
SKINCOLOR_LIGHTNING,
|
||||
SKINCOLOR_VACATION,
|
||||
SKINCOLOR_ULTRAMARINE,
|
||||
SKINCOLOR_DEPTHS,
|
||||
SKINCOLOR_DIANNE,
|
||||
SKINCOLOR_EXOTIC,
|
||||
SKINCOLOR_SNOW,
|
||||
SKINCOLOR_MOON,
|
||||
SKINCOLOR_LUNAR,
|
||||
SKINCOLOR_ONYX,
|
||||
SKINCOLOR_LAPIS,
|
||||
SKINCOLOR_ORCA,
|
||||
SKINCOLOR_STORM,
|
||||
SKINCOLOR_MIDNIGHT,
|
||||
SKINCOLOR_COTTONCANDY, // this color was a pain to get right
|
||||
SKINCOLOR_CYBER, // this one too
|
||||
SKINCOLOR_AMETHYST,
|
||||
SKINCOLOR_IRIS,
|
||||
SKINCOLOR_GOTHIC,
|
||||
SKINCOLOR_GRAPE,
|
||||
SKINCOLOR_INDIGO,
|
||||
SKINCOLOR_SAKURA,
|
||||
SKINCOLOR_DISCO,
|
||||
SKINCOLOR_MULBERRY,
|
||||
SKINCOLOR_BOYSENBERRY,
|
||||
SKINCOLOR_MYSTIC,
|
||||
SKINCOLOR_WICKED,
|
||||
|
||||
FIRSTSUPERCOLOR,
|
||||
|
||||
// Super special awesome Super flashing colors!
|
||||
// Super Sonic Yellow
|
||||
SKINCOLOR_SUPER1 = FIRSTSUPERCOLOR,
|
||||
SKINCOLOR_SUPER2,
|
||||
SKINCOLOR_SUPER3,
|
||||
SKINCOLOR_SUPER4,
|
||||
SKINCOLOR_SUPER5,
|
||||
|
||||
// Super Tails Orange
|
||||
SKINCOLOR_TSUPER1,
|
||||
SKINCOLOR_TSUPER2,
|
||||
SKINCOLOR_TSUPER3,
|
||||
SKINCOLOR_TSUPER4,
|
||||
SKINCOLOR_TSUPER5,
|
||||
|
||||
// Super Knuckles Red
|
||||
SKINCOLOR_KSUPER1,
|
||||
SKINCOLOR_KSUPER2,
|
||||
SKINCOLOR_KSUPER3,
|
||||
SKINCOLOR_KSUPER4,
|
||||
SKINCOLOR_KSUPER5,
|
||||
|
||||
// Hyper Sonic Pink
|
||||
SKINCOLOR_PSUPER1,
|
||||
SKINCOLOR_PSUPER2,
|
||||
SKINCOLOR_PSUPER3,
|
||||
SKINCOLOR_PSUPER4,
|
||||
SKINCOLOR_PSUPER5,
|
||||
|
||||
// Hyper Sonic Blue
|
||||
SKINCOLOR_BSUPER1,
|
||||
SKINCOLOR_BSUPER2,
|
||||
SKINCOLOR_BSUPER3,
|
||||
SKINCOLOR_BSUPER4,
|
||||
SKINCOLOR_BSUPER5,
|
||||
|
||||
// Aqua Super
|
||||
SKINCOLOR_ASUPER1,
|
||||
SKINCOLOR_ASUPER2,
|
||||
SKINCOLOR_ASUPER3,
|
||||
SKINCOLOR_ASUPER4,
|
||||
SKINCOLOR_ASUPER5,
|
||||
|
||||
// Hyper Sonic Green
|
||||
SKINCOLOR_GSUPER1,
|
||||
SKINCOLOR_GSUPER2,
|
||||
SKINCOLOR_GSUPER3,
|
||||
SKINCOLOR_GSUPER4,
|
||||
SKINCOLOR_GSUPER5,
|
||||
|
||||
// Hyper Sonic White
|
||||
SKINCOLOR_WSUPER1,
|
||||
SKINCOLOR_WSUPER2,
|
||||
SKINCOLOR_WSUPER3,
|
||||
SKINCOLOR_WSUPER4,
|
||||
SKINCOLOR_WSUPER5,
|
||||
|
||||
// Creamy Super (Shadow?)
|
||||
SKINCOLOR_CSUPER1,
|
||||
SKINCOLOR_CSUPER2,
|
||||
SKINCOLOR_CSUPER3,
|
||||
SKINCOLOR_CSUPER4,
|
||||
SKINCOLOR_CSUPER5,
|
||||
|
||||
#define _(name, ...) SKINCOLOR_##name,
|
||||
#include "info/skincolors.h"
|
||||
#undef _
|
||||
SKINCOLOR_FIRSTFREESLOT,
|
||||
SKINCOLOR_LASTFREESLOT = SKINCOLOR_FIRSTFREESLOT + NUMCOLORFREESLOTS - 1,
|
||||
|
||||
MAXSKINCOLORS,
|
||||
|
||||
FIRSTRAINBOWCOLOR = SKINCOLOR_PINK,
|
||||
FIRSTSUPERCOLOR = SKINCOLOR_SUPER1,
|
||||
NUMSUPERCOLORS = ((SKINCOLOR_FIRSTFREESLOT - FIRSTSUPERCOLOR)/5)
|
||||
} skincolornum_t;
|
||||
|
||||
|
|
|
|||
28776
src/info.c
28776
src/info.c
File diff suppressed because it is too large
Load diff
6593
src/info.h
6593
src/info.h
File diff suppressed because it is too large
Load diff
268
src/info/actions.h
Normal file
268
src/info/actions.h
Normal file
|
|
@ -0,0 +1,268 @@
|
|||
_(A_Explode, EXPLODE)
|
||||
_(A_Pain, PAIN)
|
||||
_(A_Fall, FALL)
|
||||
_(A_Look, LOOK)
|
||||
_(A_Chase, CHASE)
|
||||
_(A_FaceStabChase, FACESTABCHASE)
|
||||
_(A_FaceStabRev, FACESTABREV)
|
||||
_(A_FaceStabHurl, FACESTABHURL)
|
||||
_(A_FaceStabMiss, FACESTABMISS)
|
||||
_(A_StatueBurst, STATUEBURST)
|
||||
_(A_FaceTarget, FACETARGET)
|
||||
_(A_FaceTracer, FACETRACER)
|
||||
_(A_Scream, SCREAM)
|
||||
_(A_BossDeath, BOSSDEATH)
|
||||
_(A_RingBox, RINGBOX) // Obtained Ring Box Tails
|
||||
_(A_BunnyHop, BUNNYHOP) // have bunny hop tails
|
||||
_(A_BubbleSpawn, BUBBLESPAWN) // Randomly spawn bubbles
|
||||
_(A_FanBubbleSpawn, FANBUBBLESPAWN)
|
||||
_(A_BubbleRise, BUBBLERISE) // Bubbles float to surface
|
||||
_(A_BubbleCheck, BUBBLECHECK) // Don't draw if not underwater
|
||||
_(A_AwardScore, AWARDSCORE)
|
||||
_(A_ScoreRise, SCORERISE) // Rise the score logo
|
||||
_(A_AttractChase, ATTRACTCHASE) // Ring Chase
|
||||
_(A_DropMine, DROPMINE) // Drop Mine from Skim or Jetty-Syn Bomber
|
||||
_(A_FishJump, FISHJUMP) // Fish Jump
|
||||
_(A_SetSolidSteam, SETSOLIDSTEAM)
|
||||
_(A_UnsetSolidSteam, UNSETSOLIDSTEAM)
|
||||
_(A_SignPlayer, SIGNPLAYER)
|
||||
_(A_OverlayThink, OVERLAYTHINK)
|
||||
_(A_JetChase, JETCHASE)
|
||||
_(A_JetbThink, JETBTHINK) // Jetty-Syn Bomber Thinker
|
||||
_(A_JetgThink, JETGTHINK) // Jetty-Syn Gunner Thinker
|
||||
_(A_JetgShoot, JETGSHOOT) // Jetty-Syn Shoot Function
|
||||
_(A_ShootBullet, SHOOTBULLET) // JetgShoot without reactiontime setting
|
||||
_(A_MinusDigging, MINUSDIGGING)
|
||||
_(A_MinusPopup, MINUSPOPUP)
|
||||
_(A_MinusCheck, MINUSCHECK)
|
||||
_(A_ChickenCheck, CHICKENCHECK)
|
||||
_(A_MouseThink, MOUSETHINK) // Mouse Thinker
|
||||
_(A_DetonChase, DETONCHASE) // Deton Chaser
|
||||
_(A_CapeChase, CAPECHASE) // Fake little Super Sonic cape
|
||||
_(A_RotateSpikeBall, ROTATESPIKEBALL) // Spike ball rotation
|
||||
_(A_SlingAppear, SLINGAPPEAR)
|
||||
_(A_UnidusBall, UNIDUSBALL)
|
||||
_(A_RockSpawn, ROCKSPAWN)
|
||||
_(A_SetFuse, SETFUSE)
|
||||
_(A_CrawlaCommanderThink, CRAWLACOMMANDERTHINK) // Crawla Commander
|
||||
_(A_SmokeTrailer, SMOKETRAILER)
|
||||
_(A_RingExplode, RINGEXPLODE)
|
||||
_(A_OldRingExplode, OLDRINGEXPLODE)
|
||||
_(A_MixUp, MIXUP)
|
||||
_(A_Boss1Chase, BOSS1CHASE)
|
||||
_(A_FocusTarget, FOCUSTARGET)
|
||||
_(A_Boss2Chase, BOSS2CHASE)
|
||||
_(A_Boss2Pogo, BOSS2POGO)
|
||||
_(A_BossZoom, BOSSZOOM) // Unused
|
||||
_(A_BossScream, BOSSSCREAM)
|
||||
_(A_Boss2TakeDamage, BOSS2TAKEDAMAGE)
|
||||
_(A_Boss7Chase, BOSS7CHASE)
|
||||
_(A_GoopSplat, GOOPSPLAT)
|
||||
_(A_Boss2PogoSFX, BOSS2POGOSFX)
|
||||
_(A_Boss2PogoTarget, BOSS2POGOTARGET)
|
||||
_(A_BossJetFume, BOSSJETFUME)
|
||||
_(A_EggmanBox, EGGMANBOX)
|
||||
_(A_TurretFire, TURRETFIRE)
|
||||
_(A_SuperTurretFire, SUPERTURRETFIRE)
|
||||
_(A_TurretStop, TURRETSTOP)
|
||||
_(A_JetJawRoam, JETJAWROAM)
|
||||
_(A_JetJawChomp, JETJAWCHOMP)
|
||||
_(A_PointyThink, POINTYTHINK)
|
||||
_(A_CheckBuddy, CHECKBUDDY)
|
||||
_(A_HoodFire, HOODFIRE)
|
||||
_(A_HoodThink, HOODTHINK)
|
||||
_(A_HoodFall, HOODFALL)
|
||||
_(A_ArrowBonks, ARROWBONKS)
|
||||
_(A_SnailerThink, SNAILERTHINK)
|
||||
_(A_SharpChase, SHARPCHASE)
|
||||
_(A_SharpSpin, SHARPSPIN)
|
||||
_(A_SharpDecel, SHARPDECEL)
|
||||
_(A_CrushstaceanWalk, CRUSHSTACEANWALK)
|
||||
_(A_CrushstaceanPunch, CRUSHSTACEANPUNCH)
|
||||
_(A_CrushclawAim, CRUSHCLAWAIM)
|
||||
_(A_CrushclawLaunch, CRUSHCLAWLAUNCH)
|
||||
_(A_VultureVtol, VULTUREVTOL)
|
||||
_(A_VultureCheck, VULTURECHECK)
|
||||
_(A_VultureHover, VULTUREHOVER)
|
||||
_(A_VultureBlast, VULTUREBLAST)
|
||||
_(A_VultureFly, VULTUREFLY)
|
||||
_(A_SkimChase, SKIMCHASE)
|
||||
_(A_SkullAttack, SKULLATTACK)
|
||||
_(A_LobShot, LOBSHOT)
|
||||
_(A_FireShot, FIRESHOT)
|
||||
_(A_SuperFireShot, SUPERFIRESHOT)
|
||||
_(A_BossFireShot, BOSSFIRESHOT)
|
||||
_(A_Boss7FireMissiles, BOSS7FIREMISSILES)
|
||||
_(A_Boss1Laser, BOSS1LASER)
|
||||
_(A_Boss4Reverse, BOSS4REVERSE)
|
||||
_(A_Boss4SpeedUp, BOSS4SPEEDUP)
|
||||
_(A_Boss4Raise, BOSS4RAISE)
|
||||
_(A_SparkFollow, SPARKFOLLOW)
|
||||
_(A_BuzzFly, BUZZFLY)
|
||||
_(A_GuardChase, GUARDCHASE)
|
||||
_(A_EggShield, EGGSHIELD)
|
||||
_(A_SetReactionTime, SETREACTIONTIME)
|
||||
_(A_Boss1Spikeballs, BOSS1SPIKEBALLS)
|
||||
_(A_Boss3TakeDamage, BOSS3TAKEDAMAGE)
|
||||
_(A_Boss3Path, BOSS3PATH)
|
||||
_(A_Boss3ShockThink, BOSS3SHOCKTHINK)
|
||||
_(A_LinedefExecute, LINEDEFEXECUTE)
|
||||
_(A_LinedefExecuteFromArg, LINEDEFEXECUTEFROMARG)
|
||||
_(A_PlaySeeSound, PLAYSEESOUND)
|
||||
_(A_PlayAttackSound, PLAYATTACKSOUND)
|
||||
_(A_PlayActiveSound, PLAYACTIVESOUND)
|
||||
_(A_SpawnObjectAbsolute, SPAWNOBJECTABSOLUTE)
|
||||
_(A_SpawnObjectRelative, SPAWNOBJECTRELATIVE)
|
||||
_(A_ChangeAngleRelative, CHANGEANGLERELATIVE)
|
||||
_(A_ChangeAngleAbsolute, CHANGEANGLEABSOLUTE)
|
||||
_(A_RollAngle, ROLLANGLE)
|
||||
_(A_ChangeRollAngleRelative,CHANGEROLLANGLERELATIVE)
|
||||
_(A_ChangeRollAngleAbsolute,CHANGEROLLANGLEABSOLUTE)
|
||||
_(A_PlaySound, PLAYSOUND)
|
||||
_(A_FindTarget, FINDTARGET)
|
||||
_(A_FindTracer, FINDTRACER)
|
||||
_(A_SetTics, SETTICS)
|
||||
_(A_SetRandomTics, SETRANDOMTICS)
|
||||
_(A_ChangeColorRelative, CHANGECOLORRELATIVE)
|
||||
_(A_ChangeColorAbsolute, CHANGECOLORABSOLUTE)
|
||||
_(A_Dye, DYE)
|
||||
_(A_MoveRelative, MOVERELATIVE)
|
||||
_(A_MoveAbsolute, MOVEABSOLUTE)
|
||||
_(A_Thrust, THRUST)
|
||||
_(A_ZThrust, ZTHRUST)
|
||||
_(A_SetTargetsTarget, SETTARGETSTARGET)
|
||||
_(A_SetObjectFlags, SETOBJECTFLAGS)
|
||||
_(A_SetObjectFlags2, SETOBJECTFLAGS2)
|
||||
_(A_RandomState, RANDOMSTATE)
|
||||
_(A_RandomStateRange, RANDOMSTATERANGE)
|
||||
_(A_StateRangeByAngle, STATERANGEBYANGLE)
|
||||
_(A_StateRangeByParameter, STATERANGEBYPARAMETER)
|
||||
_(A_DualAction, DUALACTION)
|
||||
_(A_RemoteAction, REMOTEACTION)
|
||||
_(A_ToggleFlameJet, TOGGLEFLAMEJET)
|
||||
_(A_OrbitNights, ORBITNIGHTS)
|
||||
_(A_GhostMe, GHOSTME)
|
||||
_(A_SetObjectState, SETOBJECTSTATE)
|
||||
_(A_SetObjectTypeState, SETOBJECTTYPESTATE)
|
||||
_(A_KnockBack, KNOCKBACK)
|
||||
_(A_PushAway, PUSHAWAY)
|
||||
_(A_RingDrain, RINGDRAIN)
|
||||
_(A_SplitShot, SPLITSHOT)
|
||||
_(A_MissileSplit, MISSILESPLIT)
|
||||
_(A_MultiShot, MULTISHOT)
|
||||
_(A_InstaLoop, INSTALOOP)
|
||||
_(A_Custom3DRotate, CUSTOM3DROTATE)
|
||||
_(A_SearchForPlayers, SEARCHFORPLAYERS)
|
||||
_(A_CheckRandom, CHECKRANDOM)
|
||||
_(A_CheckTargetRings, CHECKTARGETRINGS)
|
||||
_(A_CheckRings, CHECKRINGS)
|
||||
_(A_CheckTotalRings, CHECKTOTALRINGS)
|
||||
_(A_CheckHealth, CHECKHEALTH)
|
||||
_(A_CheckRange, CHECKRANGE)
|
||||
_(A_CheckHeight, CHECKHEIGHT)
|
||||
_(A_CheckTrueRange, CHECKTRUERANGE)
|
||||
_(A_CheckThingCount, CHECKTHINGCOUNT)
|
||||
_(A_CheckAmbush, CHECKAMBUSH)
|
||||
_(A_CheckCustomValue, CHECKCUSTOMVALUE)
|
||||
_(A_CheckCusValMemo, CHECKCUSVALMEMO)
|
||||
_(A_SetCustomValue, SETCUSTOMVALUE)
|
||||
_(A_UseCusValMemo, USECUSVALMEMO)
|
||||
_(A_RelayCustomValue, RELAYCUSTOMVALUE)
|
||||
_(A_CusValAction, CUSVALACTION)
|
||||
_(A_ForceStop, FORCESTOP)
|
||||
_(A_ForceWin, FORCEWIN)
|
||||
_(A_SpikeRetract, SPIKERETRACT)
|
||||
_(A_InfoState, INFOSTATE)
|
||||
_(A_Repeat, REPEAT)
|
||||
_(A_SetScale, SETSCALE)
|
||||
_(A_RemoteDamage, REMOTEDAMAGE)
|
||||
_(A_HomingChase, HOMINGCHASE)
|
||||
_(A_TrapShot, TRAPSHOT)
|
||||
_(A_VileTarget, VILETARGET)
|
||||
_(A_VileAttack, VILEATTACK)
|
||||
_(A_VileFire, VILEFIRE)
|
||||
_(A_BrakChase, BRAKCHASE)
|
||||
_(A_BrakFireShot, BRAKFIRESHOT)
|
||||
_(A_BrakLobShot, BRAKLOBSHOT)
|
||||
_(A_NapalmScatter, NAPALMSCATTER)
|
||||
_(A_SpawnFreshCopy, SPAWNFRESHCOPY)
|
||||
_(A_FlickySpawn, FLICKYSPAWN)
|
||||
_(A_FlickyCenter, FLICKYCENTER)
|
||||
_(A_FlickyAim, FLICKYAIM)
|
||||
_(A_FlickyFly, FLICKYFLY)
|
||||
_(A_FlickySoar, FLICKYSOAR)
|
||||
_(A_FlickyCoast, FLICKYCOAST)
|
||||
_(A_FlickyHop, FLICKYHOP)
|
||||
_(A_FlickyFlounder, FLICKYFLOUNDER)
|
||||
_(A_FlickyCheck, FLICKYCHECK)
|
||||
_(A_FlickyHeightCheck, FLICKYHEIGHTCHECK)
|
||||
_(A_FlickyFlutter, FLICKYFLUTTER)
|
||||
_(A_FlameParticle, FLAMEPARTICLE)
|
||||
_(A_FadeOverlay, FADEOVERLAY)
|
||||
_(A_Boss5Jump, BOSS5JUMP)
|
||||
_(A_LightBeamReset, LIGHTBEAMRESET)
|
||||
_(A_MineExplode, MINEEXPLODE)
|
||||
_(A_MineRange, MINERANGE)
|
||||
_(A_ConnectToGround, CONNECTTOGROUND)
|
||||
_(A_SpawnParticleRelative, SPAWNPARTICLERELATIVE)
|
||||
_(A_ParticleSpawn, PARTICLESPAWN)
|
||||
_(A_MultiShotDist, MULTISHOTDIST)
|
||||
_(A_WhoCaresIfYourSonIsABee,WHOCARESIFYOURSONISABEE)
|
||||
_(A_ParentTriesToSleep, PARENTTRIESTOSLEEP)
|
||||
_(A_CryingToMomma, CRYINGTOMOMMA)
|
||||
_(A_CheckFlags2, CHECKFLAGS2)
|
||||
_(A_Boss5FindWaypoint, BOSS5FINDWAYPOINT)
|
||||
_(A_DoNPCSkid, DONPCSKID)
|
||||
_(A_DoNPCPain, DONPCPAIN)
|
||||
_(A_PrepareRepeat, PREPAREREPEAT)
|
||||
_(A_Boss5ExtraRepeat, BOSS5EXTRAREPEAT)
|
||||
_(A_Boss5Calm, BOSS5CALM)
|
||||
_(A_Boss5CheckOnGround, BOSS5CHECKONGROUND)
|
||||
_(A_Boss5CheckFalling, BOSS5CHECKFALLING)
|
||||
_(A_Boss5PinchShot, BOSS5PINCHSHOT)
|
||||
_(A_Boss5MakeItRain, BOSS5MAKEITRAIN)
|
||||
_(A_Boss5MakeJunk, BOSS5MAKEJUNK)
|
||||
_(A_LookForBetter, LOOKFORBETTER)
|
||||
_(A_Boss5BombExplode, BOSS5BOMBEXPLODE)
|
||||
_(A_TNTExplode, TNTEXPLODE)
|
||||
_(A_DebrisRandom, DEBRISRANDOM)
|
||||
_(A_TrainCameo, TRAINCAMEO)
|
||||
_(A_TrainCameo2, TRAINCAMEO2)
|
||||
_(A_CanarivoreGas, CANARIVOREGAS)
|
||||
_(A_KillSegments, KILLSEGMENTS)
|
||||
_(A_SnapperSpawn, SNAPPERSPAWN)
|
||||
_(A_SnapperThinker, SNAPPERTHINKER)
|
||||
_(A_SaloonDoorSpawn, SALOONDOORSPAWN)
|
||||
_(A_MinecartSparkThink, MINECARTSPARKTHINK)
|
||||
_(A_ModuloToState, MODULOTOSTATE)
|
||||
_(A_LavafallRocks, LAVAFALLROCKS)
|
||||
_(A_LavafallLava, LAVAFALLLAVA)
|
||||
_(A_FallingLavaCheck, FALLINGLAVACHECK)
|
||||
_(A_FireShrink, FIRESHRINK)
|
||||
_(A_SpawnPterabytes, SPAWNPTERABYTES)
|
||||
_(A_PterabyteHover, PTERABYTEHOVER)
|
||||
_(A_RolloutSpawn, ROLLOUTSPAWN)
|
||||
_(A_RolloutRock, ROLLOUTROCK)
|
||||
_(A_DragonbomberSpawn, DRAGONBOMBERSPAWN)
|
||||
_(A_DragonWing, DRAGONWING)
|
||||
_(A_DragonSegment, DRAGONSEGMENT)
|
||||
_(A_ChangeHeight, CHANGEHEIGHT)
|
||||
|
||||
// SRB2Kart
|
||||
_(A_ItemPop, ITEMPOP)
|
||||
_(A_JawzChase, JAWZCHASE)
|
||||
_(A_JawzExplode, JAWZEXPLODE)
|
||||
_(A_SPBChase, SPBCHASE)
|
||||
_(A_SSMineSearch, SSMINESEARCH)
|
||||
_(A_SSMineExplode, SSMINEEXPLODE)
|
||||
_(A_LandMineExplode, LANDMINEEXPLODE)
|
||||
_(A_BallhogExplode, BALLHOGEXPLODE)
|
||||
_(A_LightningFollowPlayer, LIGHTNINGFOLLOWPLAYER)
|
||||
_(A_FZBoomFlash, FZBOOMFLASH)
|
||||
_(A_FZBoomSmoke, FZBOOMSMOKE)
|
||||
_(A_RandomShadowFrame, RANDOMSHADOWFRAME)
|
||||
_(A_RoamingShadowThinker, ROAMINGSHADOWTHINKER)
|
||||
_(A_MayonakaArrow, MAYONAKAARROW)
|
||||
_(A_MementosTPParticles, MEMENTOSTPPARTICLES)
|
||||
_(A_ReaperThinker, REAPERTHINKER)
|
||||
_(A_DeathSpin, DEATHSPIN)
|
||||
1070
src/info/mobjs.h
Normal file
1070
src/info/mobjs.h
Normal file
File diff suppressed because it is too large
Load diff
272
src/info/skincolors.h
Normal file
272
src/info/skincolors.h
Normal file
|
|
@ -0,0 +1,272 @@
|
|||
_(NONE)
|
||||
_(WHITE)
|
||||
_(SILVER)
|
||||
_(GREY)
|
||||
_(NICKEL)
|
||||
_(BLACK)
|
||||
_(SKUNK)
|
||||
_(FAIRY)
|
||||
_(POPCORN)
|
||||
_(ARTICHOKE)
|
||||
_(PIGEON)
|
||||
_(SEPIA)
|
||||
_(BEIGE)
|
||||
_(WALNUT)
|
||||
_(BROWN)
|
||||
_(LEATHER)
|
||||
_(SALMON)
|
||||
_(PINK)
|
||||
_(ROSE)
|
||||
_(BRICK)
|
||||
_(CINNAMON)
|
||||
_(RUBY)
|
||||
_(RASPBERRY)
|
||||
_(CHERRY)
|
||||
_(RED)
|
||||
_(CRIMSON)
|
||||
_(MAROON)
|
||||
_(LEMONADE)
|
||||
_(FLAME)
|
||||
_(SCARLET)
|
||||
_(KETCHUP)
|
||||
_(DAWN)
|
||||
_(SUNSET)
|
||||
_(CREAMSICLE)
|
||||
_(ORANGE)
|
||||
_(PUMPKIN)
|
||||
_(ROSEWOOD)
|
||||
_(BURGUNDY)
|
||||
_(TANGERINE)
|
||||
_(PEACH)
|
||||
_(CARAMEL)
|
||||
_(CREAM)
|
||||
_(GOLD)
|
||||
_(ROYAL)
|
||||
_(BRONZE)
|
||||
_(COPPER)
|
||||
_(QUARRY)
|
||||
_(YELLOW)
|
||||
_(MUSTARD)
|
||||
_(CROCODILE)
|
||||
_(OLIVE)
|
||||
_(VOMIT)
|
||||
_(GARDEN)
|
||||
_(LIME)
|
||||
_(HANDHELD)
|
||||
_(TEA)
|
||||
_(PISTACHIO)
|
||||
_(MOSS)
|
||||
_(CAMOUFLAGE)
|
||||
_(ROBOHOOD)
|
||||
_(MINT)
|
||||
_(GREEN)
|
||||
_(PINETREE)
|
||||
_(EMERALD)
|
||||
_(SWAMP)
|
||||
_(DREAM)
|
||||
_(PLAGUE)
|
||||
_(ALGAE)
|
||||
_(CARIBBEAN)
|
||||
_(AZURE)
|
||||
_(AQUA)
|
||||
_(TEAL)
|
||||
_(CYAN)
|
||||
_(JAWZ) // Oni's torment
|
||||
_(CERULEAN)
|
||||
_(NAVY)
|
||||
_(PLATINUM)
|
||||
_(SLATE)
|
||||
_(STEEL)
|
||||
_(THUNDER)
|
||||
_(RUST)
|
||||
_(WRISTWATCH)
|
||||
_(JET)
|
||||
_(SAPPHIRE) // sweet mother, i cannot weave - slender aphrodite has overcome me with longing for a girl
|
||||
_(PERIWINKLE)
|
||||
_(BLUE)
|
||||
_(BLUEBERRY)
|
||||
_(NOVA)
|
||||
_(PASTEL)
|
||||
_(MOONSLAM)
|
||||
_(ULTRAVIOLET)
|
||||
_(DUSK)
|
||||
_(BUBBLEGUM)
|
||||
_(PURPLE)
|
||||
_(FUCHSIA)
|
||||
_(TOXIC)
|
||||
_(MAUVE)
|
||||
_(LAVENDER)
|
||||
_(BYZANTIUM)
|
||||
_(POMEGRANATE)
|
||||
_(LILAC)
|
||||
_(BONE) // vanilla colors - shoutouts to Sonic Team Jr.
|
||||
_(CARBON)
|
||||
_(INK)
|
||||
_(GHOST)
|
||||
_(MARBLE)
|
||||
_(BLUEBELL)
|
||||
_(CHOCOLATE)
|
||||
_(TAN)
|
||||
_(PEACHY)
|
||||
_(QUAIL)
|
||||
_(LANTERN)
|
||||
_(APRICOT)
|
||||
_(SANDY)
|
||||
_(BANANA)
|
||||
_(SUNFLOWER)
|
||||
_(OLIVINE)
|
||||
_(PERIDOT)
|
||||
_(APPLE)
|
||||
_(SEAFOAM)
|
||||
_(FOREST)
|
||||
_(TOPAZ)
|
||||
_(FROST)
|
||||
_(WAVE)
|
||||
_(ICY)
|
||||
_(PEACOCK)
|
||||
_(VAPOR)
|
||||
_(GEMSTONE)
|
||||
_(NEON)
|
||||
_(PLUM)
|
||||
_(VIOLET)
|
||||
_(MAGENTA)
|
||||
_(THISTLE)
|
||||
_(DIAMOND) // custom color expansion begins here
|
||||
_(RAVEN)
|
||||
_(MUD)
|
||||
_(EARTHWORM)
|
||||
_(YOGURT)
|
||||
_(PEARL)
|
||||
_(STRAWBERRY)
|
||||
_(SODA)
|
||||
_(BLOODCELL)
|
||||
_(MAHOGANY)
|
||||
_(FIERY)
|
||||
_(SPICE)
|
||||
_(KING)
|
||||
_(HOTDOG)
|
||||
_(CARNATION)
|
||||
_(CANDY)
|
||||
_(NEBULA)
|
||||
_(STEAMPUNK)
|
||||
_(AMBER)
|
||||
_(CARROT)
|
||||
_(CHEESE)
|
||||
_(DUNE)
|
||||
_(BRASS)
|
||||
_(CITRINE)
|
||||
_(LEMON)
|
||||
_(CASKET)
|
||||
_(KHAKI)
|
||||
_(LIGHT)
|
||||
_(PEPPERMINT)
|
||||
_(LASER)
|
||||
_(ASPARAGUS)
|
||||
_(ARMY)
|
||||
_(CROW)
|
||||
_(CHARTEUSE)
|
||||
_(SLIME)
|
||||
_(LEAF)
|
||||
_(JUNGLE)
|
||||
_(EVERGREEN)
|
||||
_(TROPIC)
|
||||
_(IGUANA)
|
||||
_(SPEARMINT)
|
||||
_(PATINA)
|
||||
_(LAKESIDE)
|
||||
_(ELECTRIC)
|
||||
_(TURQUOISE)
|
||||
_(PEGASUS)
|
||||
_(PLASMA)
|
||||
_(COMET)
|
||||
_(LIGHTNING)
|
||||
_(VACATION)
|
||||
_(ULTRAMARINE)
|
||||
_(DEPTHS)
|
||||
_(DIANNE)
|
||||
_(EXOTIC)
|
||||
_(SNOW)
|
||||
_(MOON)
|
||||
_(LUNAR)
|
||||
_(ONYX)
|
||||
_(LAPIS)
|
||||
_(ORCA)
|
||||
_(STORM)
|
||||
_(MIDNIGHT)
|
||||
_(COTTONCANDY) // this color was a pain to get right
|
||||
_(CYBER) // this one too
|
||||
_(AMETHYST)
|
||||
_(IRIS)
|
||||
_(GOTHIC)
|
||||
_(GRAPE)
|
||||
_(INDIGO)
|
||||
_(SAKURA)
|
||||
_(DISCO)
|
||||
_(MULBERRY)
|
||||
_(BOYSENBERRY)
|
||||
_(MYSTIC)
|
||||
_(WICKED)
|
||||
|
||||
// Super special awesome Super flashing colors!
|
||||
// Super Sonic Yellow
|
||||
_(SUPER1)
|
||||
_(SUPER2)
|
||||
_(SUPER3)
|
||||
_(SUPER4)
|
||||
_(SUPER5)
|
||||
|
||||
// Super Tails Orange
|
||||
_(TSUPER1)
|
||||
_(TSUPER2)
|
||||
_(TSUPER3)
|
||||
_(TSUPER4)
|
||||
_(TSUPER5)
|
||||
|
||||
// Super Knuckles Red
|
||||
_(KSUPER1)
|
||||
_(KSUPER2)
|
||||
_(KSUPER3)
|
||||
_(KSUPER4)
|
||||
_(KSUPER5)
|
||||
|
||||
// Hyper Sonic Pink
|
||||
_(PSUPER1)
|
||||
_(PSUPER2)
|
||||
_(PSUPER3)
|
||||
_(PSUPER4)
|
||||
_(PSUPER5)
|
||||
|
||||
// Hyper Sonic Blue
|
||||
_(BSUPER1)
|
||||
_(BSUPER2)
|
||||
_(BSUPER3)
|
||||
_(BSUPER4)
|
||||
_(BSUPER5)
|
||||
|
||||
// Aqua Super
|
||||
_(ASUPER1)
|
||||
_(ASUPER2)
|
||||
_(ASUPER3)
|
||||
_(ASUPER4)
|
||||
_(ASUPER5)
|
||||
|
||||
// Hyper Sonic Green
|
||||
_(GSUPER1)
|
||||
_(GSUPER2)
|
||||
_(GSUPER3)
|
||||
_(GSUPER4)
|
||||
_(GSUPER5)
|
||||
|
||||
// Hyper Sonic White
|
||||
_(WSUPER1)
|
||||
_(WSUPER2)
|
||||
_(WSUPER3)
|
||||
_(WSUPER4)
|
||||
_(WSUPER5)
|
||||
|
||||
// Creamy Super (Shadow?)
|
||||
_(CSUPER1)
|
||||
_(CSUPER2)
|
||||
_(CSUPER3)
|
||||
_(CSUPER4)
|
||||
_(CSUPER5)
|
||||
1199
src/info/sounds.h
Normal file
1199
src/info/sounds.h
Normal file
File diff suppressed because it is too large
Load diff
24
src/info/sprite2.h
Normal file
24
src/info/sprite2.h
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
// Make sure to be conscious of FF_FRAMEMASK and the fact sprite2 is stored as a UINT8 whenever you change this table.
|
||||
// Currently, FF_FRAMEMASK is 0xff, or 255 - but the second half is used by FF_SPR2SUPER, so the limitation is 0x7f.
|
||||
// Since this is zero-based, there can be at most 128 different SPR2_'s without changing that.
|
||||
|
||||
_(STIN) _(STIL) _(STIR) // Still
|
||||
_(STGL) _(STGR) // Still (glance back)
|
||||
_(STLL) _(STLR) // Still (look back)
|
||||
|
||||
_(SLWN) _(SLWL) _(SLWR) // Slow driving
|
||||
_(SLGL) _(SLGR) // Slow (glance back)
|
||||
_(SLLL) _(SLLR) // Slow (look back)
|
||||
|
||||
_(FSTN) _(FSTL) _(FSTR) // Fast driving
|
||||
_(FSGL) _(FSGR) // Fast (glance back)
|
||||
_(FSLL) _(FSLR) // Fast (look back)
|
||||
|
||||
_(DRLN) _(DRLO) _(DRLI) // Drifting left
|
||||
_(DRRN) _(DRRO) _(DRRI) // Drifting right
|
||||
|
||||
_(SPIN) // Spinout
|
||||
_(DEAD) // Dead
|
||||
|
||||
_(SIGN) // Finish signpost
|
||||
_(XTRA) // Three Faces of Darkness
|
||||
717
src/info/sprites.h
Normal file
717
src/info/sprites.h
Normal file
|
|
@ -0,0 +1,717 @@
|
|||
// Hey, moron! If you change this table, you can actually forget about sprnames in info.c,
|
||||
// because it uses this macro below and does not need to be touched if you alter any sprites :^)
|
||||
|
||||
_(NULL) // invisible object
|
||||
_(NONE) // invisible but still rendered
|
||||
_(UNKN)
|
||||
|
||||
_(THOK) // Thok! mobj
|
||||
_(PLAY)
|
||||
_(KART)
|
||||
_(TIRE)
|
||||
|
||||
// Enemies
|
||||
_(POSS) // Crawla (Blue)
|
||||
_(SPOS) // Crawla (Red)
|
||||
_(FISH) // SDURF
|
||||
_(BUZZ) // Buzz (Gold)
|
||||
_(RBUZ) // Buzz (Red)
|
||||
_(JETB) // Jetty-Syn Bomber
|
||||
_(JETG) // Jetty-Syn Gunner
|
||||
_(CCOM) // Crawla Commander
|
||||
_(DETN) // Deton
|
||||
_(SKIM) // Skim mine dropper
|
||||
_(TRET) // Industrial Turret
|
||||
_(TURR) // Pop-Up Turret
|
||||
_(SHRP) // Sharp
|
||||
//_(CRAB) // Crushstacean
|
||||
_(CR2B) // Banpyura
|
||||
_(CSPR) // Banpyura spring
|
||||
_(JJAW) // Jet Jaw
|
||||
_(SNLR) // Snailer
|
||||
_(VLTR) // BASH
|
||||
_(PNTY) // Pointy
|
||||
_(ARCH) // Robo-Hood
|
||||
_(CBFS) // Castlebot Facestabber
|
||||
_(STAB) // Castlebot Facestabber spear aura
|
||||
_(SPSH) // Egg Guard
|
||||
_(ESHI) // Egg Guard's shield
|
||||
_(GSNP) // Green Snapper
|
||||
_(GSNL) // Green Snapper leg
|
||||
_(GSNH) // Green Snapper head
|
||||
_(MNUS) // Minus
|
||||
_(MNUD) // Minus dirt
|
||||
_(SSHL) // Spring Shell
|
||||
_(UNID) // Unidus
|
||||
_(CANA) // Canarivore
|
||||
_(CANG) // Canarivore gas
|
||||
_(PYRE) // Pyre Fly
|
||||
_(PTER) // Pterabyte
|
||||
_(DRAB) // Dragonbomber
|
||||
|
||||
// Generic Boss Items
|
||||
_(JETF) // Boss jet fumes
|
||||
|
||||
// Boss 1 (Greenflower)
|
||||
_(EGGM) // Boss 1
|
||||
_(EGLZ) // Boss 1 Junk
|
||||
|
||||
// Boss 2 (Techno Hill)
|
||||
_(EGGN) // Boss 2
|
||||
_(TANK) // Boss 2 Junk
|
||||
_(GOOP) // Boss 2 Goop
|
||||
|
||||
// Boss 3 (Deep Sea)
|
||||
_(EGGO) // Boss 3
|
||||
_(SEBH) // Boss 3 Junk
|
||||
_(FAKE) // Boss 3 Fakemobile
|
||||
_(SHCK) // Boss 3 Shockwave
|
||||
|
||||
// Boss 4 (Castle Eggman)
|
||||
_(EGGP)
|
||||
_(EFIR) // Boss 4 jet flame
|
||||
_(EGR1) // Boss 4 Spectator Eggrobo
|
||||
|
||||
// Boss 5 (Arid Canyon)
|
||||
_(FANG) // replaces EGGQ
|
||||
_(BRKN)
|
||||
_(WHAT)
|
||||
_(VWRE)
|
||||
_(PROJ) // projector light
|
||||
_(FBOM)
|
||||
_(FSGN)
|
||||
_(BARX) // bomb explosion (also used by barrel)
|
||||
_(BARD) // bomb dust (also used by barrel)
|
||||
|
||||
// Boss 6 (Red Volcano)
|
||||
_(EGGR)
|
||||
|
||||
// Boss 7 (Dark City)
|
||||
_(BRAK)
|
||||
_(BGOO) // Goop
|
||||
_(BMSL)
|
||||
|
||||
// Boss 8 (Egg Rock)
|
||||
_(EGGT)
|
||||
|
||||
// Cy-Brak-Demon; uses SPR_BRAK as well, but has some extras
|
||||
_(RCKT) // Rockets!
|
||||
_(ELEC) // Electricity!
|
||||
_(TARG) // Targeting reticules!
|
||||
_(NPLM) // Big napalm bombs!
|
||||
_(MNPL) // Mini napalm bombs!
|
||||
|
||||
// Metal Sonic
|
||||
_(METL)
|
||||
_(MSCF)
|
||||
_(MSCB)
|
||||
|
||||
// Collectible Items
|
||||
_(RING)
|
||||
_(TRNG) // Team Rings
|
||||
_(TOKE) // Special Stage Token
|
||||
_(RFLG) // Red CTF Flag
|
||||
_(BFLG) // Blue CTF Flag
|
||||
_(BSPH) // Sphere
|
||||
_(NCHP) // NiGHTS chip
|
||||
_(NSTR) // NiGHTS star
|
||||
_(EMBM) // Emblem
|
||||
_(CEMG) // Chaos Emeralds
|
||||
_(SHRD) // Emerald Hunt
|
||||
|
||||
// Interactive Objects
|
||||
_(BBLS) // water bubble source
|
||||
_(SIGN) // Level end sign
|
||||
_(SPIK) // Spike Ball
|
||||
_(SFLM) // Spin fire
|
||||
_(TFLM) // Spin fire (team)
|
||||
_(USPK) // Floor spike
|
||||
_(WSPK) // Wall spike
|
||||
_(WSPB) // Wall spike base
|
||||
_(STPT) // Starpost
|
||||
_(BMNE) // Big floating mine
|
||||
_(PUMI) // Rollout Rock
|
||||
|
||||
// Monitor Boxes
|
||||
_(MSTV) // MiSc TV sprites
|
||||
_(XLTV) // eXtra Large TV sprites
|
||||
|
||||
_(TRRI) // Red team: 10 RIngs
|
||||
_(TBRI) // Blue team: 10 RIngs
|
||||
|
||||
_(TVRI) // 10 RIng
|
||||
_(TVPI) // PIty shield
|
||||
_(TVAT) // ATtraction shield
|
||||
_(TVFO) // FOrce shield
|
||||
_(TVAR) // ARmageddon shield
|
||||
_(TVWW) // WhirlWind shield
|
||||
_(TVEL) // ELemental shield
|
||||
_(TVSS) // Super Sneakers
|
||||
_(TVIV) // InVincibility
|
||||
_(TV1U) // 1Up
|
||||
_(TV1P) // 1uP (textless)
|
||||
_(TVEG) // EGgman
|
||||
_(TVMX) // MiXup
|
||||
_(TVMY) // MYstery
|
||||
_(TVGV) // GraVity boots
|
||||
_(TVRC) // ReCycler
|
||||
_(TV1K) // 1,000 points (1 K)
|
||||
_(TVTK) // 10,000 points (Ten K)
|
||||
_(TVFL) // FLame shield
|
||||
_(TVBB) // BuBble shield
|
||||
_(TVZP) // Thunder shield (ZaP)
|
||||
|
||||
// Projectiles
|
||||
_(MISL)
|
||||
_(LASR) // GFZ3 laser
|
||||
_(LASF) // GFZ3 laser flames
|
||||
_(TORP) // Torpedo
|
||||
_(ENRG) // Energy ball
|
||||
_(MINE) // Skim mine
|
||||
_(JBUL) // Jetty-Syn Bullet
|
||||
_(TRLS)
|
||||
_(CBLL) // Cannonball
|
||||
_(AROW) // Arrow
|
||||
_(CFIR) // Colored fire of various sorts
|
||||
|
||||
// The letter
|
||||
_(LETR)
|
||||
|
||||
// Greenflower Scenery
|
||||
_(FWR1)
|
||||
_(FWR2) // GFZ Sunflower
|
||||
_(FWR3) // GFZ budding flower
|
||||
_(FWR4)
|
||||
_(BUS1) // GFZ Bush w/ berries
|
||||
_(BUS2) // GFZ Bush w/o berries
|
||||
_(BUS3) // GFZ Bush w/ BLUE berries
|
||||
// Trees (both GFZ and misc)
|
||||
_(TRE1) // GFZ
|
||||
_(TRE2) // Checker
|
||||
_(TRE3) // Frozen Hillside
|
||||
_(TRE4) // Polygon
|
||||
_(TRE5) // Bush tree
|
||||
_(TRE6) // Spring tree
|
||||
|
||||
// Techno Hill Scenery
|
||||
_(THZP) // THZ1 Steam Flower
|
||||
_(FWR5) // THZ1 Spin flower (red)
|
||||
_(FWR6) // THZ1 Spin flower (yellow)
|
||||
_(THZT) // Steam Whistle tree/bush
|
||||
_(ALRM) // THZ2 Alarm
|
||||
|
||||
// Deep Sea Scenery
|
||||
_(GARG) // Deep Sea Gargoyle
|
||||
_(SEWE) // Deep Sea Seaweed
|
||||
_(DRIP) // Dripping water
|
||||
_(CORL) // Coral
|
||||
_(BCRY) // Blue Crystal
|
||||
_(KELP) // Kelp
|
||||
_(ALGA) // Animated algae top
|
||||
_(ALGB) // Animated algae segment
|
||||
_(DSTG) // DSZ Stalagmites
|
||||
_(LIBE) // DSZ Light beam
|
||||
|
||||
// Castle Eggman Scenery
|
||||
_(CHAN) // CEZ Chain
|
||||
_(FLAM) // Flame
|
||||
_(ESTA) // Eggman esta una estatua!
|
||||
_(SMCH) // Small Mace Chain
|
||||
_(BMCH) // Big Mace Chain
|
||||
_(SMCE) // Small Mace
|
||||
_(BMCE) // Big Mace
|
||||
_(YSPB) // Yellow spring on a ball
|
||||
_(RSPB) // Red spring on a ball
|
||||
_(SFBR) // Small Firebar
|
||||
_(BFBR) // Big Firebar
|
||||
_(BANR) // Banner/pole
|
||||
_(PINE) // Pine Tree
|
||||
_(CEZB) // Bush
|
||||
_(CNDL) // Candle/pricket
|
||||
_(FLMH) // Flame holder
|
||||
_(CTRC) // Fire torch
|
||||
_(CFLG) // Waving flag/segment
|
||||
_(CSTA) // Crawla statue
|
||||
_(CBBS) // Facestabber statue
|
||||
_(CABR) // Brambles
|
||||
|
||||
// Arid Canyon Scenery
|
||||
_(BTBL) // Big tumbleweed
|
||||
_(STBL) // Small tumbleweed
|
||||
_(CACT) // Cacti
|
||||
_(WWSG) // Caution Sign
|
||||
_(WWS2) // Cacti Sign
|
||||
_(WWS3) // Sharp Turn Sign
|
||||
_(OILL) // Oil lamp
|
||||
_(OILF) // Oil lamp flare
|
||||
_(BARR) // TNT barrel
|
||||
_(REMT) // TNT proximity shell
|
||||
_(TAZD) // Dust devil
|
||||
_(ADST) // Arid dust
|
||||
_(MCRT) // Minecart
|
||||
_(MCSP) // Minecart spark
|
||||
_(SALD) // Saloon door
|
||||
_(TRAE) // Train cameo locomotive
|
||||
_(TRAI) // Train cameo wagon
|
||||
_(STEA) // Train steam
|
||||
|
||||
// Red Volcano Scenery
|
||||
_(FLME) // Flame jet
|
||||
_(DFLM) // Blade's flame
|
||||
_(LFAL) // Lavafall
|
||||
_(JPLA) // Jungle palm
|
||||
_(TFLO) // Torch flower
|
||||
_(WVIN) // Wall vines
|
||||
|
||||
// Dark City Scenery
|
||||
|
||||
// Egg Rock Scenery
|
||||
|
||||
// Christmas Scenery
|
||||
_(XMS1) // Christmas Pole
|
||||
_(XMS2) // Candy Cane
|
||||
_(XMS3) // Snowman
|
||||
_(XMS4) // Lamppost
|
||||
_(XMS5) // Hanging Star
|
||||
_(XMS6) // Mistletoe
|
||||
_(FHZI) // FHZ Ice
|
||||
_(ROSY)
|
||||
|
||||
// Halloween Scenery
|
||||
_(PUMK) // Pumpkins
|
||||
_(HHPL) // Dr Seuss Trees
|
||||
_(SHRM) // Mushroom
|
||||
_(HHZM) // Misc
|
||||
|
||||
// Azure Temple Scenery
|
||||
_(BGAR) // ATZ Gargoyles
|
||||
_(RCRY) // ATZ Red Crystal (Target)
|
||||
_(CFLM) // Green torch flame
|
||||
|
||||
// Botanic Serenity Scenery
|
||||
_(BSZ1) // Tall flowers
|
||||
_(BSZ2) // Medium flowers
|
||||
_(BSZ3) // Small flowers
|
||||
_(BSZ4) // Tulip
|
||||
_(BSZ5) // Cluster of Tulips
|
||||
_(BSZ6) // Bush
|
||||
_(BSZ7) // Vine
|
||||
_(BSZ8) // Misc things
|
||||
|
||||
// Misc Scenery
|
||||
_(STLG) // Stalagmites
|
||||
_(DBAL) // Disco
|
||||
|
||||
// Powerup Indicators
|
||||
_(ARMA) // Armageddon Shield Orb
|
||||
_(ARMF) // Armageddon Shield Ring, Front
|
||||
_(ARMB) // Armageddon Shield Ring, Back
|
||||
_(WIND) // Whirlwind Shield Orb
|
||||
_(MAGN) // Attract Shield Orb
|
||||
_(ELEM) // Elemental Shield Orb
|
||||
_(FORC) // Force Shield Orb
|
||||
_(PITY) // Pity Shield Orb
|
||||
_(FIRS) // Flame Shield Orb
|
||||
//_(BUBS) // Bubble Shield Orb
|
||||
_(ZAPS) // Thunder Shield Orb
|
||||
_(IVSP) // invincibility sparkles
|
||||
_(SSPK) // Super Sonic Spark
|
||||
|
||||
_(GOAL) // Special Stage goal (here because lol NiGHTS)
|
||||
|
||||
// Flickies
|
||||
_(FBUB) // Flicky-sized bubble
|
||||
_(FL01) // Bluebird
|
||||
_(FL02) // Rabbit
|
||||
_(FL03) // Chicken
|
||||
_(FL04) // Seal
|
||||
_(FL05) // Pig
|
||||
_(FL06) // Chipmunk
|
||||
_(FL07) // Penguin
|
||||
_(FL08) // Fish
|
||||
_(FL09) // Ram
|
||||
_(FL10) // Puffin
|
||||
_(FL11) // Cow
|
||||
_(FL12) // Rat
|
||||
_(FL13) // Bear
|
||||
_(FL14) // Dove
|
||||
_(FL15) // Cat
|
||||
_(FL16) // Canary
|
||||
_(FS01) // Spider
|
||||
_(FS02) // Bat
|
||||
|
||||
// Springs
|
||||
_(FANS) // Fan
|
||||
_(STEM) // Steam riser
|
||||
_(BMPR) // Bumpers
|
||||
_(BLON) // Balloons
|
||||
_(SPRY) // Yellow Vertical Spring
|
||||
_(SPRR) // Red Vertical Spring
|
||||
_(SPRB) // Blue Vertical Spring
|
||||
_(SPRG) // Grey Vertical Spring
|
||||
_(YSPR) // Yellow Diagonal Spring
|
||||
_(RSPR) // Red Diagonal Spring
|
||||
_(BSPR) // Blue Diagonal Spring
|
||||
_(GSPR) // Grey Diagonal Spring
|
||||
_(SSWY) // Yellow Horizontal Spring
|
||||
_(SSWR) // Red Horizontal Spring
|
||||
_(SSWB) // Blue Horizontal Spring
|
||||
_(SSWG) // Grey Horizontal Spring
|
||||
_(BSTY) // Yellow Booster
|
||||
_(BSTR) // Red Booster
|
||||
|
||||
// Environmental Effects
|
||||
_(RAIN) // Rain
|
||||
_(SNO1) // Snowflake
|
||||
_(SNO2) // Blizzard Snowball
|
||||
_(SPLH) // Water Splish
|
||||
_(LSPL) // Lava Splish
|
||||
_(SPLA) // Water Splash
|
||||
_(SMOK)
|
||||
_(BUBL) // Bubble
|
||||
_(WZAP)
|
||||
_(DUST) // Spindash dust
|
||||
_(FPRT) // Spindash dust (flame)
|
||||
_(TFOG) // Teleport Fog
|
||||
_(SEED) // Sonic CD flower seed
|
||||
_(PRTL) // Particle (for fans, etc.)
|
||||
|
||||
// Game Indicators
|
||||
_(SCOR) // Score logo
|
||||
_(DRWN) // Drowning Timer
|
||||
_(FLII) // AI flight indicator
|
||||
_(LCKN) // Target
|
||||
_(TTAG) // Tag Sign
|
||||
_(GFLG) // Got Flag sign
|
||||
_(FNSF) // Finish flag
|
||||
|
||||
_(CORK)
|
||||
_(LHRT)
|
||||
|
||||
// Ring Weapons
|
||||
_(RRNG) // Red Ring
|
||||
_(RNGB) // Bounce Ring
|
||||
_(RNGR) // Rail Ring
|
||||
_(RNGI) // Infinity Ring
|
||||
_(RNGA) // Automatic Ring
|
||||
_(RNGE) // Explosion Ring
|
||||
_(RNGS) // Scatter Ring
|
||||
_(RNGG) // Grenade Ring
|
||||
|
||||
_(PIKB) // Bounce Ring Pickup
|
||||
_(PIKR) // Rail Ring Pickup
|
||||
_(PIKA) // Automatic Ring Pickup
|
||||
_(PIKE) // Explosion Ring Pickup
|
||||
_(PIKS) // Scatter Ring Pickup
|
||||
_(PIKG) // Grenade Ring Pickup
|
||||
|
||||
_(TAUT) // Thrown Automatic Ring
|
||||
_(TGRE) // Thrown Grenade Ring
|
||||
_(TSCR) // Thrown Scatter Ring
|
||||
|
||||
// Mario-specific stuff
|
||||
_(COIN)
|
||||
_(CPRK)
|
||||
_(GOOM)
|
||||
_(BGOM)
|
||||
_(FFWR)
|
||||
_(FBLL)
|
||||
_(SHLL)
|
||||
_(PUMA)
|
||||
_(HAMM)
|
||||
_(KOOP)
|
||||
_(BFLM)
|
||||
_(MAXE)
|
||||
_(MUS1)
|
||||
_(MUS2)
|
||||
_(TOAD)
|
||||
|
||||
// NiGHTS Stuff
|
||||
_(NDRN) // NiGHTS drone
|
||||
_(NSPK) // NiGHTS sparkle
|
||||
_(NBMP) // NiGHTS Bumper
|
||||
_(HOOP) // NiGHTS hoop sprite
|
||||
_(NSCR) // NiGHTS score sprite
|
||||
_(NWNG) // NIGHTS Wing
|
||||
_(NPRU) // Nights Powerups
|
||||
_(CAPS) // Capsule thingy for NiGHTS
|
||||
_(IDYA) // Ideya
|
||||
_(NTPN) // Nightopian
|
||||
_(SHLP) // Shleep
|
||||
|
||||
// Secret badniks and hazards, shhhh
|
||||
_(PENG)
|
||||
_(POPH)
|
||||
_(HIVE)
|
||||
_(BUMB)
|
||||
_(BBUZ)
|
||||
_(FMCE)
|
||||
_(HMCE)
|
||||
_(CACO)
|
||||
_(BAL2)
|
||||
_(SBOB)
|
||||
_(SBFL)
|
||||
_(SBSK)
|
||||
_(HBAT)
|
||||
|
||||
// Debris
|
||||
_(SPRK) // Sparkle
|
||||
_(BOM1) // Robot Explosion
|
||||
_(BOM2) // Boss Explosion 1
|
||||
_(BOM3) // Boss Explosion 2
|
||||
_(BOM4) // Underwater Explosion
|
||||
_(BMNB) // Mine Explosion
|
||||
|
||||
// Crumbly rocks
|
||||
_(ROIA)
|
||||
_(ROIB)
|
||||
_(ROIC)
|
||||
_(ROID)
|
||||
_(ROIE)
|
||||
_(ROIF)
|
||||
_(ROIG)
|
||||
_(ROIH)
|
||||
_(ROII)
|
||||
_(ROIJ)
|
||||
_(ROIK)
|
||||
_(ROIL)
|
||||
_(ROIM)
|
||||
_(ROIN)
|
||||
_(ROIO)
|
||||
_(ROIP)
|
||||
|
||||
// Level debris
|
||||
_(GFZD) // GFZ debris
|
||||
_(BRIC) // Bricks
|
||||
_(WDDB) // Wood Debris
|
||||
_(BRIR) // CEZ3 colored bricks
|
||||
_(BRIB)
|
||||
_(BRIY)
|
||||
|
||||
// Gravity Well Objects
|
||||
_(GWLG)
|
||||
_(GWLR)
|
||||
|
||||
// SRB2Kart
|
||||
_(RNDM) // Random Item Box
|
||||
_(RPOP) // Random Item Box Pop
|
||||
_(SGNS) // Signpost sparkle
|
||||
_(FAST) // Speed boost trail
|
||||
_(DSHR) // Speed boost dust release
|
||||
_(BOST) // Sneaker booster flame
|
||||
_(DRPO) // Drift booster flame
|
||||
_(BOSM) // Sneaker booster smoke
|
||||
_(KFRE) // Sneaker fire trail
|
||||
_(KINV) // Lighter invincibility sparkle trail
|
||||
_(KINB) // Darker invincibility sparkle trail
|
||||
_(KINF) // Invincibility flash
|
||||
_(INVI) // Invincibility speedlines
|
||||
_(ICAP) // Item capsules
|
||||
|
||||
_(WIPD) // Wipeout dust trail
|
||||
_(DRIF) // Drift Sparks
|
||||
_(BDRF) // Brake drift sparks
|
||||
|
||||
// Kart Items
|
||||
_(RSHE) // Rocket sneaker
|
||||
_(FITM) // Eggman Monitor
|
||||
_(BANA) // Banana Peel
|
||||
_(ORBN) // Orbinaut
|
||||
_(JAWZ) // Jawz
|
||||
_(SSMN) // SS Mine
|
||||
_(KRBM) // SS Mine BOOM
|
||||
_(LNDM) // Land Mine
|
||||
_(DTRG) // Drop Target
|
||||
_(BHOG) // Ballhog
|
||||
_(BHBM) // Ballhog BOOM
|
||||
_(SPBM) // Self-Propelled Bomb
|
||||
_(THNS) // Thunder Shield
|
||||
_(BUBS) // Bubble Shield (not Bubs)
|
||||
_(BWVE) // Bubble Shield waves
|
||||
_(FLMS) // Flame Shield
|
||||
_(FLMD) // Flame Shield dash
|
||||
_(FLMP) // Flame Shield paper sprites
|
||||
_(FLML) // Flame Shield speed lines
|
||||
_(FLMF) // Flame Shield flash
|
||||
_(SINK) // Kitchen Sink
|
||||
_(SITR) // Kitchen Sink Trail
|
||||
_(KBLN) // Battle Mode Bumper
|
||||
_(BEXC) // Battle Bumper Explosion: Crystal
|
||||
_(BEXS) // Battle Bumper Explosion: Shell
|
||||
_(BDEB) // Battle Bumper Explosion: Debris
|
||||
_(BEXB) // Battle Bumper Explosion: Blast
|
||||
_(TWBS) // Tripwire Boost
|
||||
_(TWBT) // Tripwire BLASTER
|
||||
_(DEZL) // DEZ Laser respawn
|
||||
|
||||
// Additional Kart Objects
|
||||
_(POKE) // Pokey
|
||||
_(AUDI) // Audience members
|
||||
_(DECO) // Old 1.0 Kart Decoratives + New misc ones
|
||||
_(DOOD) // All the old D00Dkart objects
|
||||
_(SNES) // Sprites for SNES remake maps
|
||||
_(GBAS) // Sprites for GBA remake maps
|
||||
_(SPRS) // Sapphire Coast Spring Shell
|
||||
_(BUZB) // Sapphire Coast Buzz Mk3
|
||||
_(CHOM) // Sapphire Coast Chomper
|
||||
_(SACO) // Sapphire Coast Fauna
|
||||
_(CRAB) // Crystal Abyss mobs
|
||||
_(BRNG) // Chaotix Big Ring
|
||||
|
||||
_(BUMP) // Player/shell bump
|
||||
_(FLEN) // Shell hit graphics stuff
|
||||
_(CLAS) // items clash
|
||||
_(PSHW) // thrown indicator
|
||||
_(ISTA) // instashield layer A
|
||||
_(ISTB) // instashield layer B
|
||||
|
||||
_(PWCL) // Invinc/grow clash VFX
|
||||
|
||||
_(ARRO) // player arrows
|
||||
_(ITEM)
|
||||
_(ITMO)
|
||||
_(ITMI)
|
||||
_(ITMN)
|
||||
_(WANT)
|
||||
|
||||
_(PBOM) // player bomb
|
||||
|
||||
_(HIT1) // battle points
|
||||
_(HIT2) // battle points
|
||||
_(HIT3) // battle points
|
||||
|
||||
_(RETI) // player reticule
|
||||
|
||||
_(AIDU)
|
||||
|
||||
_(KSPK) // Spark radius for the thunder shield
|
||||
_(LZI1) // Lightning that falls on the player for thunder shield
|
||||
_(LZI2) // ditto
|
||||
_(KLIT) // You have a twisted mind. But this actually is for the diagonal lightning.
|
||||
|
||||
_(FZSM) // F-Zero NO CONTEST explosion
|
||||
_(FZBM)
|
||||
|
||||
// Various plants
|
||||
_(SBUS)
|
||||
|
||||
_(MARB) // Marble Zone sprites
|
||||
_(FUFO) // CD Special Stage UFO (don't ask me why it begins with an F)
|
||||
|
||||
_(RUST) // Rusty Rig sprites
|
||||
|
||||
_(VAPE) // Volcanic Valley
|
||||
|
||||
// Hill Top Zone
|
||||
_(HTZA)
|
||||
_(HTZB)
|
||||
|
||||
// Ports of gardens
|
||||
_(SGVA)
|
||||
_(SGVB)
|
||||
_(SGVC)
|
||||
_(PGTR)
|
||||
_(PGF1)
|
||||
_(PGF2)
|
||||
_(PGF3)
|
||||
_(PGBH)
|
||||
_(DPLR)
|
||||
|
||||
// Midnight Channel stuff:
|
||||
_(SPTL) // Spotlight
|
||||
_(ENM1) // Shadows (Roaming and static)
|
||||
_(GARU) // Wind attack roaming shadows use.
|
||||
_(MARR) // Mayonaka Arrow
|
||||
|
||||
// Mementos stuff:
|
||||
_(REAP)
|
||||
|
||||
_(JITB) // Jack In The Box
|
||||
|
||||
// Color Drive stuff:
|
||||
_(CDMO)
|
||||
_(CDBU)
|
||||
|
||||
// Daytona Speedway
|
||||
_(DPIN)
|
||||
|
||||
// Egg Zeppelin
|
||||
_(PPLR)
|
||||
|
||||
// Desert Palace
|
||||
_(DPPT)
|
||||
|
||||
// Aurora Atoll
|
||||
_(AATR)
|
||||
_(COCO)
|
||||
|
||||
// Barren Badlands
|
||||
_(BDST)
|
||||
_(FROG)
|
||||
_(CBRA)
|
||||
_(HOLE)
|
||||
_(BBRA)
|
||||
|
||||
// Eerie Grove
|
||||
_(EGFG)
|
||||
|
||||
// SMK ports
|
||||
_(SMKP)
|
||||
_(MTYM)
|
||||
_(THWP)
|
||||
_(SNOB)
|
||||
_(ICEB)
|
||||
|
||||
// Ezo's maps - many single-use sprites!
|
||||
_(ECND)
|
||||
_(DOCH)
|
||||
_(DUCK)
|
||||
_(GTRE)
|
||||
_(CHES)
|
||||
_(CHIM)
|
||||
_(DRGN)
|
||||
_(LZMN)
|
||||
_(PGSS)
|
||||
_(ZTCH)
|
||||
_(MKMA)
|
||||
_(MKMP)
|
||||
_(RTCH)
|
||||
_(BOWL)
|
||||
_(BOWH)
|
||||
_(BRRL)
|
||||
_(BRRR)
|
||||
_(HRSE)
|
||||
_(TOAH)
|
||||
_(BFRT)
|
||||
_(OFRT)
|
||||
_(RFRT)
|
||||
_(PFRT)
|
||||
_(ASPK)
|
||||
_(HBST)
|
||||
_(HBSO)
|
||||
_(HBSF)
|
||||
_(WBLZ)
|
||||
_(WBLN)
|
||||
|
||||
// Opulence
|
||||
_(OPUL)
|
||||
_(TGEM)
|
||||
_(TCOI)
|
||||
|
||||
_(FWRK)
|
||||
_(MXCL)
|
||||
_(LENS)
|
||||
_(GRES)
|
||||
|
||||
_(WAYP)
|
||||
_(EGOO)
|
||||
|
||||
_(WTRL) // Water Trail
|
||||
|
||||
_(GCHA) // follower: generic chao
|
||||
_(CHEZ) // follower: cheese
|
||||
|
||||
_(TRCK)
|
||||
|
||||
// First person view sprites; this is a sprite so that it can be replaced by a specialized MD2 draw later
|
||||
_(VIEW)
|
||||
4229
src/info/states.h
Normal file
4229
src/info/states.h
Normal file
File diff suppressed because it is too large
Load diff
274
src/p_enemy.c
274
src/p_enemy.c
|
|
@ -58,280 +58,6 @@ static dirtype_t diags[] =
|
|||
DI_NORTHWEST, DI_NORTHEAST, DI_SOUTHWEST, DI_SOUTHEAST
|
||||
};
|
||||
|
||||
//Real Prototypes to A_*
|
||||
void A_Fall(mobj_t *actor);
|
||||
void A_Look(mobj_t *actor);
|
||||
void A_Chase(mobj_t *actor);
|
||||
void A_FaceStabChase(mobj_t *actor);
|
||||
void A_FaceStabRev(mobj_t *actor);
|
||||
void A_FaceStabHurl(mobj_t *actor);
|
||||
void A_FaceStabMiss(mobj_t *actor);
|
||||
void A_StatueBurst(mobj_t *actor);
|
||||
void A_JetJawRoam(mobj_t *actor);
|
||||
void A_JetJawChomp(mobj_t *actor);
|
||||
void A_PointyThink(mobj_t *actor);
|
||||
void A_CheckBuddy(mobj_t *actor);
|
||||
void A_HoodFire(mobj_t *actor);
|
||||
void A_HoodThink(mobj_t *actor);
|
||||
void A_HoodFall(mobj_t *actor);
|
||||
void A_ArrowBonks(mobj_t *actor);
|
||||
void A_SnailerThink(mobj_t *actor);
|
||||
void A_SharpChase(mobj_t *actor);
|
||||
void A_SharpSpin(mobj_t *actor);
|
||||
void A_SharpDecel(mobj_t *actor);
|
||||
void A_CrushstaceanWalk(mobj_t *actor);
|
||||
void A_CrushstaceanPunch(mobj_t *actor);
|
||||
void A_CrushclawAim(mobj_t *actor);
|
||||
void A_CrushclawLaunch(mobj_t *actor);
|
||||
void A_VultureVtol(mobj_t *actor);
|
||||
void A_VultureCheck(mobj_t *actor);
|
||||
void A_VultureHover(mobj_t *actor);
|
||||
void A_VultureBlast(mobj_t *actor);
|
||||
void A_VultureFly(mobj_t *actor);
|
||||
void A_SkimChase(mobj_t *actor);
|
||||
void A_FaceTarget(mobj_t *actor);
|
||||
void A_FaceTracer(mobj_t *actor);
|
||||
void A_LobShot(mobj_t *actor);
|
||||
void A_FireShot(mobj_t *actor);
|
||||
void A_SuperFireShot(mobj_t *actor);
|
||||
void A_BossFireShot(mobj_t *actor);
|
||||
void A_Boss7FireMissiles(mobj_t *actor);
|
||||
void A_Boss1Laser(mobj_t *actor);
|
||||
void A_FocusTarget(mobj_t *actor);
|
||||
void A_Boss4Reverse(mobj_t *actor);
|
||||
void A_Boss4SpeedUp(mobj_t *actor);
|
||||
void A_Boss4Raise(mobj_t *actor);
|
||||
void A_SkullAttack(mobj_t *actor);
|
||||
void A_BossZoom(mobj_t *actor);
|
||||
void A_BossScream(mobj_t *actor);
|
||||
void A_Scream(mobj_t *actor);
|
||||
void A_Pain(mobj_t *actor);
|
||||
void A_Explode(mobj_t *actor);
|
||||
void A_BossDeath(mobj_t *actor);
|
||||
void A_RingBox(mobj_t *actor);
|
||||
void A_AwardScore(mobj_t *actor);
|
||||
void A_ScoreRise(mobj_t *actor);
|
||||
void A_BunnyHop(mobj_t *actor);
|
||||
void A_BubbleSpawn(mobj_t *actor);
|
||||
void A_FanBubbleSpawn(mobj_t *actor);
|
||||
void A_BubbleRise(mobj_t *actor);
|
||||
void A_BubbleCheck(mobj_t *actor);
|
||||
void A_AttractChase(mobj_t *actor);
|
||||
void A_DropMine(mobj_t *actor);
|
||||
void A_FishJump(mobj_t *actor);
|
||||
void A_SetSolidSteam(mobj_t *actor);
|
||||
void A_UnsetSolidSteam(mobj_t *actor);
|
||||
void A_SignPlayer(mobj_t *actor);
|
||||
void A_OverlayThink(mobj_t *actor);
|
||||
void A_JetChase(mobj_t *actor);
|
||||
void A_JetbThink(mobj_t *actor);
|
||||
void A_JetgShoot(mobj_t *actor);
|
||||
void A_JetgThink(mobj_t *actor);
|
||||
void A_ShootBullet(mobj_t *actor);
|
||||
void A_MinusDigging(mobj_t *actor);
|
||||
void A_MinusPopup(mobj_t *actor);
|
||||
void A_MinusCheck(mobj_t *actor);
|
||||
void A_ChickenCheck(mobj_t *actor);
|
||||
void A_MouseThink(mobj_t *actor);
|
||||
void A_DetonChase(mobj_t *actor);
|
||||
void A_CapeChase(mobj_t *actor);
|
||||
void A_RotateSpikeBall(mobj_t *actor);
|
||||
void A_SlingAppear(mobj_t *actor);
|
||||
void A_UnidusBall(mobj_t *actor);
|
||||
void A_RockSpawn(mobj_t *actor);
|
||||
void A_SetFuse(mobj_t *actor);
|
||||
void A_CrawlaCommanderThink(mobj_t *actor);
|
||||
void A_RingExplode(mobj_t *actor);
|
||||
void A_OldRingExplode(mobj_t *actor);
|
||||
void A_MixUp(mobj_t *actor);
|
||||
void A_Boss2TakeDamage(mobj_t *actor);
|
||||
void A_Boss7Chase(mobj_t *actor);
|
||||
void A_GoopSplat(mobj_t *actor);
|
||||
void A_Boss2PogoSFX(mobj_t *actor);
|
||||
void A_Boss2PogoTarget(mobj_t *actor);
|
||||
void A_EggmanBox(mobj_t *actor);
|
||||
void A_TurretFire(mobj_t *actor);
|
||||
void A_SuperTurretFire(mobj_t *actor);
|
||||
void A_TurretStop(mobj_t *actor);
|
||||
void A_SparkFollow(mobj_t *actor);
|
||||
void A_BuzzFly(mobj_t *actor);
|
||||
void A_GuardChase(mobj_t *actor);
|
||||
void A_EggShield(mobj_t *actor);
|
||||
void A_SetReactionTime(mobj_t *actor);
|
||||
void A_Boss1Spikeballs(mobj_t *actor);
|
||||
void A_Boss3TakeDamage(mobj_t *actor);
|
||||
void A_Boss3Path(mobj_t *actor);
|
||||
void A_Boss3ShockThink(mobj_t *actor);
|
||||
void A_LinedefExecute(mobj_t *actor);
|
||||
void A_LinedefExecuteFromArg(mobj_t *actor);
|
||||
void A_PlaySeeSound(mobj_t *actor);
|
||||
void A_PlayAttackSound(mobj_t *actor);
|
||||
void A_PlayActiveSound(mobj_t *actor);
|
||||
void A_SmokeTrailer(mobj_t *actor);
|
||||
void A_SpawnObjectAbsolute(mobj_t *actor);
|
||||
void A_SpawnObjectRelative(mobj_t *actor);
|
||||
void A_ChangeAngleRelative(mobj_t *actor);
|
||||
void A_ChangeAngleAbsolute(mobj_t *actor);
|
||||
void A_RollAngle(mobj_t *actor);
|
||||
void A_ChangeRollAngleRelative(mobj_t *actor);
|
||||
void A_ChangeRollAngleAbsolute(mobj_t *actor);
|
||||
void A_PlaySound(mobj_t *actor);
|
||||
void A_FindTarget(mobj_t *actor);
|
||||
void A_FindTracer(mobj_t *actor);
|
||||
void A_SetTics(mobj_t *actor);
|
||||
void A_SetRandomTics(mobj_t *actor);
|
||||
void A_ChangeColorRelative(mobj_t *actor);
|
||||
void A_ChangeColorAbsolute(mobj_t *actor);
|
||||
void A_Dye(mobj_t *actor);
|
||||
void A_MoveRelative(mobj_t *actor);
|
||||
void A_MoveAbsolute(mobj_t *actor);
|
||||
void A_Thrust(mobj_t *actor);
|
||||
void A_ZThrust(mobj_t *actor);
|
||||
void A_SetTargetsTarget(mobj_t *actor);
|
||||
void A_SetObjectFlags(mobj_t *actor);
|
||||
void A_SetObjectFlags2(mobj_t *actor);
|
||||
void A_RandomState(mobj_t *actor);
|
||||
void A_RandomStateRange(mobj_t *actor);
|
||||
void A_StateRangeByAngle(mobj_t *actor);
|
||||
void A_StateRangeByParameter(mobj_t *actor);
|
||||
void A_DualAction(mobj_t *actor);
|
||||
void A_RemoteAction(mobj_t *actor);
|
||||
void A_ToggleFlameJet(mobj_t *actor);
|
||||
void A_OrbitNights(mobj_t *actor);
|
||||
void A_GhostMe(mobj_t *actor);
|
||||
void A_SetObjectState(mobj_t *actor);
|
||||
void A_SetObjectTypeState(mobj_t *actor);
|
||||
void A_KnockBack(mobj_t *actor);
|
||||
void A_PushAway(mobj_t *actor);
|
||||
void A_RingDrain(mobj_t *actor);
|
||||
void A_SplitShot(mobj_t *actor);
|
||||
void A_MissileSplit(mobj_t *actor);
|
||||
void A_MultiShot(mobj_t *actor);
|
||||
void A_InstaLoop(mobj_t *actor);
|
||||
void A_Custom3DRotate(mobj_t *actor);
|
||||
void A_SearchForPlayers(mobj_t *actor);
|
||||
void A_CheckRandom(mobj_t *actor);
|
||||
void A_CheckTargetRings(mobj_t *actor);
|
||||
void A_CheckRings(mobj_t *actor);
|
||||
void A_CheckTotalRings(mobj_t *actor);
|
||||
void A_CheckHealth(mobj_t *actor);
|
||||
void A_CheckRange(mobj_t *actor);
|
||||
void A_CheckHeight(mobj_t *actor);
|
||||
void A_CheckTrueRange(mobj_t *actor);
|
||||
void A_CheckThingCount(mobj_t *actor);
|
||||
void A_CheckAmbush(mobj_t *actor);
|
||||
void A_CheckCustomValue(mobj_t *actor);
|
||||
void A_CheckCusValMemo(mobj_t *actor);
|
||||
void A_SetCustomValue(mobj_t *actor);
|
||||
void A_UseCusValMemo(mobj_t *actor);
|
||||
void A_RelayCustomValue(mobj_t *actor);
|
||||
void A_CusValAction(mobj_t *actor);
|
||||
void A_ForceStop(mobj_t *actor);
|
||||
void A_ForceWin(mobj_t *actor);
|
||||
void A_SpikeRetract(mobj_t *actor);
|
||||
void A_InfoState(mobj_t *actor);
|
||||
void A_Repeat(mobj_t *actor);
|
||||
void A_SetScale(mobj_t *actor);
|
||||
void A_RemoteDamage(mobj_t *actor);
|
||||
void A_HomingChase(mobj_t *actor);
|
||||
void A_TrapShot(mobj_t *actor);
|
||||
void A_Boss1Chase(mobj_t *actor);
|
||||
void A_Boss2Chase(mobj_t *actor);
|
||||
void A_Boss2Pogo(mobj_t *actor);
|
||||
void A_BossJetFume(mobj_t *actor);
|
||||
void A_VileTarget(mobj_t *actor);
|
||||
void A_VileAttack(mobj_t *actor);
|
||||
void A_VileFire(mobj_t *actor);
|
||||
void A_BrakChase(mobj_t *actor);
|
||||
void A_BrakFireShot(mobj_t *actor);
|
||||
void A_BrakLobShot(mobj_t *actor);
|
||||
void A_NapalmScatter(mobj_t *actor);
|
||||
void A_SpawnFreshCopy(mobj_t *actor);
|
||||
void A_FlickySpawn(mobj_t *actor);
|
||||
void A_FlickyCenter(mobj_t *actor);
|
||||
void A_FlickyAim(mobj_t *actor);
|
||||
void A_FlickyFly(mobj_t *actor);
|
||||
void A_FlickySoar(mobj_t *actor);
|
||||
void A_FlickyCoast(mobj_t *actor);
|
||||
void A_FlickyHop(mobj_t *actor);
|
||||
void A_FlickyFlounder(mobj_t *actor);
|
||||
void A_FlickyCheck(mobj_t *actor);
|
||||
void A_FlickyHeightCheck(mobj_t *actor);
|
||||
void A_FlickyFlutter(mobj_t *actor);
|
||||
void A_FlameParticle(mobj_t *actor);
|
||||
void A_FadeOverlay(mobj_t *actor);
|
||||
void A_Boss5Jump(mobj_t *actor);
|
||||
void A_LightBeamReset(mobj_t *actor);
|
||||
void A_MineExplode(mobj_t *actor);
|
||||
void A_MineRange(mobj_t *actor);
|
||||
void A_ConnectToGround(mobj_t *actor);
|
||||
void A_SpawnParticleRelative(mobj_t *actor);
|
||||
void A_ParticleSpawn(mobj_t *actor);
|
||||
void A_MultiShotDist(mobj_t *actor);
|
||||
void A_WhoCaresIfYourSonIsABee(mobj_t *actor);
|
||||
void A_ParentTriesToSleep(mobj_t *actor);
|
||||
void A_CryingToMomma(mobj_t *actor);
|
||||
void A_CheckFlags2(mobj_t *actor);
|
||||
void A_Boss5FindWaypoint(mobj_t *actor);
|
||||
void A_DoNPCSkid(mobj_t *actor);
|
||||
void A_DoNPCPain(mobj_t *actor);
|
||||
void A_PrepareRepeat(mobj_t *actor);
|
||||
void A_Boss5ExtraRepeat(mobj_t *actor);
|
||||
void A_Boss5Calm(mobj_t *actor);
|
||||
void A_Boss5CheckOnGround(mobj_t *actor);
|
||||
void A_Boss5CheckFalling(mobj_t *actor);
|
||||
void A_Boss5PinchShot(mobj_t *actor);
|
||||
void A_Boss5MakeItRain(mobj_t *actor);
|
||||
void A_Boss5MakeJunk(mobj_t *actor);
|
||||
void A_LookForBetter(mobj_t *actor);
|
||||
void A_Boss5BombExplode(mobj_t *actor);
|
||||
void A_TNTExplode(mobj_t *actor);
|
||||
void A_DebrisRandom(mobj_t *actor);
|
||||
void A_TrainCameo(mobj_t *actor);
|
||||
void A_TrainCameo2(mobj_t *actor);
|
||||
void A_CanarivoreGas(mobj_t *actor);
|
||||
void A_KillSegments(mobj_t *actor);
|
||||
void A_SnapperSpawn(mobj_t *actor);
|
||||
void A_SnapperThinker(mobj_t *actor);
|
||||
void A_SaloonDoorSpawn(mobj_t *actor);
|
||||
void A_MinecartSparkThink(mobj_t *actor);
|
||||
void A_ModuloToState(mobj_t *actor);
|
||||
void A_LavafallRocks(mobj_t *actor);
|
||||
void A_LavafallLava(mobj_t *actor);
|
||||
void A_FallingLavaCheck(mobj_t *actor);
|
||||
void A_FireShrink(mobj_t *actor);
|
||||
void A_SpawnPterabytes(mobj_t *actor);
|
||||
void A_PterabyteHover(mobj_t *actor);
|
||||
void A_RolloutSpawn(mobj_t *actor);
|
||||
void A_RolloutRock(mobj_t *actor);
|
||||
void A_DragonbomberSpawn(mobj_t *actor);
|
||||
void A_DragonWing(mobj_t *actor);
|
||||
void A_DragonSegment(mobj_t *actor);
|
||||
void A_ChangeHeight(mobj_t *actor);
|
||||
|
||||
//
|
||||
// SRB2Kart
|
||||
//
|
||||
void A_ItemPop(mobj_t *actor);
|
||||
void A_JawzChase(mobj_t *actor);
|
||||
void A_JawzExplode(mobj_t *actor);
|
||||
void A_SPBChase(mobj_t *actor);
|
||||
void A_SSMineSearch(mobj_t *actor);
|
||||
void A_SSMineExplode(mobj_t *actor);
|
||||
void A_LandMineExplode(mobj_t *actor);
|
||||
void A_BallhogExplode(mobj_t *actor);
|
||||
void A_LightningFollowPlayer(mobj_t *actor);
|
||||
void A_FZBoomFlash(mobj_t *actor);
|
||||
void A_FZBoomSmoke(mobj_t *actor);
|
||||
void A_RandomShadowFrame(mobj_t *actor);
|
||||
void A_RoamingShadowThinker(mobj_t *actor);
|
||||
void A_MayonakaArrow(mobj_t *actor);
|
||||
void A_ReaperThinker(mobj_t *actor);
|
||||
void A_MementosTPParticles(mobj_t *actor);
|
||||
void A_DeathSpin(mobj_t *actor);
|
||||
|
||||
//for p_enemy.c
|
||||
|
||||
//
|
||||
// ENEMY THINKING
|
||||
// Enemies are always spawned with targetplayer = -1, threshold = 0
|
||||
|
|
|
|||
1230
src/sounds.c
1230
src/sounds.c
File diff suppressed because it is too large
Load diff
1202
src/sounds.h
1202
src/sounds.h
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue