MCPcopy Create free account
hub / github.com/bfbbdecomp/bfbb / _xAnimTableAddTransition

Function _xAnimTableAddTransition

src/SB/Core/x/xAnim.cpp:830–1019  ·  view source on GitHub ↗

WIP

Source from the content-addressed store, hash-verified

828
829// WIP
830void _xAnimTableAddTransition(xAnimTable* table, xAnimTransition* tran, const char* source,
831 const char* dest)
832{
833 // unsigned char * buffer; // r29+0x110
834 // class xAnimState * * stateList; // r29+0x100
835 // unsigned int i; // r4
836 // unsigned int stateCount; // r30
837 // unsigned int allocCount; // r21
838 // char * stateName; // r29+0xFC
839 // class xAnimTransitionList * tlist; // r29+0xE0
840 // class xAnimTransition * substTransitionList[32]; // r29+0x230
841 // unsigned int substTransitionCount; // r29+0xD0
842 // unsigned char hasSubst; // r29+0xC0
843 // signed int i; // r5
844 // unsigned char isComplex; // r8
845 // char * COMPLEX_PATTERNS; // r7
846 // char * search; // r6
847 // class xAnimState * state; // r23
848 // char extra[128]; // r29+0x1B0
849 // char tempName[128]; // r29+0x130
850 // char * tempIterator; // r19
851 // char * extraIterator; // r18
852 // unsigned char allowMissingState; // r29+0xB0
853 // signed int i; // r17
854 // unsigned int extraIteratorLength; // r16
855 // class xAnimTransition * duplicatedTransition; // r17
856 // class xAnimTransitionList * curr; // r7
857
858 U8* buffer = (U8*)giAnimScratch;
859 xAnimState** stateList = (xAnimState**)(giAnimScratch + 0x400);
860 S32 i;
861 U32 stateCount = 0;
862 U32 allocCount = 0;
863
864 xAnimTransitionList* tlist;
865 xAnimTransition* substTransitionList[32];
866
867 char extra[128];
868 char tempName[128];
869
870 U8 bVar2 = false;
871 U8 bVar1 = false;
872 S32 iVar12 = 0;
873
874 if (dest != NULL)
875 {
876 for (S32 i = 0; dest[i] != NULL; ++i)
877 {
878 if (dest[i] == '@' || dest[i] == '~')
879 {
880 bVar2 = true;
881 break;
882 }
883 }
884 }
885
886 for (char* x = xStrTokBuffer(source, " ,\t\n\r", table); x != NULL;
887 x = xStrTokBuffer(source, " ,\t\n\r", table))

Callers 2

xAnimTableAddTransitionFunction · 0.70
xAnimTableNewTransitionFunction · 0.70

Calls 9

xStrTokBufferFunction · 0.85
_xCharInFunction · 0.85
_xCheckAnimNameFunction · 0.85
xAnimTableGetStateFunction · 0.85
memcpyFunction · 0.85
DefaultOverrideFunction · 0.85
xMemGrowAllocFunction · 0.70
xMemAllocFunction · 0.70

Tested by

no test coverage detected