Battle Camera Initialize

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search

It sets the elevation angle and zoom after the events finished.

  1. Elevation: (0x012e=26º, 0x0177,0x01c0)
  2. Zoom: (0x1000=100%, 0x0c00)

0012dde8: 3c028016 lui r2,0x8016
0012ddec: 8c425f9c lw r2,0x5f9c(r2)
0012ddf0: 27bdffd8 addiu r29,r29,0xffd8
0012ddf4: afbf0020 sw r31,0x0020(r29)
0012ddf8: afb3001c sw r19,0x001c(r29)
0012ddfc: afb20018 sw r18,0x0018(r29)
0012de00: afb10014 sw r17,0x0014(r29)
0012de04: afb00010 sw r16,0x0010(r29)
0012de08: 8c500074 lw r16,0x0074(r2)               #Current elevation angle
0012de0c: 00000000 nop
0012de10: 2a02012e slti r2,r16,0x012e              #Starts to compare the angle to some ref.
0012de14: 10400004 beq r2,r0,0x0012de28
0012de18: 00009821 addu r19,r0,r0                  #r19 will mark if angle ref hi or low
0012de1c: 34120010 ori r18,r0,0x0010               #r18 will be step to increase or decrease
0012de20: 0804b796 j 0x0012de58
0012de24: 3411012e ori r17,r0,0x012e
0012de28: 2a020177 slti r2,r16,0x0177
0012de2c: 10400003 beq r2,r0,0x0012de3c
0012de30: 2412fff0 addiu r18,r0,0xfff0
0012de34: 0804b796 j 0x0012de58
0012de38: 3411012e ori r17,r0,0x012e
0012de3c: 2a0201c0 slti r2,r16,0x01c0
0012de40: 10400003 beq r2,r0,0x0012de50
0012de44: 34130001 ori r19,r0,0x0001               #r19 will mark if angle ref hi or low
0012de48: 0804b795 j 0x0012de54
0012de4c: 34120010 ori r18,r0,0x0010
0012de50: 2412fff0 addiu r18,r0,0xfff0
0012de54: 341101c0 ori r17,r0,0x01c0
0012de58: 06410014 bgez r18,0x0012deac
0012de5c: 0211102a slt r2,r16,r17
0012de60: 0230102a slt r2,r17,r16
0012de64: 10400013 beq r2,r0,0x0012deb4
0012de68: 00000000 nop
0012de6c: 3c028016 lui r2,0x8016                   #Loop to decrease elevation angle
0012de70: 8c425f9c lw r2,0x5f9c(r2)                #by r18 step till gets to r17.
0012de74: 0c0532a0 jal 0x0014ca80                  #Some event data setting routine
0012de78: ac500074 sw r16,0x0074(r2)
0012de7c: 02128021 addu r16,r16,r18
0012de80: 0230102a slt r2,r17,r16
0012de84: 1040000b beq r2,r0,0x0012deb4
0012de88: 00000000 nop
0012de8c: 0804b79b j 0x0012de6c
0012de90: 00000000 nop
0012de94: 3c028016 lui r2,0x8016                   #Loop to increase elevation angle
0012de98: 8c425f9c lw r2,0x5f9c(r2)                #by r18 step till gets to r17.
0012de9c: 0c0532a0 jal 0x0014ca80                  #Some event data setting routine
0012dea0: ac500074 sw r16,0x0074(r2)
0012dea4: 02128021 addu r16,r16,r18
0012dea8: 0211102a slt r2,r16,r17
0012deac: 1440fff9 bne r2,r0,0x0012de94
0012deb0: 00000000 nop
0012deb4: 3c028016 lui r2,0x8016
0012deb8: 8c425f9c lw r2,0x5f9c(r2)
0012debc: 00000000 nop
0012dec0: ac510074 sw r17,0x0074(r2)               #Final value for elevation
0012dec4: 3c038016 lui r3,0x8016
0012dec8: 8c635f9c lw r3,0x5f9c(r3)
0012decc: 26620001 addiu r2,r19,0x0001
0012ded0: 3c018009 lui r1,0x8009
0012ded4: ac2260d8 sw r2,0x60d8(r1)                #Flag elevation 1=low, 2=hi
0012ded8: 34020001 ori r2,r0,0x0001
0012dedc: 3c018009 lui r1,0x8009
0012dee0: ac2260d0 sw r2,0x60d0(r1)                #Flag zoom 1=in, 4=out
0012dee4: 34021000 ori r2,r0,0x1000
0012dee8: ac620080 sw r2,0x0080(r3)                #Final value for zoom
0012deec: 8fbf0020 lw r31,0x0020(r29)
0012def0: 8fb3001c lw r19,0x001c(r29)
0012def4: 8fb20018 lw r18,0x0018(r29)
0012def8: 8fb10014 lw r17,0x0014(r29)
0012defc: 8fb00010 lw r16,0x0010(r29)
0012df00: 27bd0028 addiu r29,r29,0x0028
0012df04: 03e00008 jr r31
0012df08: 00000000 nop