diff --git a/.gitignore b/.gitignore index e2078e841f..9ecdc1e833 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,7 @@ tools/qemu-mips tools/ido_recomp/* binary ctx.c graphs/ +*.c.m2c # Assets *.png diff --git a/tools/actorfixer.py b/tools/actorfixer.py index 4086528efc..20b260d333 100755 --- a/tools/actorfixer.py +++ b/tools/actorfixer.py @@ -2,8 +2,11 @@ import argparse, os +# There are a few commented out entries that would produce unexpected renames. +# They are left as a comment so people can just grab them. + # "old": "new" -animdict ={ +animdict = { "Actor_GetSwitchFlag": "Flags_GetSwitch", "atan_flip": "Math_Acot2F", "atans": "Math_Atan2S", @@ -54,25 +57,25 @@ animdict ={ "ShrinkWindow_Step": "ShrinkWindow_Update", "ShrinkWindow_Fini": "ShrinkWindow_Destroy", "func_801A89A8": "Audio_QueueSeqCmd", - "SkelAnime_LodDrawLimb": "SkelAnime_DrawLimbLod", - "SkelAnime_LodDraw": "SkelAnime_DrawLod", - "SkelAnime_LodDrawLimbSV": "SkelAnime_DrawFlexLimbLod", - "SkelAnime_LodDrawSV": "SkelAnime_DrawFlexLod", - "SkelAnime_DrawLimb": "SkelAnime_DrawLimbOpa", - "SkelAnime_Draw": "SkelAnime_DrawOpa", - "SkelAnime_DrawLimbSV": "SkelAnime_DrawFlexLimbOpa", - "SkelAnime_DrawSV": "SkelAnime_DrawFlexOpa", - "SkelAnime_AnimateFrame": "SkelAnime_GetFrameData", - "SkelAnime_GetTotalFrames": "Animation_GetLength", - "SkelAnime_GetFrameCount": "Animation_GetLastFrame", - "SkelAnime_Draw2Limb": "SkelAnime_DrawLimb", - "SkelAnime_Draw2": "SkelAnime_Draw", - "SkelAnime_DrawLimbSV2": "SkelAnime_DrawFlexLimb", - "SkelAnime_DrawSV2": "SkelAnime_DrawFlex", + "SkelAnime_LodDrawLimb(": "SkelAnime_DrawLimbLod(", + "SkelAnime_LodDraw(": "SkelAnime_DrawLod(", + "SkelAnime_LodDrawLimbSV(": "SkelAnime_DrawFlexLimbLod(", + "SkelAnime_LodDrawSV(": "SkelAnime_DrawFlexLod(", + #"SkelAnime_DrawLimb(": "SkelAnime_DrawLimbOpa(", + #"SkelAnime_Draw(": "SkelAnime_DrawOpa(", + "SkelAnime_DrawLimbSV(": "SkelAnime_DrawFlexLimbOpa(", + "SkelAnime_DrawSV(": "SkelAnime_DrawFlexOpa(", + #"SkelAnime_AnimateFrame(": "SkelAnime_GetFrameData(", + "SkelAnime_GetTotalFrames(": "Animation_GetLength(", + "SkelAnime_GetFrameCount(": "Animation_GetLastFrame(", + "SkelAnime_Draw2Limb(": "SkelAnime_DrawLimb(", + "SkelAnime_Draw2(": "SkelAnime_Draw(", + "SkelAnime_DrawLimbSV2(": "SkelAnime_DrawFlexLimb(", + "SkelAnime_DrawSV2(": "SkelAnime_DrawFlex(", "func_80134FFC": "SkelAnime_GetFrameData2", "func_801353D4": "Animation_GetLimbCount2", - "SkelAnime_GetTotalFrames2": "Animation_GetLength2", - "SkelAnime_GetFrameCount2": "Animation_GetLastFrame2", + "SkelAnime_GetTotalFrames2(": "Animation_GetLength2(", + "SkelAnime_GetFrameCount2(": "Animation_GetLastFrame2(", "SkelAnime_InterpolateVec3s": "SkelAnime_InterpFrameTable", "SkelAnime_AnimationCtxReset": "AnimationContext_Reset", "func_801358D4": "AnimationContext_SetNextQueue", @@ -91,7 +94,7 @@ animdict ={ "SkelAnime_AnimationType4Loaded": "AnimationContext_CopyFalse", "SkelAnime_AnimationType5Loaded": "AnimationContext_MoveActor", "func_80135EE8": "AnimationContext_Update", - "SkelAnime_InitLinkAnimetion": "SkelAnime_InitLink", + "SkelAnime_InitLinkAnimetion(": "SkelAnime_InitLink(", "func_801360A8": "LinkAnimation_SetUpdateFunction", "func_801360E0": "LinkAnimation_Update", "func_80136104": "LinkAnimation_Morph", @@ -124,7 +127,7 @@ animdict ={ "func_801370B0": "SkelAnime_LoopPartial", "func_8013713C": "SkelAnime_Once", "SkelAnime_ChangeAnimImpl": "Animation_ChangeImpl", - "SkelAnime_ChangeAnim": "Animation_Change", + "SkelAnime_ChangeAnim(": "Animation_Change(", "SkelAnime_ChangeAnimDefaultStop": "Animation_PlayOnce", "SkelAnime_ChangeAnimTransitionStop": "Animation_MorphToPlayOnce", "SkelAnime_ChangeAnimPlaybackStop": "Animation_PlayOnceSetSpeed", @@ -138,10 +141,39 @@ animdict ={ "func_80137748": "SkelAnime_UpdateTranslation", "func_801378B8": "Animation_OnFrame", "SkelAnime_CopyVec3s": "SkelAnime_CopyFrameTable", + "SysMatrix_StatePop": "Matrix_StatePop", + "SysMatrix_GetCurrentState": "Matrix_GetCurrentState", + "zelda_malloc(": "ZeldaArena_Malloc(", + "zelda_mallocR(": "ZeldaArena_MallocR(", + "zelda_realloc": "ZeldaArena_Realloc", + "zelda_free": "ZeldaArena_Free", + "zelda_calloc": "ZeldaArena_Calloc", + "MainHeap_AnalyzeArena": "ZeldaArena_GetSizes", + "MainHeap_Check": "ZeldaArena_Check", + "MainHeap_Init": "ZeldaArena_Init", + "MainHeap_Cleanup": "ZeldaArena_Cleanup", + "MainHeap_IsInitialized": "ZeldaArena_IsInitialized", + + "skelanime.unk03": "skelanime.taper", + "skelanime.animCurrentSeg": "skelanime.animation", + "skelanime.initialFrame": "skelanime.startFrame", + "skelanime.animFrameCount": "skelanime.endFrame", + "skelanime.totalFrames": "skelanime.animLength", + "skelanime.animCurrentFrame": "skelanime.curFrame", + "skelanime.animPlaybackSpeed": "skelanime.playSpeed", + "skelanime.limbDrawTbl": "skelanime.jointTable", + "skelanime.transitionDrawTbl": "skelanime.morphTable", + "skelanime.transCurrentFrame": "skelanime.morphWeight", + "skelanime.transitionStep": "skelanime.morphRate", + "skelanime.animUpdate": "skelanime.update", + "skelanime.flags": "skelanime.moveFlags", + "skelanime.prevFrameRot": "skelanime.prevRot", + "skelanime.prevFramePos": "skelanime.prevTransl", + "skelanime.unk3E": "skelanime.baseTransl", } def replace_anim(file): - with open(file,'r',encoding = 'utf-8') as infile: + with open(file, 'r', encoding='utf-8') as infile: srcdata = infile.read() funcs = list(animdict.keys()) @@ -168,18 +200,36 @@ def replace_anim_all(repo): if(filename.endswith('.c')): file = subdir + os.sep + filename replace_anim(file) - for subdir, dirs, files in os.walk(repo + os.sep + 'asm' + os.sep + 'non_matchings'): + for subdir, dirs, files in os.walk(repo + os.sep + 'asm'): for filename in files: if(filename.endswith('.s')): file = subdir + os.sep + filename replace_anim(file) + for subdir, dirs, files in os.walk(repo + os.sep + 'tools' + os.sep + 'sizes'): + for filename in files: + if(filename.endswith('.csv')): + file = subdir + os.sep + filename + replace_anim(file) return 1 -parser = argparse.ArgumentParser(description='Update to the new animation names') -parser.add_argument('file', help="source file to be processed. use . to process the whole repo", default = None) +def dictSanityCheck(): + keys = animdict.keys() + values = animdict.values() + for k in keys: + if k in values: + print(f"Key '{k}' found in values") + print(f"This would produce unintended renames") + print(f"Fix this by removing said key from the dictionary") + exit(-1) if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Update to the new animation names') + parser.add_argument('file', help="source file to be processed. use . to process the whole repo", default = None) + args = parser.parse_args() + + dictSanityCheck() + if(args.file == '.'): replace_anim_all(os.curdir) else: diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index 14919f7549..7243d340d1 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -349,15 +349,15 @@ asm/non_matchings/code/z_actor/Actor_RemoveFromTypeList.s,Actor_RemoveFromTypeLi asm/non_matchings/code/z_actor/Actor_FreeOverlay.s,Actor_FreeOverlay,0x800BABFC,0x19 asm/non_matchings/code/z_actor/Actor_Spawn.s,Actor_Spawn,0x800BAC60,0x1D asm/non_matchings/code/z_actor/Actor_LoadOverlay.s,Actor_LoadOverlay,0x800BACD4,0x50 -asm/non_matchings/code/z_actor/Actor_SpawnWithParentAndCutscene.s,Actor_SpawnWithParentAndCutscene,0x800BAE14,0xAB -asm/non_matchings/code/z_actor/Actor_SpawnWithParent.s,Actor_SpawnWithParent,0x800BB0C0,0x20 +asm/non_matchings/code/z_actor/Actor_SpawnAsChildAndCutscene.s,Actor_SpawnAsChildAndCutscene,0x800BAE14,0xAB +asm/non_matchings/code/z_actor/Actor_SpawnAsChild.s,Actor_SpawnAsChild,0x800BB0C0,0x20 asm/non_matchings/code/z_actor/Actor_SpawnTransitionActors.s,Actor_SpawnTransitionActors,0x800BB140,0x64 asm/non_matchings/code/z_actor/func_800BB2D0.s,func_800BB2D0,0x800BB2D0,0x72 asm/non_matchings/code/z_actor/func_800BB498.s,func_800BB498,0x800BB498,0x41 asm/non_matchings/code/z_actor/func_800BB59C.s,func_800BB59C,0x800BB59C,0x1A asm/non_matchings/code/z_actor/func_800BB604.s,func_800BB604,0x800BB604,0xBA asm/non_matchings/code/z_actor/func_800BB8EC.s,func_800BB8EC,0x800BB8EC,0x67 -asm/non_matchings/code/z_actor/func_800BBA88.s,func_800BBA88,0x800BBA88,0xE +asm/non_matchings/code/z_actor/Enemy_StartFinishingBlow.s,Enemy_StartFinishingBlow,0x800BBA88,0xE asm/non_matchings/code/z_actor/func_800BBAC0.s,func_800BBAC0,0x800BBAC0,0x2D asm/non_matchings/code/z_actor/func_800BBB74.s,func_800BBB74,0x800BBB74,0x2B asm/non_matchings/code/z_actor/func_800BBC20.s,func_800BBC20,0x800BBC20,0x33 @@ -398,7 +398,7 @@ asm/non_matchings/code/z_actor/func_800BDFC0.s,func_800BDFC0,0x800BDFC0,0x1F asm/non_matchings/code/z_actor/func_800BE03C.s,func_800BE03C,0x800BE03C,0x1F asm/non_matchings/code/z_actor/func_800BE0B8.s,func_800BE0B8,0x800BE0B8,0x33 asm/non_matchings/code/z_actor/func_800BE184.s,func_800BE184,0x800BE184,0x2A -asm/non_matchings/code/z_actor/func_800BE22C.s,func_800BE22C,0x800BE22C,0xB +asm/non_matchings/code/z_actor/Actor_ApplyDamage.s,Actor_ApplyDamage,0x800BE22C,0xB asm/non_matchings/code/z_actor/func_800BE258.s,func_800BE258,0x800BE258,0x18 asm/non_matchings/code/z_actor/func_800BE2B8.s,func_800BE2B8,0x800BE2B8,0x21 asm/non_matchings/code/z_actor/func_800BE33C.s,func_800BE33C,0x800BE33C,0x25 @@ -1127,7 +1127,7 @@ asm/non_matchings/code/z_eff_footmark/EffFootmark_Draw.s,EffFootmark_Draw,0x800F asm/non_matchings/code/code_800F0390/func_800F0390.s,func_800F0390,0x800F0390,0xC asm/non_matchings/code/code_800F0390/func_800F03C0.s,func_800F03C0,0x800F03C0,0x33 asm/non_matchings/code/code_800F0390/func_800F048C.s,func_800F048C,0x800F048C,0x37 -asm/non_matchings/code/code_800F0390/func_800F0568.s,func_800F0568,0x800F0568,0xA +asm/non_matchings/code/code_800F0390/Audio_PlaySoundAtPosition.s,Audio_PlaySoundAtPosition,0x800F0568,0xA asm/non_matchings/code/code_800F0390/func_800F0590.s,func_800F0590,0x800F0590,0xC asm/non_matchings/code/z_elf_message/func_800F05C0.s,func_800F05C0,0x800F05C0,0x80 asm/non_matchings/code/code_800F07C0/func_800F07C0.s,func_800F07C0,0x800F07C0,0x32 @@ -1405,16 +1405,16 @@ asm/non_matchings/code/z_lights/Lights_NewAndDraw.s,Lights_NewAndDraw,0x801026E8 asm/non_matchings/code/z_lights/Lights_New.s,Lights_New,0x80102834,0x13 asm/non_matchings/code/z_lights/Lights_GlowCheck.s,Lights_GlowCheck,0x80102880,0x79 asm/non_matchings/code/z_lights/Lights_DrawGlow.s,Lights_DrawGlow,0x80102A64,0x7F -asm/non_matchings/code/z_malloc/zelda_malloc.s,zelda_malloc,0x80102C60,0xA -asm/non_matchings/code/z_malloc/zelda_mallocR.s,zelda_mallocR,0x80102C88,0xA -asm/non_matchings/code/z_malloc/zelda_realloc.s,zelda_realloc,0x80102CB0,0xC -asm/non_matchings/code/z_malloc/zelda_free.s,zelda_free,0x80102CE0,0xA -asm/non_matchings/code/z_malloc/zelda_calloc.s,zelda_calloc,0x80102D08,0x16 -asm/non_matchings/code/z_malloc/MainHeap_AnalyzeArena.s,MainHeap_AnalyzeArena,0x80102D60,0xE -asm/non_matchings/code/z_malloc/MainHeap_Check.s,MainHeap_Check,0x80102D98,0x9 -asm/non_matchings/code/z_malloc/MainHeap_Init.s,MainHeap_Init,0x80102DBC,0xC -asm/non_matchings/code/z_malloc/MainHeap_Cleanup.s,MainHeap_Cleanup,0x80102DEC,0x9 -asm/non_matchings/code/z_malloc/MainHeap_IsInitialized.s,MainHeap_IsInitialized,0x80102E10,0xC +asm/non_matchings/code/z_malloc/ZeldaArena_Malloc.s,ZeldaArena_Malloc,0x80102C60,0xA +asm/non_matchings/code/z_malloc/ZeldaArena_MallocR.s,ZeldaArena_MallocR,0x80102C88,0xA +asm/non_matchings/code/z_malloc/ZeldaArena_Realloc.s,ZeldaArena_Realloc,0x80102CB0,0xC +asm/non_matchings/code/z_malloc/ZeldaArena_Free.s,ZeldaArena_Free,0x80102CE0,0xA +asm/non_matchings/code/z_malloc/ZeldaArena_Calloc.s,ZeldaArena_Calloc,0x80102D08,0x16 +asm/non_matchings/code/z_malloc/ZeldaArena_GetSizes.s,ZeldaArena_GetSizes,0x80102D60,0xE +asm/non_matchings/code/z_malloc/ZeldaArena_Check.s,ZeldaArena_Check,0x80102D98,0x9 +asm/non_matchings/code/z_malloc/ZeldaArena_Init.s,ZeldaArena_Init,0x80102DBC,0xC +asm/non_matchings/code/z_malloc/ZeldaArena_Cleanup.s,ZeldaArena_Cleanup,0x80102DEC,0x9 +asm/non_matchings/code/z_malloc/ZeldaArena_IsInitialized.s,ZeldaArena_IsInitialized,0x80102E10,0xC asm/non_matchings/code/z_map_disp/func_80102E40.s,func_80102E40,0x80102E40,0x14 asm/non_matchings/code/z_map_disp/func_80102E90.s,func_80102E90,0x80102E90,0x5 asm/non_matchings/code/z_map_disp/func_80102EA4.s,func_80102EA4,0x80102EA4,0x4 @@ -2050,62 +2050,62 @@ asm/non_matchings/code/z_skelanime/SkelAnime_Draw2Limb.s,SkelAnime_Draw2Limb,0x8 asm/non_matchings/code/z_skelanime/SkelAnime_Draw.s,SkelAnime_Draw,0x80134990,0x71 asm/non_matchings/code/z_skelanime/SkelAnime_DrawLimbSV2.s,SkelAnime_DrawLimbSV2,0x80134B54,0x9A asm/non_matchings/code/z_skelanime/SkelAnime_DrawFlex.s,SkelAnime_DrawFlex,0x80134DBC,0x90 -asm/non_matchings/code/z_skelanime/func_80134FFC.s,func_80134FFC,0x80134FFC,0xF6 -asm/non_matchings/code/z_skelanime/func_801353D4.s,func_801353D4,0x801353D4,0x9 +asm/non_matchings/code/z_skelanime/SkelAnime_GetFrameData2.s,SkelAnime_GetFrameData2,0x80134FFC,0xF6 +asm/non_matchings/code/z_skelanime/Animation_GetLimbCount2.s,Animation_GetLimbCount2,0x801353D4,0x9 asm/non_matchings/code/z_skelanime/SkelAnime_GetTotalFrames2.s,SkelAnime_GetTotalFrames2,0x801353F8,0x9 asm/non_matchings/code/z_skelanime/SkelAnime_GetFrameCount2.s,SkelAnime_GetFrameCount2,0x8013541C,0xB -asm/non_matchings/code/z_skelanime/SkelAnime_InterpolateVec3s.s,SkelAnime_InterpolateVec3s,0x80135448,0x120 -asm/non_matchings/code/z_skelanime/SkelAnime_AnimationCtxReset.s,SkelAnime_AnimationCtxReset,0x801358C8,0x3 -asm/non_matchings/code/z_skelanime/func_801358D4.s,func_801358D4,0x801358D4,0x8 -asm/non_matchings/code/z_skelanime/func_801358F4.s,func_801358F4,0x801358F4,0xA -asm/non_matchings/code/z_skelanime/SkelAnime_NextEntry.s,SkelAnime_NextEntry,0x8013591C,0xE -asm/non_matchings/code/z_skelanime/SkelAnime_LoadLinkAnimetion.s,SkelAnime_LoadLinkAnimetion,0x80135954,0x35 -asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType1.s,SkelAnime_LoadAnimationType1,0x80135A28,0x1A -asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType2.s,SkelAnime_LoadAnimationType2,0x80135A90,0x1C -asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType3.s,SkelAnime_LoadAnimationType3,0x80135B00,0x1C -asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType4.s,SkelAnime_LoadAnimationType4,0x80135B70,0x1C -asm/non_matchings/code/z_skelanime/SkelAnime_LoadAnimationType5.s,SkelAnime_LoadAnimationType5,0x80135BE0,0x17 -asm/non_matchings/code/z_skelanime/SkelAnime_LinkAnimetionLoaded.s,SkelAnime_LinkAnimetionLoaded,0x80135C3C,0xC -asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType1Loaded.s,SkelAnime_AnimationType1Loaded,0x80135C6C,0x1C -asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType2Loaded.s,SkelAnime_AnimationType2Loaded,0x80135CDC,0x17 -asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType3Loaded.s,SkelAnime_AnimationType3Loaded,0x80135D38,0x20 -asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType4Loaded.s,SkelAnime_AnimationType4Loaded,0x80135DB8,0x21 -asm/non_matchings/code/z_skelanime/SkelAnime_AnimationType5Loaded.s,SkelAnime_AnimationType5Loaded,0x80135E3C,0x2B -asm/non_matchings/code/z_skelanime/func_80135EE8.s,func_80135EE8,0x80135EE8,0x28 +asm/non_matchings/code/z_skelanime/SkelAnime_InterpFrameTable.s,SkelAnime_InterpFrameTable,0x80135448,0x120 +asm/non_matchings/code/z_skelanime/AnimationContext_Reset.s,AnimationContext_Reset,0x801358C8,0x3 +asm/non_matchings/code/z_skelanime/AnimationContext_SetNextQueue.s,AnimationContext_SetNextQueue,0x801358D4,0x8 +asm/non_matchings/code/z_skelanime/AnimationContext_DisableQueue.s,AnimationContext_DisableQueue,0x801358F4,0xA +asm/non_matchings/code/z_skelanime/AnimationContext_AddEntry.s,AnimationContext_AddEntry,0x8013591C,0xE +asm/non_matchings/code/z_skelanime/AnimationContext_SetLoadFrame.s,AnimationContext_SetLoadFrame,0x80135954,0x35 +asm/non_matchings/code/z_skelanime/AnimationContext_SetCopyAll.s,AnimationContext_SetCopyAll,0x80135A28,0x1A +asm/non_matchings/code/z_skelanime/AnimationContext_SetInterp.s,AnimationContext_SetInterp,0x80135A90,0x1C +asm/non_matchings/code/z_skelanime/AnimationContext_SetCopyTrue.s,AnimationContext_SetCopyTrue,0x80135B00,0x1C +asm/non_matchings/code/z_skelanime/AnimationContext_SetCopyFalse.s,AnimationContext_SetCopyFalse,0x80135B70,0x1C +asm/non_matchings/code/z_skelanime/AnimationContext_SetMoveActor.s,AnimationContext_SetMoveActor,0x80135BE0,0x17 +asm/non_matchings/code/z_skelanime/AnimationContext_LoadFrame.s,AnimationContext_LoadFrame,0x80135C3C,0xC +asm/non_matchings/code/z_skelanime/AnimationContext_CopyAll.s,AnimationContext_CopyAll,0x80135C6C,0x1C +asm/non_matchings/code/z_skelanime/AnimationContext_CopyInterp.s,AnimationContext_CopyInterp,0x80135CDC,0x17 +asm/non_matchings/code/z_skelanime/AnimationContext_CopyTrue.s,AnimationContext_CopyTrue,0x80135D38,0x20 +asm/non_matchings/code/z_skelanime/AnimationContext_CopyFalse.s,AnimationContext_CopyFalse,0x80135DB8,0x21 +asm/non_matchings/code/z_skelanime/AnimationContext_MoveActor.s,AnimationContext_MoveActor,0x80135E3C,0x2B +asm/non_matchings/code/z_skelanime/AnimationContext_Update.s,AnimationContext_Update,0x80135EE8,0x28 asm/non_matchings/code/z_skelanime/SkelAnime_InitLinkAnimetion.s,SkelAnime_InitLinkAnimetion,0x80135F88,0x48 -asm/non_matchings/code/z_skelanime/func_801360A8.s,func_801360A8,0x801360A8,0xE -asm/non_matchings/code/z_skelanime/func_801360E0.s,func_801360E0,0x801360E0,0x9 -asm/non_matchings/code/z_skelanime/func_80136104.s,func_80136104,0x80136104,0x2E -asm/non_matchings/code/z_skelanime/func_801361BC.s,func_801361BC,0x801361BC,0x33 -asm/non_matchings/code/z_skelanime/func_80136288.s,func_80136288,0x80136288,0x25 -asm/non_matchings/code/z_skelanime/func_8013631C.s,func_8013631C,0x8013631C,0x35 -asm/non_matchings/code/z_skelanime/SkelAnime_SetTransition.s,SkelAnime_SetTransition,0x801363F0,0x9 -asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnim.s,SkelAnime_ChangeLinkAnim,0x80136414,0x5E -asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimDefaultStop.s,SkelAnime_ChangeLinkAnimDefaultStop,0x8013658C,0x18 -asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimPlaybackStop.s,SkelAnime_ChangeLinkAnimPlaybackStop,0x801365EC,0x19 -asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimDefaultRepeat.s,SkelAnime_ChangeLinkAnimDefaultRepeat,0x80136650,0x17 -asm/non_matchings/code/z_skelanime/SkelAnime_ChangeLinkAnimPlaybackRepeat.s,SkelAnime_ChangeLinkAnimPlaybackRepeat,0x801366AC,0x18 -asm/non_matchings/code/z_skelanime/func_8013670C.s,func_8013670C,0x8013670C,0xC -asm/non_matchings/code/z_skelanime/func_8013673C.s,func_8013673C,0x8013673C,0xC -asm/non_matchings/code/z_skelanime/func_8013676C.s,func_8013676C,0x8013676C,0x11 -asm/non_matchings/code/z_skelanime/func_801367B0.s,func_801367B0,0x801367B0,0x11 -asm/non_matchings/code/z_skelanime/func_801367F4.s,func_801367F4,0x801367F4,0xE -asm/non_matchings/code/z_skelanime/func_8013682C.s,func_8013682C,0x8013682C,0x28 -asm/non_matchings/code/z_skelanime/func_801368CC.s,func_801368CC,0x801368CC,0x28 -asm/non_matchings/code/z_skelanime/SkelAnime_SetModeStop.s,SkelAnime_SetModeStop,0x8013696C,0x9 -asm/non_matchings/code/z_skelanime/func_80136990.s,func_80136990,0x80136990,0x2E -asm/non_matchings/code/z_skelanime/func_80136A48.s,func_80136A48,0x80136A48,0xD +asm/non_matchings/code/z_skelanime/LinkAnimation_SetUpdateFunction.s,LinkAnimation_SetUpdateFunction,0x801360A8,0xE +asm/non_matchings/code/z_skelanime/LinkAnimation_Update.s,LinkAnimation_Update,0x801360E0,0x9 +asm/non_matchings/code/z_skelanime/LinkAnimation_Morph.s,LinkAnimation_Morph,0x80136104,0x2E +asm/non_matchings/code/z_skelanime/LinkAnimation_AnimateFrame.s,LinkAnimation_AnimateFrame,0x801361BC,0x33 +asm/non_matchings/code/z_skelanime/LinkAnimation_Loop.s,LinkAnimation_Loop,0x80136288,0x25 +asm/non_matchings/code/z_skelanime/LinkAnimation_Once.s,LinkAnimation_Once,0x8013631C,0x35 +asm/non_matchings/code/z_skelanime/Animation_SetMorph.s,Animation_SetMorph,0x801363F0,0x9 +asm/non_matchings/code/z_skelanime/LinkAnimation_Change.s,LinkAnimation_Change,0x80136414,0x5E +asm/non_matchings/code/z_skelanime/LinkAnimation_ChangeDefaultStop.s,LinkAnimation_ChangeDefaultStop,0x8013658C,0x18 +asm/non_matchings/code/z_skelanime/LinkAnimation_ChangePlaybackStop.s,LinkAnimation_ChangePlaybackStop,0x801365EC,0x19 +asm/non_matchings/code/z_skelanime/LinkAnimation_ChangeDefaultRepeat.s,LinkAnimation_ChangeDefaultRepeat,0x80136650,0x17 +asm/non_matchings/code/z_skelanime/LinkAnimation_ChangePlaybackRepeat.s,LinkAnimation_ChangePlaybackRepeat,0x801366AC,0x18 +asm/non_matchings/code/z_skelanime/LinkAnimation_CopyJointToMorph.s,LinkAnimation_CopyJointToMorph,0x8013670C,0xC +asm/non_matchings/code/z_skelanime/LinkAnimation_CopyMorphToJoint.s,LinkAnimation_CopyMorphToJoint,0x8013673C,0xC +asm/non_matchings/code/z_skelanime/LinkAnimation_LoadToMorph.s,LinkAnimation_LoadToMorph,0x8013676C,0x11 +asm/non_matchings/code/z_skelanime/LinkAnimation_LoadToJoint.s,LinkAnimation_LoadToJoint,0x801367B0,0x11 +asm/non_matchings/code/z_skelanime/LinkAnimation_InterpJointMorph.s,LinkAnimation_InterpJointMorph,0x801367F4,0xE +asm/non_matchings/code/z_skelanime/LinkAnimation_BlendToJoint.s,LinkAnimation_BlendToJoint,0x8013682C,0x28 +asm/non_matchings/code/z_skelanime/LinkAnimation_BlendToMorph.s,LinkAnimation_BlendToMorph,0x801368CC,0x28 +asm/non_matchings/code/z_skelanime/LinkAnimation_EndLoop.s,LinkAnimation_EndLoop,0x8013696C,0x9 +asm/non_matchings/code/z_skelanime/Animation_OnFrameImpl.s,Animation_OnFrameImpl,0x80136990,0x2E +asm/non_matchings/code/z_skelanime/LinkAnimation_OnFrame.s,LinkAnimation_OnFrame,0x80136A48,0xD asm/non_matchings/code/z_skelanime/SkelAnime_Init.s,SkelAnime_Init,0x80136A7C,0x2D asm/non_matchings/code/z_skelanime/SkelAnime_InitFlex.s,SkelAnime_InitFlex,0x80136B30,0x2F asm/non_matchings/code/z_skelanime/SkelAnime_InitSkin.s,SkelAnime_InitSkin,0x80136BEC,0x26 -asm/non_matchings/code/z_skelanime/func_80136C84.s,func_80136C84,0x80136C84,0x13 +asm/non_matchings/code/z_skelanime/SkelAnime_SetUpdate.s,SkelAnime_SetUpdate,0x80136C84,0x13 asm/non_matchings/code/z_skelanime/SkelAnime_Update.s,SkelAnime_Update,0x80136CD0,0x9 -asm/non_matchings/code/z_skelanime/func_80136CF4.s,func_80136CF4,0x80136CF4,0x29 -asm/non_matchings/code/z_skelanime/func_80136D98.s,func_80136D98,0x80136D98,0x5B -asm/non_matchings/code/z_skelanime/func_80136F04.s,func_80136F04,0x80136F04,0x4A -asm/non_matchings/code/z_skelanime/func_8013702C.s,func_8013702C,0x8013702C,0x21 -asm/non_matchings/code/z_skelanime/func_801370B0.s,func_801370B0,0x801370B0,0x23 -asm/non_matchings/code/z_skelanime/func_8013713C.s,func_8013713C,0x8013713C,0x3C +asm/non_matchings/code/z_skelanime/SkelAnime_Morph.s,SkelAnime_Morph,0x80136CF4,0x29 +asm/non_matchings/code/z_skelanime/SkelAnime_MorphTaper.s,SkelAnime_MorphTaper,0x80136D98,0x5B +asm/non_matchings/code/z_skelanime/SkelAnime_AnimateFrame.s,SkelAnime_AnimateFrame,0x80136F04,0x4A +asm/non_matchings/code/z_skelanime/SkelAnime_LoopFull.s,SkelAnime_LoopFull,0x8013702C,0x21 +asm/non_matchings/code/z_skelanime/SkelAnime_LoopPartial.s,SkelAnime_LoopPartial,0x801370B0,0x23 +asm/non_matchings/code/z_skelanime/SkelAnime_Once.s,SkelAnime_Once,0x8013713C,0x3C asm/non_matchings/code/z_skelanime/Animation_ChangeImpl.s,Animation_ChangeImpl,0x8013722C,0x6F asm/non_matchings/code/z_skelanime/Animation_Change.s,Animation_Change,0x801373E8,0x12 asm/non_matchings/code/z_skelanime/Animation_PlayOnce.s,Animation_PlayOnce,0x80137430,0x16 @@ -2114,14 +2114,14 @@ asm/non_matchings/code/z_skelanime/Animation_PlayOnceSetSpeed.s,Animation_PlayOn asm/non_matchings/code/z_skelanime/Animation_PlayLoop.s,Animation_PlayLoop,0x80137540,0x15 asm/non_matchings/code/z_skelanime/Animation_MorphToLoop.s,Animation_MorphToLoop,0x80137594,0xE asm/non_matchings/code/z_skelanime/Animation_ChangePlaybackRepeat.s,Animation_ChangePlaybackRepeat,0x801375CC,0x16 -asm/non_matchings/code/z_skelanime/SkelAnime_AnimSetStop.s,SkelAnime_AnimSetStop,0x80137624,0xB -asm/non_matchings/code/z_skelanime/SkelAnime_AnimReverse.s,SkelAnime_AnimReverse,0x80137650,0x9 -asm/non_matchings/code/z_skelanime/func_80137674.s,func_80137674,0x80137674,0x1A -asm/non_matchings/code/z_skelanime/func_801376DC.s,func_801376DC,0x801376DC,0x1B -asm/non_matchings/code/z_skelanime/func_80137748.s,func_80137748,0x80137748,0x5C +asm/non_matchings/code/z_skelanime/Animation_EndLoop.s,Animation_EndLoop,0x80137624,0xB +asm/non_matchings/code/z_skelanime/Animation_Reverse.s,Animation_Reverse,0x80137650,0x9 +asm/non_matchings/code/z_skelanime/SkelAnime_CopyFrameTableTrue.s,SkelAnime_CopyFrameTableTrue,0x80137674,0x1A +asm/non_matchings/code/z_skelanime/SkelAnime_CopyFrameTableFalse.s,SkelAnime_CopyFrameTableFalse,0x801376DC,0x1B +asm/non_matchings/code/z_skelanime/SkelAnime_UpdateTranslation.s,SkelAnime_UpdateTranslation,0x80137748,0x5C asm/non_matchings/code/z_skelanime/Animation_OnFrame.s,Animation_OnFrame,0x801378B8,0xA asm/non_matchings/code/z_skelanime/SkelAnime_Free.s,SkelAnime_Free,0x801378E0,0x13 -asm/non_matchings/code/z_skelanime/SkelAnime_CopyVec3s.s,SkelAnime_CopyVec3s,0x8013792C,0x11 +asm/non_matchings/code/z_skelanime/SkelAnime_CopyFrameTable.s,SkelAnime_CopyFrameTable,0x8013792C,0x11 asm/non_matchings/code/z_skin/func_80137970.s,func_80137970,0x80137970,0x71 asm/non_matchings/code/z_skin/func_80137B34.s,func_80137B34,0x80137B34,0xE2 asm/non_matchings/code/z_skin/func_80137EBC.s,func_80137EBC,0x80137EBC,0x27 @@ -2415,8 +2415,8 @@ asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetPillarboxTarget.s,ShrinkW asm/non_matchings/code/z_shrink_window/ShrinkWindow_SetPillarboxMagnitude.s,ShrinkWindow_SetPillarboxMagnitude,0x80160C78,0x5 asm/non_matchings/code/z_shrink_window/ShrinkWindow_GetPillarboxMagnitude.s,ShrinkWindow_GetPillarboxMagnitude,0x80160C8C,0x5 asm/non_matchings/code/z_shrink_window/ShrinkWindow_Init.s,ShrinkWindow_Init,0x80160CA0,0xD -asm/non_matchings/code/z_shrink_window/ShrinkWindow_Fini.s,ShrinkWindow_Fini,0x80160CD4,0x4 -asm/non_matchings/code/z_shrink_window/ShrinkWindow_Step.s,ShrinkWindow_Step,0x80160CE4,0x2D +asm/non_matchings/code/z_shrink_window/ShrinkWindow_Destroy.s,ShrinkWindow_Destroy,0x80160CD4,0x4 +asm/non_matchings/code/z_shrink_window/ShrinkWindow_Update.s,ShrinkWindow_Update,0x80160CE4,0x2D asm/non_matchings/code/z_shrink_window/ShrinkWindow_Draw.s,ShrinkWindow_Draw,0x80160D98,0xFA asm/non_matchings/code/db_camera/func_80161180.s,func_80161180,0x80161180,0x7 asm/non_matchings/code/db_camera/func_8016119C.s,func_8016119C,0x8016119C,0x24 @@ -2526,7 +2526,7 @@ asm/non_matchings/code/z_play/func_80169590.s,func_80169590,0x80169590,0x1C asm/non_matchings/code/z_play/func_80169600.s,func_80169600,0x80169600,0x1A asm/non_matchings/code/z_play/func_80169668.s,func_80169668,0x80169668,0x1B asm/non_matchings/code/z_play/Play_GetCamera.s,Play_GetCamera,0x801696D4,0xE -asm/non_matchings/code/z_play/func_8016970C.s,func_8016970C,0x8016970C,0x44 +asm/non_matchings/code/z_play/Play_CameraSetAtEye.s,Play_CameraSetAtEye,0x8016970C,0x44 asm/non_matchings/code/z_play/func_8016981C.s,func_8016981C,0x8016981C,0x49 asm/non_matchings/code/z_play/func_80169940.s,func_80169940,0x80169940,0x12 asm/non_matchings/code/z_play/func_80169988.s,func_80169988,0x80169988,0x13