c_keyframe.c decompiled and documented (#1630)

* 2 non-matching

* 1 function left

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Fully matching

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>

* Documented, has bss reordering issues

* Fixes

* Apply suggestions

* Format

* Re-add cast oops

* Remove != 0 for override and transform limb draws, format

---------

Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
Tharo
2024-05-17 13:29:19 +01:00
committed by GitHub
parent 27aa3f748b
commit c609d3dcae
25 changed files with 1692 additions and 332 deletions
+42 -42
View File
@@ -2915,48 +2915,48 @@ asm/non_matchings/code/sys_ucode/RumbleManager_Update.s,RumbleManager_Update,0x8
asm/non_matchings/code/sys_ucode/RumbleManager_Init.s,RumbleManager_Init,0x80183020,0xE
asm/non_matchings/code/sys_ucode/RumbleManager_Destroy.s,RumbleManager_Destroy,0x80183058,0x6
asm/non_matchings/code/code_80183070/func_80183070.s,func_80183070,0x80183070,0xC
asm/non_matchings/code/c_keyframe/func_801830A0.s,func_801830A0,0x801830A0,0xA
asm/non_matchings/code/c_keyframe/func_801830C8.s,func_801830C8,0x801830C8,0x8
asm/non_matchings/code/c_keyframe/func_801830E8.s,func_801830E8,0x801830E8,0x18
asm/non_matchings/code/c_keyframe/func_80183148.s,func_80183148,0x80183148,0x37
asm/non_matchings/code/c_keyframe/func_80183224.s,func_80183224,0x80183224,0x23
asm/non_matchings/code/c_keyframe/func_801832B0.s,func_801832B0,0x801832B0,0x1F
asm/non_matchings/code/c_keyframe/func_8018332C.s,func_8018332C,0x8018332C,0x38
asm/non_matchings/code/c_keyframe/func_8018340C.s,func_8018340C,0x8018340C,0x9
asm/non_matchings/code/c_keyframe/func_80183430.s,func_80183430,0x80183430,0x1B
asm/non_matchings/code/c_keyframe/func_8018349C.s,func_8018349C,0x8018349C,0x3
asm/non_matchings/code/c_keyframe/func_801834A8.s,func_801834A8,0x801834A8,0x1A
asm/non_matchings/code/c_keyframe/func_80183510.s,func_80183510,0x80183510,0x1C
asm/non_matchings/code/c_keyframe/func_80183580.s,func_80183580,0x80183580,0x1B
asm/non_matchings/code/c_keyframe/func_801835EC.s,func_801835EC,0x801835EC,0x1B
asm/non_matchings/code/c_keyframe/func_80183658.s,func_80183658,0x80183658,0x1D
asm/non_matchings/code/c_keyframe/func_801836CC.s,func_801836CC,0x801836CC,0x1C
asm/non_matchings/code/c_keyframe/func_8018373C.s,func_8018373C,0x8018373C,0x24
asm/non_matchings/code/c_keyframe/func_801837CC.s,func_801837CC,0x801837CC,0xF
asm/non_matchings/code/c_keyframe/func_80183808.s,func_80183808,0x80183808,0x1E
asm/non_matchings/code/c_keyframe/func_80183880.s,func_80183880,0x80183880,0x6F
asm/non_matchings/code/c_keyframe/func_80183A3C.s,func_80183A3C,0x80183A3C,0x33
asm/non_matchings/code/c_keyframe/func_80183B08.s,func_80183B08,0x80183B08,0x18
asm/non_matchings/code/c_keyframe/func_80183B68.s,func_80183B68,0x80183B68,0x9E
asm/non_matchings/code/c_keyframe/func_80183DE0.s,func_80183DE0,0x80183DE0,0xCB
asm/non_matchings/code/c_keyframe/func_8018410C.s,func_8018410C,0x8018410C,0x100
asm/non_matchings/code/c_keyframe/func_8018450C.s,func_8018450C,0x8018450C,0x26
asm/non_matchings/code/c_keyframe/func_801845A4.s,func_801845A4,0x801845A4,0x9
asm/non_matchings/code/c_keyframe/func_801845C8.s,func_801845C8,0x801845C8,0x19
asm/non_matchings/code/c_keyframe/func_8018462C.s,func_8018462C,0x8018462C,0x3
asm/non_matchings/code/c_keyframe/func_80184638.s,func_80184638,0x80184638,0x1D
asm/non_matchings/code/c_keyframe/func_801846AC.s,func_801846AC,0x801846AC,0x1F
asm/non_matchings/code/c_keyframe/func_80184728.s,func_80184728,0x80184728,0x1E
asm/non_matchings/code/c_keyframe/func_801847A0.s,func_801847A0,0x801847A0,0x1E
asm/non_matchings/code/c_keyframe/func_80184818.s,func_80184818,0x80184818,0x20
asm/non_matchings/code/c_keyframe/func_80184898.s,func_80184898,0x80184898,0x1F
asm/non_matchings/code/c_keyframe/func_80184914.s,func_80184914,0x80184914,0x23
asm/non_matchings/code/c_keyframe/func_801849A0.s,func_801849A0,0x801849A0,0xF
asm/non_matchings/code/c_keyframe/func_801849DC.s,func_801849DC,0x801849DC,0x9B
asm/non_matchings/code/c_keyframe/func_80184C48.s,func_80184C48,0x80184C48,0x116
asm/non_matchings/code/c_keyframe/func_801850A0.s,func_801850A0,0x801850A0,0xCA
asm/non_matchings/code/c_keyframe/func_801853C8.s,func_801853C8,0x801853C8,0x26
asm/non_matchings/code/c_keyframe/func_80185460.s,func_80185460,0x80185460,0x80
asm/non_matchings/code/c_keyframe/FrameCtrl_Reset.s,FrameCtrl_Reset,0x801830A0,0xA
asm/non_matchings/code/c_keyframe/FrameCtrl_Init.s,FrameCtrl_Init,0x801830C8,0x8
asm/non_matchings/code/c_keyframe/FrameCtrl_SetProperties.s,FrameCtrl_SetProperties,0x801830E8,0x18
asm/non_matchings/code/c_keyframe/FrameCtrl_PassCheck.s,FrameCtrl_PassCheck,0x80183148,0x37
asm/non_matchings/code/c_keyframe/FrameCtrl_UpdateOnce.s,FrameCtrl_UpdateOnce,0x80183224,0x23
asm/non_matchings/code/c_keyframe/FrameCtrl_UpdateLoop.s,FrameCtrl_UpdateLoop,0x801832B0,0x1F
asm/non_matchings/code/c_keyframe/FrameCtrl_Update.s,FrameCtrl_Update,0x8018332C,0x38
asm/non_matchings/code/c_keyframe/Keyframe_ResetFlex.s,Keyframe_ResetFlex,0x8018340C,0x9
asm/non_matchings/code/c_keyframe/Keyframe_InitFlex.s,Keyframe_InitFlex,0x80183430,0x1B
asm/non_matchings/code/c_keyframe/Keyframe_DestroyFlex.s,Keyframe_DestroyFlex,0x8018349C,0x3
asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayOnce.s,Keyframe_FlexPlayOnce,0x801834A8,0x1A
asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayOnceSetSpeed.s,Keyframe_FlexPlayOnceSetSpeed,0x80183510,0x1C
asm/non_matchings/code/c_keyframe/Keyframe_FlexMorphToPlayOnce.s,Keyframe_FlexMorphToPlayOnce,0x80183580,0x1B
asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayLoop.s,Keyframe_FlexPlayLoop,0x801835EC,0x1B
asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayLoopSetSpeed.s,Keyframe_FlexPlayLoopSetSpeed,0x80183658,0x1D
asm/non_matchings/code/c_keyframe/Keyframe_FlexMorphToPlayLoop.s,Keyframe_FlexMorphToPlayLoop,0x801836CC,0x1C
asm/non_matchings/code/c_keyframe/Keyframe_FlexChangeAnim.s,Keyframe_FlexChangeAnim,0x8018373C,0x24
asm/non_matchings/code/c_keyframe/Keyframe_FlexChangeAnimQuick.s,Keyframe_FlexChangeAnimQuick,0x801837CC,0xF
asm/non_matchings/code/c_keyframe/Keyframe_Interpolate.s,Keyframe_Interpolate,0x80183808,0x1E
asm/non_matchings/code/c_keyframe/Keyframe_KeyCalc.s,Keyframe_KeyCalc,0x80183880,0x6F
asm/non_matchings/code/c_keyframe/Keyframe_MorphInterpolateRotation.s,Keyframe_MorphInterpolateRotation,0x80183A3C,0x33
asm/non_matchings/code/c_keyframe/Keyframe_MorphInterpolateLinear.s,Keyframe_MorphInterpolateLinear,0x80183B08,0x18
asm/non_matchings/code/c_keyframe/Keyframe_FlexMorphInterpolation.s,Keyframe_FlexMorphInterpolation,0x80183B68,0x9E
asm/non_matchings/code/c_keyframe/Keyframe_UpdateFlex.s,Keyframe_UpdateFlex,0x80183DE0,0xCB
asm/non_matchings/code/c_keyframe/Keyframe_DrawFlexLimb.s,Keyframe_DrawFlexLimb,0x8018410C,0x100
asm/non_matchings/code/c_keyframe/Keyframe_DrawFlex.s,Keyframe_DrawFlex,0x8018450C,0x26
asm/non_matchings/code/c_keyframe/Keyframe_ResetStandard.s,Keyframe_ResetStandard,0x801845A4,0x9
asm/non_matchings/code/c_keyframe/Keyframe_InitStandard.s,Keyframe_InitStandard,0x801845C8,0x19
asm/non_matchings/code/c_keyframe/Keyframe_DestroyStandard.s,Keyframe_DestroyStandard,0x8018462C,0x3
asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayOnce.s,Keyframe_StandardPlayOnce,0x80184638,0x1D
asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayOnceSetSpeed.s,Keyframe_StandardPlayOnceSetSpeed,0x801846AC,0x1F
asm/non_matchings/code/c_keyframe/Keyframe_StandardMorphToPlayOnce.s,Keyframe_StandardMorphToPlayOnce,0x80184728,0x1E
asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayLoop.s,Keyframe_StandardPlayLoop,0x801847A0,0x1E
asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayLoopSetSpeed.s,Keyframe_StandardPlayLoopSetSpeed,0x80184818,0x20
asm/non_matchings/code/c_keyframe/Keyframe_StandardMorphToPlayLoop.s,Keyframe_StandardMorphToPlayLoop,0x80184898,0x1F
asm/non_matchings/code/c_keyframe/Keyframe_StandardChangeAnim.s,Keyframe_StandardChangeAnim,0x80184914,0x23
asm/non_matchings/code/c_keyframe/Keyframe_StandardChangeAnimQuick.s,Keyframe_StandardChangeAnimQuick,0x801849A0,0xF
asm/non_matchings/code/c_keyframe/Keyframe_StandardMorphInterpolation.s,Keyframe_StandardMorphInterpolation,0x801849DC,0x9B
asm/non_matchings/code/c_keyframe/Keyframe_UpdateStandard.s,Keyframe_UpdateStandard,0x80184C48,0x116
asm/non_matchings/code/c_keyframe/Keyframe_DrawStandardLimb.s,Keyframe_DrawStandardLimb,0x801850A0,0xCA
asm/non_matchings/code/c_keyframe/Keyframe_DrawStandard.s,Keyframe_DrawStandard,0x801853C8,0x26
asm/non_matchings/code/c_keyframe/Keyframe_FlexGetScale.s,Keyframe_FlexGetScale,0x80185460,0x80
asm/non_matchings/code/sys_slowly/Slowly_Main.s,Slowly_Main,0x80185660,0x27
asm/non_matchings/code/sys_slowly/Slowly_ThreadEntry.s,Slowly_ThreadEntry,0x801856FC,0x8
asm/non_matchings/code/sys_slowly/Slowly_Init.s,Slowly_Init,0x8018571C,0x21
1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2915 asm/non_matchings/code/sys_ucode/RumbleManager_Init.s RumbleManager_Init 0x80183020 0xE
2916 asm/non_matchings/code/sys_ucode/RumbleManager_Destroy.s RumbleManager_Destroy 0x80183058 0x6
2917 asm/non_matchings/code/code_80183070/func_80183070.s func_80183070 0x80183070 0xC
2918 asm/non_matchings/code/c_keyframe/func_801830A0.s asm/non_matchings/code/c_keyframe/FrameCtrl_Reset.s func_801830A0 FrameCtrl_Reset 0x801830A0 0xA
2919 asm/non_matchings/code/c_keyframe/func_801830C8.s asm/non_matchings/code/c_keyframe/FrameCtrl_Init.s func_801830C8 FrameCtrl_Init 0x801830C8 0x8
2920 asm/non_matchings/code/c_keyframe/func_801830E8.s asm/non_matchings/code/c_keyframe/FrameCtrl_SetProperties.s func_801830E8 FrameCtrl_SetProperties 0x801830E8 0x18
2921 asm/non_matchings/code/c_keyframe/func_80183148.s asm/non_matchings/code/c_keyframe/FrameCtrl_PassCheck.s func_80183148 FrameCtrl_PassCheck 0x80183148 0x37
2922 asm/non_matchings/code/c_keyframe/func_80183224.s asm/non_matchings/code/c_keyframe/FrameCtrl_UpdateOnce.s func_80183224 FrameCtrl_UpdateOnce 0x80183224 0x23
2923 asm/non_matchings/code/c_keyframe/func_801832B0.s asm/non_matchings/code/c_keyframe/FrameCtrl_UpdateLoop.s func_801832B0 FrameCtrl_UpdateLoop 0x801832B0 0x1F
2924 asm/non_matchings/code/c_keyframe/func_8018332C.s asm/non_matchings/code/c_keyframe/FrameCtrl_Update.s func_8018332C FrameCtrl_Update 0x8018332C 0x38
2925 asm/non_matchings/code/c_keyframe/func_8018340C.s asm/non_matchings/code/c_keyframe/Keyframe_ResetFlex.s func_8018340C Keyframe_ResetFlex 0x8018340C 0x9
2926 asm/non_matchings/code/c_keyframe/func_80183430.s asm/non_matchings/code/c_keyframe/Keyframe_InitFlex.s func_80183430 Keyframe_InitFlex 0x80183430 0x1B
2927 asm/non_matchings/code/c_keyframe/func_8018349C.s asm/non_matchings/code/c_keyframe/Keyframe_DestroyFlex.s func_8018349C Keyframe_DestroyFlex 0x8018349C 0x3
2928 asm/non_matchings/code/c_keyframe/func_801834A8.s asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayOnce.s func_801834A8 Keyframe_FlexPlayOnce 0x801834A8 0x1A
2929 asm/non_matchings/code/c_keyframe/func_80183510.s asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayOnceSetSpeed.s func_80183510 Keyframe_FlexPlayOnceSetSpeed 0x80183510 0x1C
2930 asm/non_matchings/code/c_keyframe/func_80183580.s asm/non_matchings/code/c_keyframe/Keyframe_FlexMorphToPlayOnce.s func_80183580 Keyframe_FlexMorphToPlayOnce 0x80183580 0x1B
2931 asm/non_matchings/code/c_keyframe/func_801835EC.s asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayLoop.s func_801835EC Keyframe_FlexPlayLoop 0x801835EC 0x1B
2932 asm/non_matchings/code/c_keyframe/func_80183658.s asm/non_matchings/code/c_keyframe/Keyframe_FlexPlayLoopSetSpeed.s func_80183658 Keyframe_FlexPlayLoopSetSpeed 0x80183658 0x1D
2933 asm/non_matchings/code/c_keyframe/func_801836CC.s asm/non_matchings/code/c_keyframe/Keyframe_FlexMorphToPlayLoop.s func_801836CC Keyframe_FlexMorphToPlayLoop 0x801836CC 0x1C
2934 asm/non_matchings/code/c_keyframe/func_8018373C.s asm/non_matchings/code/c_keyframe/Keyframe_FlexChangeAnim.s func_8018373C Keyframe_FlexChangeAnim 0x8018373C 0x24
2935 asm/non_matchings/code/c_keyframe/func_801837CC.s asm/non_matchings/code/c_keyframe/Keyframe_FlexChangeAnimQuick.s func_801837CC Keyframe_FlexChangeAnimQuick 0x801837CC 0xF
2936 asm/non_matchings/code/c_keyframe/func_80183808.s asm/non_matchings/code/c_keyframe/Keyframe_Interpolate.s func_80183808 Keyframe_Interpolate 0x80183808 0x1E
2937 asm/non_matchings/code/c_keyframe/func_80183880.s asm/non_matchings/code/c_keyframe/Keyframe_KeyCalc.s func_80183880 Keyframe_KeyCalc 0x80183880 0x6F
2938 asm/non_matchings/code/c_keyframe/func_80183A3C.s asm/non_matchings/code/c_keyframe/Keyframe_MorphInterpolateRotation.s func_80183A3C Keyframe_MorphInterpolateRotation 0x80183A3C 0x33
2939 asm/non_matchings/code/c_keyframe/func_80183B08.s asm/non_matchings/code/c_keyframe/Keyframe_MorphInterpolateLinear.s func_80183B08 Keyframe_MorphInterpolateLinear 0x80183B08 0x18
2940 asm/non_matchings/code/c_keyframe/func_80183B68.s asm/non_matchings/code/c_keyframe/Keyframe_FlexMorphInterpolation.s func_80183B68 Keyframe_FlexMorphInterpolation 0x80183B68 0x9E
2941 asm/non_matchings/code/c_keyframe/func_80183DE0.s asm/non_matchings/code/c_keyframe/Keyframe_UpdateFlex.s func_80183DE0 Keyframe_UpdateFlex 0x80183DE0 0xCB
2942 asm/non_matchings/code/c_keyframe/func_8018410C.s asm/non_matchings/code/c_keyframe/Keyframe_DrawFlexLimb.s func_8018410C Keyframe_DrawFlexLimb 0x8018410C 0x100
2943 asm/non_matchings/code/c_keyframe/func_8018450C.s asm/non_matchings/code/c_keyframe/Keyframe_DrawFlex.s func_8018450C Keyframe_DrawFlex 0x8018450C 0x26
2944 asm/non_matchings/code/c_keyframe/func_801845A4.s asm/non_matchings/code/c_keyframe/Keyframe_ResetStandard.s func_801845A4 Keyframe_ResetStandard 0x801845A4 0x9
2945 asm/non_matchings/code/c_keyframe/func_801845C8.s asm/non_matchings/code/c_keyframe/Keyframe_InitStandard.s func_801845C8 Keyframe_InitStandard 0x801845C8 0x19
2946 asm/non_matchings/code/c_keyframe/func_8018462C.s asm/non_matchings/code/c_keyframe/Keyframe_DestroyStandard.s func_8018462C Keyframe_DestroyStandard 0x8018462C 0x3
2947 asm/non_matchings/code/c_keyframe/func_80184638.s asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayOnce.s func_80184638 Keyframe_StandardPlayOnce 0x80184638 0x1D
2948 asm/non_matchings/code/c_keyframe/func_801846AC.s asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayOnceSetSpeed.s func_801846AC Keyframe_StandardPlayOnceSetSpeed 0x801846AC 0x1F
2949 asm/non_matchings/code/c_keyframe/func_80184728.s asm/non_matchings/code/c_keyframe/Keyframe_StandardMorphToPlayOnce.s func_80184728 Keyframe_StandardMorphToPlayOnce 0x80184728 0x1E
2950 asm/non_matchings/code/c_keyframe/func_801847A0.s asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayLoop.s func_801847A0 Keyframe_StandardPlayLoop 0x801847A0 0x1E
2951 asm/non_matchings/code/c_keyframe/func_80184818.s asm/non_matchings/code/c_keyframe/Keyframe_StandardPlayLoopSetSpeed.s func_80184818 Keyframe_StandardPlayLoopSetSpeed 0x80184818 0x20
2952 asm/non_matchings/code/c_keyframe/func_80184898.s asm/non_matchings/code/c_keyframe/Keyframe_StandardMorphToPlayLoop.s func_80184898 Keyframe_StandardMorphToPlayLoop 0x80184898 0x1F
2953 asm/non_matchings/code/c_keyframe/func_80184914.s asm/non_matchings/code/c_keyframe/Keyframe_StandardChangeAnim.s func_80184914 Keyframe_StandardChangeAnim 0x80184914 0x23
2954 asm/non_matchings/code/c_keyframe/func_801849A0.s asm/non_matchings/code/c_keyframe/Keyframe_StandardChangeAnimQuick.s func_801849A0 Keyframe_StandardChangeAnimQuick 0x801849A0 0xF
2955 asm/non_matchings/code/c_keyframe/func_801849DC.s asm/non_matchings/code/c_keyframe/Keyframe_StandardMorphInterpolation.s func_801849DC Keyframe_StandardMorphInterpolation 0x801849DC 0x9B
2956 asm/non_matchings/code/c_keyframe/func_80184C48.s asm/non_matchings/code/c_keyframe/Keyframe_UpdateStandard.s func_80184C48 Keyframe_UpdateStandard 0x80184C48 0x116
2957 asm/non_matchings/code/c_keyframe/func_801850A0.s asm/non_matchings/code/c_keyframe/Keyframe_DrawStandardLimb.s func_801850A0 Keyframe_DrawStandardLimb 0x801850A0 0xCA
2958 asm/non_matchings/code/c_keyframe/func_801853C8.s asm/non_matchings/code/c_keyframe/Keyframe_DrawStandard.s func_801853C8 Keyframe_DrawStandard 0x801853C8 0x26
2959 asm/non_matchings/code/c_keyframe/func_80185460.s asm/non_matchings/code/c_keyframe/Keyframe_FlexGetScale.s func_80185460 Keyframe_FlexGetScale 0x80185460 0x80
2960 asm/non_matchings/code/sys_slowly/Slowly_Main.s Slowly_Main 0x80185660 0x27
2961 asm/non_matchings/code/sys_slowly/Slowly_ThreadEntry.s Slowly_ThreadEntry 0x801856FC 0x8
2962 asm/non_matchings/code/sys_slowly/Slowly_Init.s Slowly_Init 0x8018571C 0x21