WIP
| 828 | |
| 829 | // WIP |
| 830 | void _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)) |
no test coverage detected