Camera Fusion Inner Routine

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
8013dfb0: 27bdff90 addiu r29,r29,-0x0070
8013dfb4: afb40058 sw r20,0x0058(r29)
8013dfb8: 0080a021 addu r20,r4,r0
8013dfbc: afbf006c sw r31,0x006c(r29)
8013dfc0: afbe0068 sw r30,0x0068(r29)
8013dfc4: afb70064 sw r23,0x0064(r29)
8013dfc8: afb60060 sw r22,0x0060(r29)
8013dfcc: afb5005c sw r21,0x005c(r29)
8013dfd0: afb30054 sw r19,0x0054(r29)
8013dfd4: afb20050 sw r18,0x0050(r29)
8013dfd8: afb1004c sw r17,0x004c(r29)
8013dfdc: afb00048 sw r16,0x0048(r29)
8013dfe0: afa50030 sw r5,0x0030(r29)
8013dfe4: 8e82008c lw r2,0x008c(r20)
8013dfe8: 00000000 nop
8013dfec: 1440004c bne r2,r0,0x8013e120
8013dff0: 00000000 nop
8013dff4: 8e850084 lw r5,0x0084(r20)
8013dff8: 8e860080 lw r6,0x0080(r20)
8013dffc: 24a40002 addiu r4,r5,0x0002
8013e000: 00042100 sll r4,r4,0x04
8013e004: 02842021 addu r4,r20,r4
8013e008: 24a20001 addiu r2,r5,0x0001
8013e00c: 00021100 sll r2,r2,0x04
8013e010: 02821021 addu r2,r20,r2
8013e014: 00051900 sll r3,r5,0x04
8013e018: 02831821 addu r3,r20,r3
8013e01c: 8c840000 lw r4,0x0000(r4)
8013e020: 8c420000 lw r2,0x0000(r2)
8013e024: 8c630000 lw r3,0x0000(r3)
8013e028: 00828023 subu r16,r4,r2
8013e02c: 00439023 subu r18,r2,r3
8013e030: 28c20004 slti r2,r6,0x0004
8013e034: 14400015 bne r2,r0,0x8013e08c
8013e038: 00838823 subu r17,r4,r3
8013e03c: 14a00007 bne r5,r0,0x8013e05c
8013e040: 24c2fffd addiu r2,r6,-0x0003
8013e044: 001017c2 srl r2,r16,0x1f
8013e048: 02021021 addu r2,r16,r2
8013e04c: 00021043 sra r2,r2,0x01
8013e050: 00521021 addu r2,r2,r18
8013e054: 0804f824 j 0x8013e090
8013e058: ae82009c sw r2,0x009c(r20)
8013e05c: 14a20007 bne r5,r2,0x8013e07c
8013e060: 001117c2 srl r2,r17,0x1f
8013e064: 001217c2 srl r2,r18,0x1f
8013e068: 02421021 addu r2,r18,r2
8013e06c: 00021043 sra r2,r2,0x01
8013e070: 02021021 addu r2,r16,r2
8013e074: 0804f824 j 0x8013e090
8013e078: ae82009c sw r2,0x009c(r20)
8013e07c: 02221021 addu r2,r17,r2
8013e080: 00021043 sra r2,r2,0x01
8013e084: 0804f824 j 0x8013e090
8013e088: ae82009c sw r2,0x009c(r20)
8013e08c: ae91009c sw r17,0x009c(r20)
8013e090: 8e820084 lw r2,0x0084(r20)
8013e094: 00000000 nop
8013e098: 00021100 sll r2,r2,0x04
8013e09c: 02821021 addu r2,r20,r2
8013e0a0: 8c440004 lw r4,0x0004(r2)
8013e0a4: 8e820080 lw r2,0x0080(r20)
8013e0a8: 00000000 nop
8013e0ac: 28420004 slti r2,r2,0x0004
8013e0b0: 14400012 bne r2,r0,0x8013e0fc
8013e0b4: ae840094 sw r4,0x0094(r20)
8013e0b8: 8e830084 lw r3,0x0084(r20)
8013e0bc: 00000000 nop
8013e0c0: 1060000e beq r3,r0,0x8013e0fc
8013e0c4: 24620001 addiu r2,r3,0x0001
8013e0c8: 00021100 sll r2,r2,0x04
8013e0cc: 02821021 addu r2,r20,r2
8013e0d0: 00031900 sll r3,r3,0x04
8013e0d4: 02831821 addu r3,r20,r3
8013e0d8: 8c420004 lw r2,0x0004(r2)
8013e0dc: 8c630004 lw r3,0x0004(r3)
8013e0e0: 00000000 nop
8013e0e4: 00431023 subu r2,r2,r3
8013e0e8: 00021fc2 srl r3,r2,0x1f
8013e0ec: 00431021 addu r2,r2,r3
8013e0f0: 00021043 sra r2,r2,0x01
8013e0f4: 00441021 addu r2,r2,r4
8013e0f8: ae820094 sw r2,0x0094(r20)
8013e0fc: 8e820094 lw r2,0x0094(r20)
8013e100: 00000000 nop
8013e104: 00021300 sll r2,r2,0x0c
8013e108: ae820094 sw r2,0x0094(r20)
8013e10c: 8e820088 lw r2,0x0088(r20)
8013e110: 8e830094 lw r3,0x0094(r20)
8013e114: 00021300 sll r2,r2,0x0c
8013e118: ae820090 sw r2,0x0090(r20)
8013e11c: ae830098 sw r3,0x0098(r20)
8013e120: 8e840084 lw r4,0x0084(r20)
8013e124: 00000000 nop
8013e128: 00041100 sll r2,r4,0x04
8013e12c: 02821021 addu r2,r20,r2
8013e130: 24830001 addiu r3,r4,0x0001
8013e134: 00031900 sll r3,r3,0x04
8013e138: 02831821 addu r3,r20,r3
8013e13c: 8c450004 lw r5,0x0004(r2)
8013e140: 8c620004 lw r2,0x0004(r3)
8013e144: 00000000 nop
8013e148: 14a2000a bne r5,r2,0x8013e174
8013e14c: 00009821 addu r19,r0,r0
8013e150: 24820002 addiu r2,r4,0x0002
8013e154: 00021100 sll r2,r2,0x04
8013e158: 02821021 addu r2,r20,r2
8013e15c: 8c420004 lw r2,0x0004(r2)
8013e160: 00000000 nop
8013e164: 14a20004 bne r5,r2,0x8013e178
8013e168: 27b20010 addiu r18,r29,0x0010
8013e16c: 0804f916 j 0x8013e458
8013e170: 00058b00 sll r17,r5,0x0c
8013e174: 27b20010 addiu r18,r29,0x0010
8013e178: 0000a821 addu r21,r0,r0
8013e17c: 8e82008c lw r2,0x008c(r20)
8013e180: 8e830084 lw r3,0x0084(r20)
8013e184: 00000000 nop
8013e188: 14600014 bne r3,r0,0x8013e1dc
8013e18c: 02628821 addu r17,r19,r2
8013e190: 8e840000 lw r4,0x0000(r20)
8013e194: 8e850010 lw r5,0x0010(r20)
8013e198: 8e87009c lw r7,0x009c(r20)
8013e19c: 0c04f952 jal 0x8013e548
8013e1a0: 02203021 addu r6,r17,r0
8013e1a4: ae420000 sw r2,0x0000(r18)
8013e1a8: 8e830084 lw r3,0x0084(r20)
8013e1ac: 8e87009c lw r7,0x009c(r20)
8013e1b0: 00031100 sll r2,r3,0x04
8013e1b4: 02821021 addu r2,r20,r2
8013e1b8: 24630001 addiu r3,r3,0x0001
8013e1bc: 00031900 sll r3,r3,0x04
8013e1c0: 02831821 addu r3,r20,r3
8013e1c4: 8c440004 lw r4,0x0004(r2)
8013e1c8: 8c650004 lw r5,0x0004(r3)
8013e1cc: 0c04f952 jal 0x8013e548
8013e1d0: 02203021 addu r6,r17,r0
8013e1d4: 0804f8ad j 0x8013e2b4
8013e1d8: ae420010 sw r2,0x0010(r18)
8013e1dc: 02203021 addu r6,r17,r0
8013e1e0: 00031100 sll r2,r3,0x04
8013e1e4: 02821021 addu r2,r20,r2
8013e1e8: 8c440000 lw r4,0x0000(r2)
8013e1ec: 24620001 addiu r2,r3,0x0001
8013e1f0: 00021100 sll r2,r2,0x04
8013e1f4: 02821021 addu r2,r20,r2
8013e1f8: 8e87009c lw r7,0x009c(r20)
8013e1fc: 8c450000 lw r5,0x0000(r2)
8013e200: 0c04f952 jal 0x8013e548
8013e204: 00073840 sll r7,r7,0x01
8013e208: 8e830084 lw r3,0x0084(r20)
8013e20c: 02203021 addu r6,r17,r0
8013e210: 00032100 sll r4,r3,0x04
8013e214: 02842021 addu r4,r20,r4
8013e218: 24630001 addiu r3,r3,0x0001
8013e21c: 00031900 sll r3,r3,0x04
8013e220: 02831821 addu r3,r20,r3
8013e224: 8c840000 lw r4,0x0000(r4)
8013e228: 8c630000 lw r3,0x0000(r3)
8013e22c: 00441023 subu r2,r2,r4
8013e230: 00641823 subu r3,r3,r4
8013e234: 000327c2 srl r4,r3,0x1f
8013e238: 00641821 addu r3,r3,r4
8013e23c: 00031843 sra r3,r3,0x01
8013e240: 00431021 addu r2,r2,r3
8013e244: ae420000 sw r2,0x0000(r18)
8013e248: 8e830084 lw r3,0x0084(r20)
8013e24c: 8e87009c lw r7,0x009c(r20)
8013e250: 00031100 sll r2,r3,0x04
8013e254: 02821021 addu r2,r20,r2
8013e258: 24630001 addiu r3,r3,0x0001
8013e25c: 00031900 sll r3,r3,0x04
8013e260: 02831821 addu r3,r20,r3
8013e264: 8c440004 lw r4,0x0004(r2)
8013e268: 8c650004 lw r5,0x0004(r3)
8013e26c: 0c04f952 jal 0x8013e548
8013e270: 00073840 sll r7,r7,0x01
8013e274: 8e830084 lw r3,0x0084(r20)
8013e278: 00000000 nop
8013e27c: 00032100 sll r4,r3,0x04
8013e280: 02842021 addu r4,r20,r4
8013e284: 24630001 addiu r3,r3,0x0001
8013e288: 00031900 sll r3,r3,0x04
8013e28c: 02831821 addu r3,r20,r3
8013e290: 8c840004 lw r4,0x0004(r4)
8013e294: 8c630004 lw r3,0x0004(r3)
8013e298: 00441023 subu r2,r2,r4
8013e29c: 00641823 subu r3,r3,r4
8013e2a0: 000327c2 srl r4,r3,0x1f
8013e2a4: 00641821 addu r3,r3,r4
8013e2a8: 00031843 sra r3,r3,0x01
8013e2ac: 00431021 addu r2,r2,r3
8013e2b0: ae420010 sw r2,0x0010(r18)
8013e2b4: 8e90009c lw r16,0x009c(r20)
8013e2b8: 8e820080 lw r2,0x0080(r20)
8013e2bc: 8e830084 lw r3,0x0084(r20)
8013e2c0: 2442fffd addiu r2,r2,-0x0003
8013e2c4: 10620002 beq r3,r2,0x8013e2d0
8013e2c8: 02203021 addu r6,r17,r0
8013e2cc: 00108040 sll r16,r16,0x01
8013e2d0: 02003821 addu r7,r16,r0
8013e2d4: 24620001 addiu r2,r3,0x0001
8013e2d8: 00021100 sll r2,r2,0x04
8013e2dc: 02821021 addu r2,r20,r2
8013e2e0: 8c440000 lw r4,0x0000(r2)
8013e2e4: 24620002 addiu r2,r3,0x0002
8013e2e8: 00021100 sll r2,r2,0x04
8013e2ec: 02821021 addu r2,r20,r2
8013e2f0: 8c450000 lw r5,0x0000(r2)
8013e2f4: 0c04f952 jal 0x8013e548
8013e2f8: 26730001 addiu r19,r19,0x0001
8013e2fc: 02203021 addu r6,r17,r0
8013e300: ae420004 sw r2,0x0004(r18)
8013e304: 8e830084 lw r3,0x0084(r20)
8013e308: 02003821 addu r7,r16,r0
8013e30c: 24620001 addiu r2,r3,0x0001
8013e310: 00021100 sll r2,r2,0x04
8013e314: 02821021 addu r2,r20,r2
8013e318: 24630002 addiu r3,r3,0x0002
8013e31c: 00031900 sll r3,r3,0x04
8013e320: 02831821 addu r3,r20,r3
8013e324: 8c440004 lw r4,0x0004(r2)
8013e328: 8c650004 lw r5,0x0004(r3)
8013e32c: 0c04f952 jal 0x8013e548
8013e330: 26520008 addiu r18,r18,0x0008
8013e334: 27a30024 addiu r3,r29,0x0024
8013e338: 00751821 addu r3,r3,r21
8013e33c: ac620000 sw r2,0x0000(r3)
8013e340: 2a620002 slti r2,r19,0x0002
8013e344: 1440ff8d bne r2,r0,0x8013e17c
8013e348: 26b50008 addiu r21,r21,0x0008
8013e34c: 8fa20024 lw r2,0x0024(r29)
8013e350: 8fb70020 lw r23,0x0020(r29)
8013e354: 8fb1001c lw r17,0x001c(r29)
8013e358: 8fb30018 lw r19,0x0018(r29)
8013e35c: 8fb60010 lw r22,0x0010(r29)
8013e360: 8fb0002c lw r16,0x002c(r29)
8013e364: 8fb20028 lw r18,0x0028(r29)
8013e368: afa00040 sw r0,0x0040(r29)
8013e36c: 3c018017 lui r1,0x8017
8013e370: ac203f58 sw r0,0x3f58(r1)
8013e374: 00571023 subu r2,r2,r23
8013e378: 02338823 subu r17,r17,r19
8013e37c: 02202821 addu r5,r17,r0
8013e380: 02128023 subu r16,r16,r18
8013e384: 02003821 addu r7,r16,r0
8013e388: afa20038 sw r2,0x0038(r29)
8013e38c: 8fa20014 lw r2,0x0014(r29)
8013e390: 8fa40038 lw r4,0x0038(r29)
8013e394: 0056f023 subu r30,r2,r22
8013e398: 0c053382 jal 0x8014ce08
8013e39c: 03c03021 addu r6,r30,r0
8013e3a0: 0040a821 addu r21,r2,r0
8013e3a4: 02202021 addu r4,r17,r0
8013e3a8: 02572823 subu r5,r18,r23
8013e3ac: 02003021 addu r6,r16,r0
8013e3b0: 0c053382 jal 0x8014ce08
8013e3b4: 02763823 subu r7,r19,r22
8013e3b8: 12a0001b beq r21,r0,0x8013e428
8013e3bc: 00408821 addu r17,r2,r0
8013e3c0: 03c02021 addu r4,r30,r0
8013e3c4: 02202821 addu r5,r17,r0
8013e3c8: 0c05332e jal 0x8014ccb8
8013e3cc: 02a03021 addu r6,r21,r0
8013e3d0: 00568021 addu r16,r2,r22
8013e3d4: 02202821 addu r5,r17,r0
8013e3d8: 8fa40038 lw r4,0x0038(r29)
8013e3dc: 0c05332e jal 0x8014ccb8
8013e3e0: 02a03021 addu r6,r21,r0
8013e3e4: 8e830090 lw r3,0x0090(r20)
8013e3e8: 00000000 nop
8013e3ec: 0203a823 subu r21,r16,r3
8013e3f0: 12a0000d beq r21,r0,0x8013e428
8013e3f4: 00579021 addu r18,r2,r23
8013e3f8: 02a03021 addu r6,r21,r0
8013e3fc: 8e840094 lw r4,0x0094(r20)
8013e400: 8e850088 lw r5,0x0088(r20)
8013e404: 02442023 subu r4,r18,r4
8013e408: 00052b00 sll r5,r5,0x0c
8013e40c: 0c05332e jal 0x8014ccb8
8013e410: 00a32823 subu r5,r5,r3
8013e414: 8e830094 lw r3,0x0094(r20)
8013e418: ae900090 sw r16,0x0090(r20)
8013e41c: ae920094 sw r18,0x0094(r20)
8013e420: 0804f90c j 0x8013e430
8013e424: 00438821 addu r17,r2,r3
8013e428: 34080001 ori r8,r0,0x0001
8013e42c: afa80040 sw r8,0x0040(r29)
8013e430: 3c028017 lui r2,0x8017
8013e434: 8c423f58 lw r2,0x3f58(r2)
8013e438: 00000000 nop
8013e43c: 14400005 bne r2,r0,0x8013e454
8013e440: 00000000 nop
8013e444: 8fa80040 lw r8,0x0040(r29)
8013e448: 00000000 nop
8013e44c: 11000002 beq r8,r0,0x8013e458
8013e450: 00000000 nop
8013e454: 8e910094 lw r17,0x0094(r20)
8013e458: 8e820088 lw r2,0x0088(r20)
8013e45c: 00000000 nop
8013e460: 24420001 addiu r2,r2,0x0001
8013e464: ae820088 sw r2,0x0088(r20)
8013e468: 8e82008c lw r2,0x008c(r20)
8013e46c: 8e83009c lw r3,0x009c(r20)
8013e470: 24420001 addiu r2,r2,0x0001
8013e474: ae82008c sw r2,0x008c(r20)
8013e478: 0043102a slt r2,r2,r3
8013e47c: 1440000b bne r2,r0,0x8013e4ac
8013e480: 00000000 nop
8013e484: 8e830084 lw r3,0x0084(r20)
8013e488: 8e820080 lw r2,0x0080(r20)
8013e48c: ae80008c sw r0,0x008c(r20)
8013e490: 24630001 addiu r3,r3,0x0001               #   r3 = r3 + 1
8013e494: 2442fffd addiu r2,r2,-0x0003              #   r2 = r2 - 3
8013e498: 0043102a slt r2,r2,r3
8013e49c: 10400003 beq r2,r0,0x8013e4ac
8013e4a0: ae830084 sw r3,0x0084(r20)
                                                    #   if (r2 < r3) {
