Difference between revisions of "Find Empty Party Slot and Generate Unit"

From Final Fantasy Hacktics Wiki
Jump to navigation Jump to search
(Added routine links)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
< [[SCUS.942.21]]
 +
 
  Find Empty Party Slot and Generate Unit
 
  Find Empty Party Slot and Generate Unit
 
  00059ed4: 27bdff88 addiu r29,r29,0xff88
 
  00059ed4: 27bdff88 addiu r29,r29,0xff88
Line 10: Line 12:
 
  00059ef4: 27b10010 addiu r17,r29,0x0010 r17 = Stack Pointer
 
  00059ef4: 27b10010 addiu r17,r29,0x0010 r17 = Stack Pointer
 
  00059ef8: afbf0070 sw r31,0x0070(r29)
 
  00059ef8: afbf0070 sw r31,0x0070(r29)
  00059efc: 0c0166bc jal 0x00059af0 Get Party Data Pointer
+
  00059efc: 0c0166bc jal 0x00059af0 [[Get Party Data Pointer]]
 
  00059f00: 02002021 addu r4,r16,r0 r4 = Counter
 
  00059f00: 02002021 addu r4,r16,r0 r4 = Counter
 
  00059f04: ae220000 sw r2,0x0000(r17) Temp Store Party Data Pointer
 
  00059f04: ae220000 sw r2,0x0000(r17) Temp Store Party Data Pointer
Line 31: Line 33:
 
  00059f48: a0530003 sb r19,0x0003(r2) Store Palette = 0
 
  00059f48: a0530003 sb r19,0x0003(r2) Store Palette = 0
 
  00059f4c: 8c840000 lw r4,0x0000(r4) Load Party Data Pointer
 
  00059f4c: 8c840000 lw r4,0x0000(r4) Load Party Data Pointer
  00059f50: 0c0167ff jal 0x00059ffc Out of Battle Unit Generation
+
  00059f50: 0c0167ff jal 0x00059ffc [[Out of Battle Unit Generation]]
 
  00059f54: 02402821 addu r5,r18,r0 r5 = Unit Type
 
  00059f54: 02402821 addu r5,r18,r0 r5 = Unit Type
 
  00059f58: 080167dd j 0x00059f74
 
  00059f58: 080167dd j 0x00059f74
Line 52: Line 54:
 
== Return Locations ==
 
== Return Locations ==
  
  00042ad4: 00042ab0
+
  00042ad4: [[? 0x42ab0]] (Starting new game related)
 
  00059e40: [[Create Monster Egg]]
 
  00059e40: [[Create Monster Egg]]

Latest revision as of 18:31, 23 October 2022

< SCUS.942.21

Find Empty Party Slot and Generate Unit
00059ed4: 27bdff88 addiu r29,r29,0xff88
00059ed8: afb20068 sw r18,0x0068(r29)
00059edc: 00809021 addu r18,r4,r0		r18 = Unit Type
00059ee0: afb3006c sw r19,0x006c(r29)
00059ee4: 00009821 addu r19,r0,r0		Palette = 0
00059ee8: afb00060 sw r16,0x0060(r29)
00059eec: 00008021 addu r16,r0,r0		Counter = 0
00059ef0: afb10064 sw r17,0x0064(r29)
00059ef4: 27b10010 addiu r17,r29,0x0010		r17 = Stack Pointer
00059ef8: afbf0070 sw r31,0x0070(r29)
00059efc: 0c0166bc jal 0x00059af0		Get Party Data Pointer
00059f00: 02002021 addu r4,r16,r0		r4 = Counter
00059f04: ae220000 sw r2,0x0000(r17)		Temp Store Party Data Pointer
00059f08: 26100001 addiu r16,r16,0x0001		Counter ++
00059f0c: 2a020014 slti r2,r16,0x0014		(doesn't need limit of 0x14)
00059f10: 1440fffa bne r2,r0,0x00059efc		Branch if Counter < 0x14
00059f14: 26310004 addiu r17,r17,0x0004		Stack Pointer += 4
00059f18: 00008021 addu r16,r0,r0		Counter = 0
00059f1c: 340500ff ori r5,r0,0x00ff		r5 = FF
00059f20: 27a40010 addiu r4,r29,0x0010		r4 = Stack Pointer
00059f24: 8c830000 lw r3,0x0000(r4)		Load Party Data Pointer
00059f28: 00000000 nop
00059f2c: 90620001 lbu r2,0x0001(r3)		Load Party ID
00059f30: 00000000 nop
00059f34: 1445000a bne r2,r5,0x00059f60		Branch if Unit exists
00059f38: 00000000 nop
00059f3c: a0700001 sb r16,0x0001(r3)		Store Party ID = Counter
00059f40: 8c820000 lw r2,0x0000(r4)		Load Party Data Pointer
00059f44: 00000000 nop
00059f48: a0530003 sb r19,0x0003(r2)		Store Palette = 0
00059f4c: 8c840000 lw r4,0x0000(r4)		Load Party Data Pointer
00059f50: 0c0167ff jal 0x00059ffc		Out of Battle Unit Generation
00059f54: 02402821 addu r5,r18,r0		r5 = Unit Type
00059f58: 080167dd j 0x00059f74
00059f5c: 02001021 addu r2,r16,r0		Party ID = Counter
00059f60: 26100001 addiu r16,r16,0x0001		Counter ++
00059f64: 2a020010 slti r2,r16,0x0010
00059f68: 1440ffee bne r2,r0,0x00059f24		Branch if Counter < 0x10
00059f6c: 24840004 addiu r4,r4,0x0004		Stack Pointer += 4
00059f70: 2402ffff addiu r2,r0,0xffff		Party ID = None
00059f74: 8fbf0070 lw r31,0x0070(r29)
00059f78: 8fb3006c lw r19,0x006c(r29)
00059f7c: 8fb20068 lw r18,0x0068(r29)
00059f80: 8fb10064 lw r17,0x0064(r29)
00059f84: 8fb00060 lw r16,0x0060(r29)
00059f88: 27bd0078 addiu r29,r29,0x0078
00059f8c: 03e00008 jr r31
00059f90: 00000000 nop


Return Locations

00042ad4: ? 0x42ab0 (Starting new game related)
00059e40: Create Monster Egg