Load unit SHP & SEQ data to RAM
Jump to navigation
Jump to search
00088130: 27bdffe8 addiu r29,r29,0xffe8 00088134: afb00010 sw r16,0x0010(r29) 00088138: 3c10800a lui r16,0x800a 0008813c: 26108d78 addiu r16,r16,0x8d78 load func. index (0 - load file, 1 - nulled, 2 - copy file to ram, 3 - finalise and restart) 00088140: afbf0014 sw r31,0x0014(r29) 00088144: 8e030000 lw r3,0x0000(r16) 00088148: 34020001 ori r2,r0,0x0001 0008814c: 106200e7 beq r3,r2,0x000884ec Branch if 98d78 = 1 (nulled load phase?) 00088150: 28620002 slti r2,r3,0x0002 00088154: 10400005 beq r2,r0,0x0008816c Branch if >= 2 00088158: 00000000 nop 0008815c: 1060000a beq r3,r0,0x00088188 Branch if = 0 (loading file) 00088160: 00000000 nop 00088164: 080221fb j 0x000887ec 00088168: 00000000 nop
0008816c: 34020002 ori r2,r0,0x0002 00088170: 106200e7 beq r3,r2,0x00088510 Branch if = 2 (Copying file?) 00088174: 34020003 ori r2,r0,0x0003 00088178: 10620154 beq r3,r2,0x000886cc Branch if = 3 (set 0?) 0008817c: 00000000 nop 00088180: 080221fb j 0x000887ec 00088184: 00000000 nop
Loading file?
00088188: 3c03800a lui r3,0x800a 0008818c: 8c638d74 lw r3,-0x728c(r3) load file type index? 00088190: 00000000 nop 00088194: 2c620008 sltiu r2,r3,0x0008 00088198: 10400194 beq r2,r0,0x000887ec branch if less than 8? 0008819c: 00031080 sll r2,r3,0x02 000881a0: 3c018007 lui r1,0x8007 000881a4: 00220821 addu r1,r1,r2 000881a8: 8c2281a8 lw r2,-0x7e58(r1) load return addresses based on file type index to be loaded? 000881ac: 00000000 nop 000881b0: 00400008 jr r2 000881b4: 00000000 nop Return list: 0: 800881b8 (SHP) 1: 80088220 (SEQ) 2: 80088288 (WEP SHP) 3: 800882f0 (WEP SEQ) 4: 80088358 (EFF SHP) 5: 800883c0 (EFF SEQ) 6: 80088448 (WEP SPR) 7: 80088488 (OTHER SPR)
Load SHP:
000881b8: 3c10800a lui r16,0x800a 000881bc: 26108d7c addiu r16,r16,0x8d7c 000881c0: 8e020000 lw r2,0x0000(r16) Load unique spritesheet No. 000881c4: 00000000 nop 000881c8: 000210c0 sll r2,r2,0x03 000881cc: 3c018009 lui r1,0x8009 000881d0: 00220821 addu r1,r1,r2 000881d4: 8c244c50 lw r4,0x4c50(r1) Load SHP size 000881d8: 0c011105 jal 0x00044414 Dedicate RAM 000881dc: 00000000 nop 000881e0: 00403021 addu r6,r2,r0 000881e4: 3c01800a lui r1,0x800a 000881e8: ac268d80 sw r6,-0x7280(r1) Store pointed to loaded file 000881ec: 10c0017f beq r6,r0,0x000887ec 000881f0: 00000000 nop 000881f4: 8e020000 lw r2,0x0000(r16) load unique spritesheet No. 000881f8: 00000000 nop 000881fc: 000210c0 sll r2,r2,0x03 00088200: 3c018009 lui r1,0x8009 00088204: 00220821 addu r1,r1,r2 00088208: 8c244c4c lw r4,0x4c4c(r1) Load SHP LBA 0008820c: 3c018009 lui r1,0x8009 00088210: 00220821 addu r1,r1,r2 00088214: 8c254c50 lw r5,0x4c50(r1) Load SHP size 00088218: 08022108 j 0x00088420 0008821c: 00000000 nop
Load SEQ:
00088220: 3c10800a lui r16,0x800a 00088224: 26108d7c addiu r16,r16,0x8d7c 00088228: 8e020000 lw r2,0x0000(r16) Load Unique spritesheet No. 0008822c: 00000000 nop 00088230: 000210c0 sll r2,r2,0x03 00088234: 3c018009 lui r1,0x8009 00088238: 00220821 addu r1,r1,r2 0008823c: 8c244c08 lw r4,0x4c08(r1) load SEQ file size 00088240: 0c011105 jal 0x00044414 Dedicate RAM 00088244: 00000000 nop 00088248: 00403021 addu r6,r2,r0 0008824c: 3c01800a lui r1,0x800a 00088250: ac268d80 sw r6,-0x7280(r1) Store pointer to loaded file 00088254: 10c00165 beq r6,r0,0x000887ec 00088258: 00000000 nop 0008825c: 8e020000 lw r2,0x0000(r16) Load Unique spritesheet No. 00088260: 00000000 nop 00088264: 000210c0 sll r2,r2,0x03 00088268: 3c018009 lui r1,0x8009 0008826c: 00220821 addu r1,r1,r2 00088270: 8c244c04 lw r4,0x4c04(r1) Load SEQ LBA 00088274: 3c018009 lui r1,0x8009 00088278: 00220821 addu r1,r1,r2 0008827c: 8c254c08 lw r5,0x4c08(r1) Load SEQ size 00088280: 08022108 j 0x00088420 00088284: 00000000 nop
Load weapon SHP
00088288: 3c10800a lui r16,0x800a 0008828c: 26108d7c addiu r16,r16,0x8d7c 00088290: 8e020000 lw r2,0x0000(r16) Load Unique spritesheet No. 00088294: 00000000 nop 00088298: 000210c0 sll r2,r2,0x03 0008829c: 3c018009 lui r1,0x8009 000882a0: 00220821 addu r1,r1,r2 000882a4: 8c244ca8 lw r4,0x4ca8(r1) Load spritesheet size 000882a8: 0c011105 jal 0x00044414 000882ac: 00000000 nop 000882b0: 00403021 addu r6,r2,r0 000882b4: 3c01800a lui r1,0x800a 000882b8: ac268d80 sw r6,-0x7280(r1) 000882bc: 10c0014b beq r6,r0,0x000887ec 000882c0: 00000000 nop 000882c4: 8e020000 lw r2,0x0000(r16) 000882c8: 00000000 nop 000882cc: 000210c0 sll r2,r2,0x03 000882d0: 3c018009 lui r1,0x8009 000882d4: 00220821 addu r1,r1,r2 000882d8: 8c244ca4 lw r4,0x4ca4(r1) Load SHP LBA 000882dc: 3c018009 lui r1,0x8009 000882e0: 00220821 addu r1,r1,r2 000882e4: 8c254ca8 lw r5,0x4ca8(r1) Load SHP size 000882e8: 08022108 j 0x00088420 000882ec: 00000000 nop
Load Weapon SEQ
000882f0: 3c10800a lui r16,0x800a 000882f4: 26108d7c addiu r16,r16,0x8d7c Load Unique Spritesheet No. 000882f8: 8e020000 lw r2,0x0000(r16) 000882fc: 00000000 nop 00088300: 000210c0 sll r2,r2,0x03 00088304: 3c018009 lui r1,0x8009 00088308: 00220821 addu r1,r1,r2 0008830c: 8c244c98 lw r4,0x4c98(r1) Load file size 00088310: 0c011105 jal 0x00044414 Dedicate ram 00088314: 00000000 nop 00088318: 00403021 addu r6,r2,r0 0008831c: 3c01800a lui r1,0x800a 00088320: ac268d80 sw r6,-0x7280(r1) store pointer for loaded file 00088324: 10c00131 beq r6,r0,0x000887ec 00088328: 00000000 nop 0008832c: 8e020000 lw r2,0x0000(r16) 00088330: 00000000 nop 00088334: 000210c0 sll r2,r2,0x03 00088338: 3c018009 lui r1,0x8009 0008833c: 00220821 addu r1,r1,r2 00088340: 8c244c94 lw r4,0x4c94(r1) load SEQ LBA 00088344: 3c018009 lui r1,0x8009 00088348: 00220821 addu r1,r1,r2 0008834c: 8c254c98 lw r5,0x4c98(r1) load SEQ Size 00088350: 08022108 j 0x00088420 00088354: 00000000 nop
Load Weapon Glint SHP
00088358: 3c10800a lui r16,0x800a 0008835c: 26108d7c addiu r16,r16,0x8d7c Load Unique spritesheet No. 00088360: 8e020000 lw r2,0x0000(r16) 00088364: 00000000 nop 00088368: 000210c0 sll r2,r2,0x03 0008836c: 3c018009 lui r1,0x8009 00088370: 00220821 addu r1,r1,r2 00088374: 8c244cc8 lw r4,0x4cc8(r1) Load file size 00088378: 0c011105 jal 0x00044414 Dedicate RAM 0008837c: 00000000 nop 00088380: 00403021 addu r6,r2,r0 00088384: 3c01800a lui r1,0x800a 00088388: ac268d80 sw r6,-0x7280(r1) Store pointer to loaded file 0008838c: 10c00117 beq r6,r0,0x000887ec 00088390: 00000000 nop 00088394: 8e020000 lw r2,0x0000(r16) 00088398: 00000000 nop 0008839c: 000210c0 sll r2,r2,0x03 000883a0: 3c018009 lui r1,0x8009 000883a4: 00220821 addu r1,r1,r2 000883a8: 8c244cc4 lw r4,0x4cc4(r1) Load SHP LBA 000883ac: 3c018009 lui r1,0x8009 000883b0: 00220821 addu r1,r1,r2 000883b4: 8c254cc8 lw r5,0x4cc8(r1) Load SHP Size 000883b8: 08022108 j 0x00088420 000883bc: 00000000 nop
Load Weapon Glint SEQ
000883c0: 3c10800a lui r16,0x800a 000883c4: 26108d7c addiu r16,r16,0x8d7c Load Unique Spritesheet No. 000883c8: 8e020000 lw r2,0x0000(r16) 000883cc: 00000000 nop 000883d0: 000210c0 sll r2,r2,0x03 000883d4: 3c018009 lui r1,0x8009 000883d8: 00220821 addu r1,r1,r2 000883dc: 8c244cb8 lw r4,0x4cb8(r1) Load file size 000883e0: 0c011105 jal 0x00044414 Dedicate RAM 000883e4: 00000000 nop 000883e8: 00403021 addu r6,r2,r0 000883ec: 3c01800a lui r1,0x800a 000883f0: ac268d80 sw r6,-0x7280(r1) Store pointer to loaded file 000883f4: 10c000fd beq r6,r0,0x000887ec 000883f8: 00000000 nop 000883fc: 8e020000 lw r2,0x0000(r16) 00088400: 00000000 nop 00088404: 000210c0 sll r2,r2,0x03 00088408: 3c018009 lui r1,0x8009 0008840c: 00220821 addu r1,r1,r2 00088410: 8c244cb4 lw r4,0x4cb4(r1) Load SEQ LBA 00088414: 3c018009 lui r1,0x8009 00088418: 00220821 addu r1,r1,r2 0008841c: 8c254cb8 lw r5,0x4cb8(r1) Load SEQ Size
All return:
00088420: 0c0111a5 jal 0x00044694 Load file at r4 with size r5 into r6 00088424: 00000000 nop 00088428: 10400023 beq r2,r0,0x000884b8 branch if successfully loaded file 0008842c: 00000000 nop 00088430: 3c04800a lui r4,0x800a 00088434: 8c848d80 lw r4,-0x7280(r4) Load pointer 00088438: 0c011273 jal 0x000449cc mark Ram used to load file as free again 0008843c: 00000000 nop 00088440: 080221fb j 0x000887ec 00088444: 00000000 nop
Load Weapon Spritesheet
00088448: 3c040001 lui r4,0x0001 0008844c: 0c011105 jal 0x00044414 00088450: 34845000 ori r4,r4,0x5000 File size 0x00015000 00088454: 3c10800a lui r16,0x800a 00088458: 26108d80 addiu r16,r16,0x8d80 0008845c: 104000e3 beq r2,r0,0x000887ec 00088460: ae020000 sw r2,0x0000(r16) Store pointer to loaded file 00088464: 3404defa ori r4,r0,0xdefa with LBA pointer defa (WEP.SPR) 00088468: 3c050001 lui r5,0x0001 0008846c: 34a55000 ori r5,r5,0x5000 00088470: 0c0111a5 jal 0x00044694 Load weapon spritesheet into ram 00088474: 00403021 addu r6,r2,r0 00088478: 1040000f beq r2,r0,0x000884b8 branch if successfully loaded data 0008847c: 00000000 nop 00088480: 08022136 j 0x000884d8 00088484: 00000000 nop
Load chicken, frog, crystal, chest sprite sheet
00088488: 0c011105 jal 0x00044414 0008848c: 34048800 ori r4,r0,0x8800 File size 0x8800 00088490: 3c10800a lui r16,0x800a 00088494: 26108d80 addiu r16,r16,0x8d80 00088498: 104000d4 beq r2,r0,0x000887ec 0008849c: ae020000 sw r2,0x0000(r16) Store ram pointer 000884a0: 3404df24 ori r4,r0,0xdf24 with LBA pointer df24 (OTHER.SPR) 000884a4: 34058800 ori r5,r0,0x8800 000884a8: 0c0111a5 jal 0x00044694 load OTHER.SPR into RAM 000884ac: 00403021 addu r6,r2,r0 000884b0: 14400009 bne r2,r0,0x000884d8 Branch if could not load 000884b4: 00000000 nop
If successfully loaded file:
000884b8: 3c02800a lui r2,0x800a 000884bc: 8c428d78 lw r2,-0x7288(r2) Load file loading function index thing 000884c0: 00000000 nop 000884c4: 24420001 addiu r2,r2,0x0001 Increment by 1 (progress to copy-paste phase?) 000884c8: 3c01800a lui r1,0x800a 000884cc: ac228d78 sw r2,-0x7288(r1) Store 000884d0: 080221fb j 0x000887ec End 000884d4: 00000000 nop
Return again:
000884d8: 8e040000 lw r4,0x0000(r16) Load pointer to WEP.SPR/OTHER.SPR 000884dc: 0c011273 jal 0x000449cc Mark clear if failed. 000884e0: 00000000 nop 000884e4: 080221fb j 0x000887ec 000884e8: 00000000 nop
null phase?
000884ec: 0c0111b2 jal 0x000446c8 r2 = *0x8004eaf8 000884f0: 00000000 nop 000884f4: 144000bd bne r2,r0,0x000887ec Branch if non-zero (failure? load still in progress?) 000884f8: 00000000 nop 000884fc: 8e020000 lw r2,0x0000(r16) load func. index? 00088500: 00000000 nop 00088504: 24420001 addiu r2,r2,0x0001 next phase 00088508: 080221fb j 0x000887ec 0008850c: ae020000 sw r2,0x0000(r16)
copying data to ram:
00088510: 3c03800a lui r3,0x800a 00088514: 8c638d74 lw r3,-0x728c(r3) load file-type index 00088518: 00000000 nop 0008851c: 2c620008 sltiu r2,r3,0x0008 Set if legal 00088520: 10400065 beq r2,r0,0x000886b8 branch if not 00088524: 00031080 sll r2,r3,0x02 00088528: 3c018007 lui r1,0x8007 0008852c: 00220821 addu r1,r1,r2 00088530: 8c2281c8 lw r2,-0x7e38(r1) 00088534: 00000000 nop 00088538: 00400008 jr r2 0008853c: 00000000 nop Return Table: 0: 80088540 (SHP) 1: 80088584 (SEQ) 2: 800885b8 (WEP SHP) 3: 800885e8 (WEP SEQ) 4: 80088618 (EFF SHP) 5: 80088654 (EFF SEQ) 6: 80088690 (WEP SPR) 7: 800886a8 (OTHER SPR)
Copying SHP Data:
00088540: 3c02800a lui r2,0x800a 00088544: 8c428d7c lw r2,-0x7284(r2) Load unique spritesheet No. (I think this is like a convenience number. SHP ID for unit here?) 00088548: 3c05800a lui r5,0x800a 0008854c: 8ca58d80 lw r5,-0x7280(r5) Load pointer to loaded SHP file in RAM 00088550: 00022040 sll r4,r2,0x01 00088554: 00822021 addu r4,r4,r2 00088558: 00042080 sll r4,r4,0x02 0008855c: 00822021 addu r4,r4,r2 00088560: 00042100 sll r4,r4,0x04 00088564: 00822021 addu r4,r4,r2 00088568: 000420c0 sll r4,r4,0x03 Spritesheet No. * 688 0008856c: 3c028009 lui r2,0x8009 00088570: 244262f4 addiu r2,r2,0x62f4 00088574: 0c021cef jal 0x000873bc Copy SHP Data into RAM 00088578: 00822021 addu r4,r4,r2 Copy SHP data into SHP Pointer Data * SHP Table entry 0008857c: 080221ae j 0x000886b8 00088580: 00000000 nop
Copying SEQ Data:
00088584: 3c02800a lui r2,0x800a 00088588: 8c428d7c lw r2,-0x7284(r2) Load Unique spritesheet No. 0008858c: 3c05800a lui r5,0x800a 00088590: 8ca58d80 lw r5,-0x7280(r5) Load pointer to Loaded SEQ file in RAM 00088594: 000221c0 sll r4,r2,0x07 00088598: 00822021 addu r4,r4,r2 0008859c: 000420c0 sll r4,r4,0x03 ID * 408 000885a0: 3c02800c lui r2,0x800c 000885a4: 2442fa30 addiu r2,r2,0xfa30 000885a8: 0c021c7d jal 0x000871f4 Copy SEQ Data into RAM 000885ac: 00822021 addu r4,r4,r2 Copy SEQ data into SEQ Pointer data * SEQ Table entry 000885b0: 080221ae j 0x000886b8 000885b4: 00000000 nop
Copying weapon SHP Data:
000885b8: 3c02800a lui r2,0x800a 000885bc: 8c428d7c lw r2,-0x7284(r2) Load Unique Spritesheet No. 000885c0: 3c05800a lui r5,0x800a 000885c4: 8ca58d80 lw r5,-0x7280(r5) Load pointer to loaded SHP File in RAM 000885c8: 00022040 sll r4,r2,0x01 000885cc: 00822021 addu r4,r4,r2 000885d0: 00042100 sll r4,r4,0x04 000885d4: 00822021 addu r4,r4,r2 000885d8: 3c02800c lui r2,0x800c 000885dc: 2442df0c addiu r2,r2,0xdf0c 0x800bdf0c (start of WEP SHP pointer data) 000885e0: 08022191 j 0x00088644 000885e4: 00042180 sll r4,r4,0x06 ID * C40
Copying weapon SEQ Data:
000885e8: 3c02800a lui r2,0x800a 000885ec: 8c428d7c lw r2,-0x7284(r2) load unique spritesheet No. 000885f0: 3c05800a lui r5,0x800a 000885f4: 8ca58d80 lw r5,-0x7280(r5) Load pointer to loaded SEQ file in RAM 000885f8: 00022040 sll r4,r2,0x01 000885fc: 00822021 addu r4,r4,r2 00088600: 00042100 sll r4,r4,0x04 00088604: 00822021 addu r4,r4,r2 00088608: 3c02800c lui r2,0x800c 0008860c: 2442e74c addiu r2,r2,0xe74c 0x800be74c (start of WEP SEQ pointer data) 00088610: 080221a0 j 0x00088680 00088614: 00042180 sll r4,r4,0x06 ID * C40
Copying weapon glint SHP data
00088618: 3c02800a lui r2,0x800a 0008861c: 8c428d7c lw r2,-0x7284(r2) USN 00088620: 3c05800a lui r5,0x800a 00088624: 8ca58d80 lw r5,-0x7280(r5) loaded SHP ptr 00088628: 00022040 sll r4,r2,0x01 0008862c: 00822021 addu r4,r4,r2 00088630: 00042100 sll r4,r4,0x04 00088634: 00822021 addu r4,r4,r2 00088638: 00042180 sll r4,r4,0x06 0008863c: 3c02800b lui r2,0x800b 00088640: 2442669c addiu r2,r2,0x669c 0x800b669c (start of EFF SHP Pointer data) 00088644: 0c021d7c jal 0x000875f0 Copy weapon glint SHP Data into RAM // WEP SHP also branches here 00088648: 00822021 addu r4,r4,r2 UD * C40 + Ptr 0008864c: 080221ae j 0x000886b8 00088650: 00000000 nop
Copying Weapon glint SEQ data
00088654: 3c02800a lui r2,0x800a 00088658: 8c428d7c lw r2,-0x7284(r2) USN 0008865c: 3c05800a lui r5,0x800a 00088660: 8ca58d80 lw r5,-0x7280(r5) SEQ file ptr. 00088664: 00022040 sll r4,r2,0x01 00088668: 00822021 addu r4,r4,r2 0008866c: 00042100 sll r4,r4,0x04 00088670: 00822021 addu r4,r4,r2 00088674: 00042180 sll r4,r4,0x06 00088678: 3c02800b lui r2,0x800b 0008867c: 24426edc addiu r2,r2,0x6edc 0x800b6edc (start of eff SEQ pointer data) 00088680: 0c021cbb jal 0x000872ec Copy weapon glint SEQ Data into RAM // WEP SEQ also branches here 00088684: 00822021 addu r4,r4,r2 ID * C40 + Ptr. 00088688: 080221ae j 0x000886b8 0008868c: 00000000 nop
Copying weapon spritesheet data:
00088690: 3c04800a lui r4,0x800a 00088694: 8c848d80 lw r4,-0x7280(r4) load pointer to file in RAM 00088698: 0c021e29 jal 0x000878a4 copies WEP spritesheet data to ram? 0008869c: 00000000 nop 000886a0: 080221ae j 0x000886b8 000886a4: 00000000 nop
Copying chicken, frog, crystal, chest spritesheet data:
000886a8: 3c04800a lui r4,0x800a 000886ac: 8c848d80 lw r4,-0x7280(r4) pointer to other.spr data in ram 000886b0: 0c021e6e jal 0x000879b8 Copy OTHER.SPR Palette data to RAM 000886b4: 00000000 nop
000886b8: 3c03800a lui r3,0x800a 000886bc: 24638d78 addiu r3,r3,0x8d78 000886c0: 8c620000 lw r2,0x0000(r3) 000886c4: 080221fa j 0x000887e8 000886c8: 24420001 addiu r2,r2,0x0001 Increment counter by 1 (2 -> 3)
000886cc: 3c04800a lui r4,0x800a 000886d0: 8c848d80 lw r4,-0x7280(r4) Load pointer to file pointer in ram 000886d4: 0c011273 jal 0x000449cc mark cleared 000886d8: 00000000 nop 000886dc: 3c03800a lui r3,0x800a 000886e0: 8c638d74 lw r3,-0x728c(r3) load file func. index? 000886e4: 00000000 nop 000886e8: 2c620008 sltiu r2,r3,0x0008 000886ec: 1040003f beq r2,r0,0x000887ec 000886f0: ae000000 sw r0,0x0000(r16) clear func. index 000886f4: 00031080 sll r2,r3,0x02 000886f8: 3c018007 lui r1,0x8007 000886fc: 00220821 addu r1,r1,r2 00088700: 8c2281e8 lw r2,-0x7e18(r1) 00088704: 00000000 nop 00088708: 00400008 jr r2 0008870c: 00000000 nop Return Table: 0: 80088710 (SHP) 1: 8008873c (SEQ) 2: 80088768 (WEP SHP) 3: 80088768 (WEP SEQ) 4: 80088794 (EFF SHP) 5: 80088794 (EFF SEQ) 6: 800887d0 (WEP SPR) 7: 800887d0 (OTHER SPR)
Finalise SHP?
00088710: 3c03800a lui r3,0x800a 00088714: 24638d7c addiu r3,r3,0x8d7c USN 00088718: 8c620000 lw r2,0x0000(r3) 0008871c: 00000000 nop 00088720: 24420001 addiu r2,r2,0x0001 Increment to next unique spritesheet number? (spritesheet type?) 00088724: ac620000 sw r2,0x0000(r3) 00088728: 28420005 slti r2,r2,0x0005 set if less than RUKA 0008872c: 10400020 beq r2,r0,0x000887b0 branch if it aint 00088730: 00000000 nop 00088734: 080221fb j 0x000887ec 00088738: 00000000 nop
Finalise SEQ?
0008873c: 3c03800a lui r3,0x800a 00088740: 24638d7c addiu r3,r3,0x8d7c USN 00088744: 8c620000 lw r2,0x0000(r3) 00088748: 00000000 nop 0008874c: 24420001 addiu r2,r2,0x0001 Increment? 00088750: ac620000 sw r2,0x0000(r3) 00088754: 28420005 slti r2,r2,0x0005 00088758: 10400015 beq r2,r0,0x000887b0 branch if > than RUKA 0008875c: 00000000 nop 00088760: 080221fb j 0x000887ec 00088764: 00000000 nop
Finalise weapon SHP + SEQ:
00088768: 3c03800a lui r3,0x800a 0008876c: 24638d7c addiu r3,r3,0x8d7c USN 00088770: 8c620000 lw r2,0x0000(r3) 00088774: 00000000 nop 00088778: 24420001 addiu r2,r2,0x0001 ++ 0008877c: ac620000 sw r2,0x0000(r3) 00088780: 28420002 slti r2,r2,0x0002 Set while valid WEP (WEP1, WEP2) 00088784: 1040000a beq r2,r0,0x000887b0 branch if done WEP. 00088788: 00000000 nop 0008878c: 080221fb j 0x000887ec 00088790: 00000000 nop
Finalise weapon glint SHP + SEQ:
00088794: 3c03800a lui r3,0x800a 00088798: 24638d7c addiu r3,r3,0x8d7c USN 0008879c: 8c620000 lw r2,0x0000(r3) 000887a0: 00000000 nop 000887a4: 24420001 addiu r2,r2,0x0001 ++ 000887a8: 18400010 blez r2,0x000887ec ... what (branch if not done...?) 000887ac: ac620000 sw r2,0x0000(r3)
Return all:
000887b0: 3c02800a lui r2,0x800a 000887b4: 8c428d74 lw r2,-0x728c(r2) if finalised with all sprites of a type, increment file func. index 000887b8: ac600000 sw r0,0x0000(r3) set load func. index to 0 (load file) 000887bc: 24420001 addiu r2,r2,0x0001 000887c0: 3c01800a lui r1,0x800a 000887c4: ac228d74 sw r2,-0x728c(r1) 000887c8: 080221fb j 0x000887ec 000887cc: 00000000 nop
finalise weapon and chicken, frog, crystal, chest spritesheets:
000887d0: 3c03800a lui r3,0x800a 000887d4: 24638d74 addiu r3,r3,0x8d74 000887d8: 8c620000 lw r2,0x0000(r3) 000887dc: 3c01800a lui r1,0x800a 000887e0: ac208d7c sw r0,-0x7284(r1) reset load func. index 000887e4: 24420001 addiu r2,r2,0x0001 000887e8: ac620000 sw r2,0x0000(r3) increment file func. index
End:
000887ec: 3c02800a lui r2,0x800a 000887f0: 8c428d74 lw r2,-0x728c(r2) Return next file func. index 000887f4: 8fbf0014 lw r31,0x0014(r29) 000887f8: 8fb00010 lw r16,0x0010(r29) 000887fc: 27bd0018 addiu r29,r29,0x0018 00088800: 03e00008 jr r31 00088804: 00000000 nop