8013e4a4: 34020001 ori r2,r0,0x0001
8013e4a8: ae8200a0 sw r2,0x00a0(r20)                #       // This breaks out of camera fusion...
                                                    #   }
8013e4ac: 8fa80030 lw r8,0x0030(r29)
8013e4b0: 00000000 nop
8013e4b4: 29020003 slti r2,r8,0x0003
8013e4b8: 14400011 bne r2,r0,0x8013e500
8013e4bc: 00000000 nop
8013e4c0: 1a200006 blez r17,0x8013e4dc
8013e4c4: 32220fff andi r2,r17,0x0fff
8013e4c8: 28420801 slti r2,r2,0x0801
8013e4cc: 14400007 bne r2,r0,0x8013e4ec
8013e4d0: 00000000 nop
8013e4d4: 0804f93b j 0x8013e4ec
8013e4d8: 26311000 addiu r17,r17,0x1000
8013e4dc: 28420800 slti r2,r2,0x0800
8013e4e0: 10400002 beq r2,r0,0x8013e4ec
8013e4e4: 00000000 nop
8013e4e8: 2631f000 addiu r17,r17,-0x1000
8013e4ec: 06210002 bgez r17,0x8013e4f8
8013e4f0: 02201021 addu r2,r17,r0
8013e4f4: 26220fff addiu r2,r17,0x0fff
8013e4f8: 0804f945 j 0x8013e514
8013e4fc: 00021303 sra r2,r2,0x0c
8013e500: 02201021 addu r2,r17,r0
8013e504: 04410002 bgez r2,0x8013e510
8013e508: 00000000 nop
8013e50c: 24420003 addiu r2,r2,0x0003
8013e510: 00021083 sra r2,r2,0x02
8013e514: 8fbf006c lw r31,0x006c(r29)
8013e518: 8fbe0068 lw r30,0x0068(r29)
8013e51c: 8fb70064 lw r23,0x0064(r29)
8013e520: 8fb60060 lw r22,0x0060(r29)
8013e524: 8fb5005c lw r21,0x005c(r29)
8013e528: 8fb40058 lw r20,0x0058(r29)
8013e52c: 8fb30054 lw r19,0x0054(r29)
8013e530: 8fb20050 lw r18,0x0050(r29)
8013e534: 8fb1004c lw r17,0x004c(r29)
8013e538: 8fb00048 lw r16,0x0048(r29)
8013e53c: 27bd0070 addiu r29,r29,0x0070
8013e540: 03e00008 jr r31
8013e544: 00000000 nop