rename enums

This commit is contained in:
Alex Bates 2020-08-16 05:24:20 +01:00
parent 0d8814555e
commit 46c2016bf1
No known key found for this signature in database
GPG Key ID: 5E11C2DB78877706
8 changed files with 1343 additions and 1415 deletions

File diff suppressed because it is too large Load Diff

View File

@ -30,11 +30,11 @@ void func_80137E4C(s32, s32, s32, s32);
s32 rand_int(s32); s32 rand_int(s32);
void sort_items(void); void sort_items(void);
s32 is_ability_active(s32 arg0); s32 is_ability_active(s32 arg0);
f32 update_lerp(EASING easing, f32 start, f32 end, s32 elapsed, s32 duration); f32 update_lerp(Easing easing, f32 start, f32 end, s32 elapsed, s32 duration);
Npc* get_npc_safe(s32 npcID); Npc* get_npc_safe(NpcId npcId);
Npc* get_npc_unsafe(s32 npcID); Npc* get_npc_unsafe(NpcId npcId);
Npc* resolve_npc(Script* script, NPC npcID); Npc* resolve_npc(Script* script, NpcId npcIdOrPtr);
f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by); f32 dist2D(f32 ax, f32 ay, f32 bx, f32 by);
f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz); f32 dist3D(f32 ax, f32 ay, f32 az, f32 bx, f32 by, f32 bz);

View File

@ -42,9 +42,9 @@ INCLUDE_ASM(code_13870_len_6980, render_npcs);
INCLUDE_ASM(code_13870_len_6980, npc_move_heading); INCLUDE_ASM(code_13870_len_6980, npc_move_heading);
Npc* INCLUDE_ASM(code_13870_len_6980, get_npc_unsafe, s32 npcID); Npc* INCLUDE_ASM(code_13870_len_6980, get_npc_unsafe, NpcId npcId);
Npc* INCLUDE_ASM(code_13870_len_6980, get_npc_safe, s32 npcID); Npc* INCLUDE_ASM(code_13870_len_6980, get_npc_safe, NpcId npcId);
INCLUDE_ASM(code_13870_len_6980, enable_npc_shadow); INCLUDE_ASM(code_13870_len_6980, enable_npc_shadow);

View File

@ -78,7 +78,7 @@ f32 INCLUDE_ASM(code_42e0_len_1f60, sin_deg, f32 x);
f32 INCLUDE_ASM(code_42e0_len_1f60, cos_deg, f32 x); f32 INCLUDE_ASM(code_42e0_len_1f60, cos_deg, f32 x);
f32 INCLUDE_ASM(code_42e0_len_1f60, update_lerp, EASING easing, f32 start, f32 end, s32 elapsed, s32 duration); f32 INCLUDE_ASM(code_42e0_len_1f60, update_lerp, Easing easing, f32 start, f32 end, s32 elapsed, s32 duration);
INCLUDE_ASM(code_42e0_len_1f60, func_8002A904); INCLUDE_ASM(code_42e0_len_1f60, func_8002A904);

View File

@ -1,12 +1,12 @@
#include "common.h" #include "common.h"
Npc* resolve_npc(Script* script, NPC npcID) { Npc* resolve_npc(Script* script, NpcId npcIdOrPtr) {
if (npcID == NPC_SELF) { if (npcIdOrPtr == NpcId_SELF) {
return get_npc_safe(script->ownerID); return get_npc_safe(script->ownerID);
} else if (npcID >= -270000000) { } else if (npcIdOrPtr >= -270000000) {
return get_npc_safe(npcID); return get_npc_safe(npcIdOrPtr);
} else { } else {
return (Npc*) npcID; return (Npc*) npcIdOrPtr;
} }
} }
@ -25,7 +25,7 @@ s32 DeleteNpc(Script* script, s32 initialCall) {
s32 GetNpcPointer(Script* script, s32 initialCall) { s32 GetNpcPointer(Script* script, s32 initialCall) {
Bytecode* ptrReadPos = script->ptrReadPos; Bytecode* ptrReadPos = script->ptrReadPos;
Bytecode npcID = get_variable(script, *ptrReadPos++); NpcId npcID = get_variable(script, *ptrReadPos++);
Bytecode varNPC = *ptrReadPos++; Bytecode varNPC = *ptrReadPos++;
set_variable(script, varNPC, get_npc_safe(npcID)); set_variable(script, varNPC, get_npc_safe(npcID));

View File

@ -45,8 +45,8 @@ s32 RandInt(Script* script, s32 initialCall) {
s32 GetAngleBetweenNPCs(Script* script, s32 initialCall) { s32 GetAngleBetweenNPCs(Script* script, s32 initialCall) {
Bytecode* ptrReadPos = script->ptrReadPos; Bytecode* ptrReadPos = script->ptrReadPos;
NPC aID = get_variable(script, *ptrReadPos++); NpcId aID = get_variable(script, *ptrReadPos++);
NPC bID = get_variable(script, *ptrReadPos++); NpcId bID = get_variable(script, *ptrReadPos++);
Bytecode outVar = *ptrReadPos++; Bytecode outVar = *ptrReadPos++;
Npc* a = resolve_npc(script, aID); Npc* a = resolve_npc(script, aID);
@ -60,7 +60,7 @@ s32 GetAngleToNPC(Script* script, s32 initialCall) {
PlayerStatus* playerStatus = &gPlayerStatus; PlayerStatus* playerStatus = &gPlayerStatus;
Bytecode* ptrReadPos = script->ptrReadPos; Bytecode* ptrReadPos = script->ptrReadPos;
NPC npcID = get_variable(script, *ptrReadPos++); NpcId npcID = get_variable(script, *ptrReadPos++);
Bytecode outVar = *ptrReadPos++; Bytecode outVar = *ptrReadPos++;
Npc* npc = resolve_npc(script, npcID); Npc* npc = resolve_npc(script, npcID);
@ -73,7 +73,7 @@ s32 GetAngleToPlayer(Script* script, s32 initialCall) {
PlayerStatus* playerStatus = &gPlayerStatus; PlayerStatus* playerStatus = &gPlayerStatus;
Bytecode* ptrReadPos = script->ptrReadPos; Bytecode* ptrReadPos = script->ptrReadPos;
NPC npcID = get_variable(script, *ptrReadPos++); NpcId npcID = get_variable(script, *ptrReadPos++);
Bytecode outVar = *ptrReadPos++; Bytecode outVar = *ptrReadPos++;
Npc* npc = resolve_npc(script, npcID); Npc* npc = resolve_npc(script, npcID);

View File

@ -114,7 +114,7 @@ s32 AddKeyItem(Script* script, s32 initialCall) {
s32 itemID = get_variable(script, value); s32 itemID = get_variable(script, value);
s32 i; s32 i;
if (itemID == ITEM_FORTRESS_KEY) { if (itemID == ItemId_FORTRESS_KEY) {
playerData->fortressKeyCount++; playerData->fortressKeyCount++;
return 2; return 2;
} }

View File

@ -3,7 +3,7 @@
import os import os
import re import re
from glob import glob from glob import glob
from stringcase import constcase # pip install stringcase from stringcase import constcase, pascalcase # pip install stringcase
DIR = os.path.dirname(__file__) DIR = os.path.dirname(__file__)
SR_DATABASE = os.path.join(DIR, "star-rod/database") SR_DATABASE = os.path.join(DIR, "star-rod/database")
@ -19,7 +19,7 @@ with open(os.path.join(DIR, "../include/enums.h"), "w") as h:
#define _ENUMS_H_ #define _ENUMS_H_
#include "ultra64.h" #include "ultra64.h"
#include "types.h" #include "types.h"
""") """)
@ -28,10 +28,27 @@ with open(os.path.join(DIR, "../include/enums.h"), "w") as h:
lines = file.readlines() lines = file.readlines()
# Get enum attributes # Get enum attributes
namespace = constcase(re.match(r"[^ \t]*", lines[0]).group(0)) namespace = pascalcase(re.match(r"[^ \t]*", lines[0]).group(0))
library_name = re.match(r"[^ \t]*", lines[1]).group(0) library_name = re.match(r"[^ \t]*", lines[1]).group(0)
reverse = True if re.match(r"[^ \t]*", lines[2]).group(0) == "true" else False reverse = True if re.match(r"[^ \t]*", lines[2]).group(0) == "true" else False
# Renamed namespaces
if namespace == "Item": namespace = "ItemId"
if namespace == "Sound": namespace = "SoundId"
if namespace == "Partner": namespace = "PartnerId"
if namespace == "Sprite": namespace = "SpriteId"
if namespace == "Outcome": namespace = "EncounterOutcome"
#if namespace == "Phase": namespace = "BattlePhase"
if namespace == "Actor": namespace = "ActorId"
#if namespace == "Status": namespace = "ActorStatus"
#if namespace == "StatusFlags": namespace = "ActorStatusFlags"
#if namespace == "Event": namespace = "BattleEvent"
if namespace == "Decoration": namespace = "DecorationId"
if namespace == "Npc": namespace = "NpcId"
if namespace == "Trigger": namespace = "TriggerFlags"
if namespace == "Anim": continue
if namespace == "Entity": continue # just ram addresses
# Get a list of tuples containing (name, value) # Get a list of tuples containing (name, value)
items = [] items = []
name_max_len = 0 name_max_len = 0
@ -51,8 +68,9 @@ with open(os.path.join(DIR, "../include/enums.h"), "w") as h:
str_value = f"{value}" str_value = f"{value}"
else: else:
str_value = "0x" + f"{value:08x}".upper() str_value = "0x" + f"{value:08x}".upper()
name = constcase(name) if name.upper() != name:
name = constcase(name)
items.append((name, str_value)) items.append((name, str_value))
name_max_len = max(len(name), name_max_len) name_max_len = max(len(name), name_max_len)
elif "/%" in line: elif "/%" in line:
@ -66,4 +84,4 @@ with open(os.path.join(DIR, "../include/enums.h"), "w") as h:
h.write(f"#define {namespace}_{name.ljust(name_max_len)} {value}\n") h.write(f"#define {namespace}_{name.ljust(name_max_len)} {value}\n")
h.write("\n") h.write("\n")
h.write("#endif\n") h.write("#endif\n")