Match and link CBoolPOINode

This commit is contained in:
Phillip Stephens 2023-01-11 17:33:42 -08:00
parent d642396d26
commit b90862a39a
10 changed files with 63 additions and 47 deletions

View File

@ -805,11 +805,11 @@ lbl_802EC4B4:
/* 802EC568 002E94C8 7F 23 CB 78 */ mr r3, r25
/* 802EC56C 002E94CC 7F A4 EB 78 */ mr r4, r29
/* 802EC570 002E94D0 4B FF 0B E5 */ bl sub_802dd154
/* 802EC574 002E94D4 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802EC574 002E94D4 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802EC578 002E94D8 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802EC57C 002E94DC 3B 81 00 14 */ addi r28, r1, 0x14
/* 802EC580 002E94E0 3B E1 00 08 */ addi r31, r1, 8
/* 802EC584 002E94E4 3A E4 9B 68 */ addi r23, r4, lbl_803D9B68@l
/* 802EC584 002E94E4 3A E4 9B 68 */ addi r23, r4, __vt__12CBoolPOINode@l
/* 802EC588 002E94E8 3B 03 9B 8C */ addi r24, r3, __vt__8CPOINode@l
/* 802EC58C 002E94EC 3B 60 00 00 */ li r27, 0
/* 802EC590 002E94F0 48 00 00 F4 */ b lbl_802EC684
@ -846,8 +846,8 @@ lbl_802EC5D4:
/* 802EC600 002E9560 B0 1E 00 04 */ sth r0, 4(r30)
/* 802EC604 002E9564 48 05 1B 5D */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802EC608 002E9568 A0 81 00 24 */ lhz r4, 0x24(r1)
/* 802EC60C 002E956C 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802EC610 002E9570 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 802EC60C 002E956C 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802EC610 002E9570 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 802EC614 002E9574 B0 9E 00 18 */ sth r4, 0x18(r30)
/* 802EC618 002E9578 C0 01 00 28 */ lfs f0, 0x28(r1)
/* 802EC61C 002E957C D0 1E 00 1C */ stfs f0, 0x1c(r30)

View File

@ -1594,11 +1594,11 @@ lbl_802F0D70:
/* 802F0DA8 002EDD08 38 7C 00 08 */ addi r3, r28, 8
/* 802F0DAC 002EDD0C 48 04 CF B1 */ bl "assign__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802F0DB0 002EDD10 A0 01 00 48 */ lhz r0, 0x48(r1)
/* 802F0DB4 002EDD14 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802F0DB4 002EDD14 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802F0DB8 002EDD18 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802F0DBC 002EDD1C 28 1D 00 00 */ cmplwi r29, 0
/* 802F0DC0 002EDD20 B0 1C 00 18 */ sth r0, 0x18(r28)
/* 802F0DC4 002EDD24 38 84 9B 68 */ addi r4, r4, lbl_803D9B68@l
/* 802F0DC4 002EDD24 38 84 9B 68 */ addi r4, r4, __vt__12CBoolPOINode@l
/* 802F0DC8 002EDD28 38 03 9B 8C */ addi r0, r3, __vt__8CPOINode@l
/* 802F0DCC 002EDD2C 80 A1 00 4C */ lwz r5, 0x4c(r1)
/* 802F0DD0 002EDD30 80 61 00 50 */ lwz r3, 0x50(r1)

View File

@ -1380,8 +1380,8 @@ lbl_802D999C:
/* 802D99BC 002D691C B0 1D 00 04 */ sth r0, 4(r29)
/* 802D99C0 002D6920 48 06 47 A1 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802D99C4 002D6924 A0 9C 00 18 */ lhz r4, 0x18(r28)
/* 802D99C8 002D6928 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802D99CC 002D692C 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 802D99C8 002D6928 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802D99CC 002D692C 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 802D99D0 002D6930 B0 9D 00 18 */ sth r4, 0x18(r29)
/* 802D99D4 002D6934 C0 1C 00 1C */ lfs f0, 0x1c(r28)
/* 802D99D8 002D6938 D0 1D 00 1C */ stfs f0, 0x1c(r29)
@ -1686,7 +1686,7 @@ lbl_802D9D90:
/* 802D9E00 002D6D60 3C 80 80 3E */ lis r4, __vt__8CPOINode@ha
/* 802D9E04 002D6D64 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802D9E08 002D6D68 1F 1B 00 3C */ mulli r24, r27, 0x3c
/* 802D9E0C 002D6D6C 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802D9E0C 002D6D6C 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802D9E10 002D6D70 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802D9E14 002D6D74 3A 21 00 A0 */ addi r17, r1, 0xa0
/* 802D9E18 002D6D78 90 01 00 14 */ stw r0, 0x14(r1)
@ -1695,7 +1695,7 @@ lbl_802D9D90:
/* 802D9E24 002D6D84 3A 61 00 28 */ addi r19, r1, 0x28
/* 802D9E28 002D6D88 3A 41 00 64 */ addi r18, r1, 0x64
/* 802D9E2C 002D6D8C 3A C4 9B 8C */ addi r22, r4, __vt__8CPOINode@l
/* 802D9E30 002D6D90 3A E3 9B 68 */ addi r23, r3, lbl_803D9B68@l
/* 802D9E30 002D6D90 3A E3 9B 68 */ addi r23, r3, __vt__12CBoolPOINode@l
/* 802D9E34 002D6D94 48 00 02 24 */ b lbl_802DA058
lbl_802D9E38:
/* 802D9E38 002D6D98 80 1C 00 0C */ lwz r0, 0xc(r28)
@ -1730,9 +1730,9 @@ lbl_802D9E38:
/* 802D9EAC 002D6E0C 48 06 EB C1 */ bl __gt__13CCharAnimTimeCFRC13CCharAnimTime
/* 802D9EB0 002D6E10 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D9EB4 002D6E14 41 82 00 30 */ beq lbl_802D9EE4
/* 802D9EB8 002D6E18 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802D9EB8 002D6E18 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802D9EBC 002D6E1C 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802D9EC0 002D6E20 38 04 9B 68 */ addi r0, r4, lbl_803D9B68@l
/* 802D9EC0 002D6E20 38 04 9B 68 */ addi r0, r4, __vt__12CBoolPOINode@l
/* 802D9EC4 002D6E24 28 11 00 00 */ cmplwi r17, 0
/* 802D9EC8 002D6E28 90 01 00 98 */ stw r0, 0x98(r1)
/* 802D9ECC 002D6E2C 38 03 9B 8C */ addi r0, r3, __vt__8CPOINode@l
@ -1762,9 +1762,9 @@ lbl_802D9EE4:
/* 802D9F28 002D6E88 7E 64 9B 78 */ mr r4, r19
/* 802D9F2C 002D6E8C B0 01 00 60 */ sth r0, 0x60(r1)
/* 802D9F30 002D6E90 48 06 42 31 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802D9F34 002D6E94 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802D9F34 002D6E94 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802D9F38 002D6E98 A1 41 00 38 */ lhz r10, 0x38(r1)
/* 802D9F3C 002D6E9C 38 83 9B 68 */ addi r4, r3, lbl_803D9B68@l
/* 802D9F3C 002D6E9C 38 83 9B 68 */ addi r4, r3, __vt__12CBoolPOINode@l
/* 802D9F40 002D6EA0 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 802D9F44 002D6EA4 81 21 00 40 */ lwz r9, 0x40(r1)
/* 802D9F48 002D6EA8 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
@ -1800,12 +1800,12 @@ lbl_802D9FA8:
/* 802D9FBC 002D6F1C 38 75 00 08 */ addi r3, r21, 8
/* 802D9FC0 002D6F20 48 06 3D 9D */ bl "assign__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802D9FC4 002D6F24 A0 01 00 74 */ lhz r0, 0x74(r1)
/* 802D9FC8 002D6F28 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802D9FC8 002D6F28 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802D9FCC 002D6F2C 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802D9FD0 002D6F30 28 12 00 00 */ cmplwi r18, 0
/* 802D9FD4 002D6F34 B0 15 00 18 */ sth r0, 0x18(r21)
/* 802D9FD8 002D6F38 38 03 9B 8C */ addi r0, r3, __vt__8CPOINode@l
/* 802D9FDC 002D6F3C 38 84 9B 68 */ addi r4, r4, lbl_803D9B68@l
/* 802D9FDC 002D6F3C 38 84 9B 68 */ addi r4, r4, __vt__12CBoolPOINode@l
/* 802D9FE0 002D6F40 3B FF 00 01 */ addi r31, r31, 1
/* 802D9FE4 002D6F44 80 A1 00 78 */ lwz r5, 0x78(r1)
/* 802D9FE8 002D6F48 80 61 00 7C */ lwz r3, 0x7c(r1)

View File

@ -1553,8 +1553,8 @@ lbl_802DC048:
/* 802DC068 002D8FC8 B0 1C 00 04 */ sth r0, 4(r28)
/* 802DC06C 002D8FCC 48 06 20 F5 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DC070 002D8FD0 A0 9F 00 18 */ lhz r4, 0x18(r31)
/* 802DC074 002D8FD4 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802DC078 002D8FD8 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 802DC074 002D8FD4 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802DC078 002D8FD8 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 802DC07C 002D8FDC B0 9C 00 18 */ sth r4, 0x18(r28)
/* 802DC080 002D8FE0 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 802DC084 002D8FE4 D0 1C 00 1C */ stfs f0, 0x1c(r28)
@ -1860,7 +1860,7 @@ sub_802dc488:
/* 802DC4D0 002D9430 3C 80 80 3E */ lis r4, __vt__8CPOINode@ha
/* 802DC4D4 002D9434 80 01 00 0C */ lwz r0, 0xc(r1)
/* 802DC4D8 002D9438 1E 3E 00 3C */ mulli r17, r30, 0x3c
/* 802DC4DC 002D943C 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802DC4DC 002D943C 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802DC4E0 002D9440 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802DC4E4 002D9444 3A A1 00 A0 */ addi r21, r1, 0xa0
/* 802DC4E8 002D9448 90 01 00 14 */ stw r0, 0x14(r1)
@ -1869,7 +1869,7 @@ sub_802dc488:
/* 802DC4F4 002D9454 3A E1 00 28 */ addi r23, r1, 0x28
/* 802DC4F8 002D9458 3A C1 00 64 */ addi r22, r1, 0x64
/* 802DC4FC 002D945C 3B 44 9B 8C */ addi r26, r4, __vt__8CPOINode@l
/* 802DC500 002D9460 3B 63 9B 68 */ addi r27, r3, lbl_803D9B68@l
/* 802DC500 002D9460 3B 63 9B 68 */ addi r27, r3, __vt__12CBoolPOINode@l
/* 802DC504 002D9464 3A 60 00 00 */ li r19, 0
/* 802DC508 002D9468 48 00 02 24 */ b lbl_802DC72C
lbl_802DC50C:
@ -1905,9 +1905,9 @@ lbl_802DC50C:
/* 802DC580 002D94E0 48 06 C4 ED */ bl __gt__13CCharAnimTimeCFRC13CCharAnimTime
/* 802DC584 002D94E4 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802DC588 002D94E8 41 82 00 30 */ beq lbl_802DC5B8
/* 802DC58C 002D94EC 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802DC58C 002D94EC 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802DC590 002D94F0 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802DC594 002D94F4 38 04 9B 68 */ addi r0, r4, lbl_803D9B68@l
/* 802DC594 002D94F4 38 04 9B 68 */ addi r0, r4, __vt__12CBoolPOINode@l
/* 802DC598 002D94F8 28 15 00 00 */ cmplwi r21, 0
/* 802DC59C 002D94FC 90 01 00 98 */ stw r0, 0x98(r1)
/* 802DC5A0 002D9500 38 03 9B 8C */ addi r0, r3, __vt__8CPOINode@l
@ -1934,9 +1934,9 @@ lbl_802DC5B8:
/* 802DC5F0 002D9550 7E E4 BB 78 */ mr r4, r23
/* 802DC5F4 002D9554 B0 01 00 60 */ sth r0, 0x60(r1)
/* 802DC5F8 002D9558 48 06 1B 69 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DC5FC 002D955C 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802DC5FC 002D955C 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802DC600 002D9560 A1 41 00 38 */ lhz r10, 0x38(r1)
/* 802DC604 002D9564 38 83 9B 68 */ addi r4, r3, lbl_803D9B68@l
/* 802DC604 002D9564 38 83 9B 68 */ addi r4, r3, __vt__12CBoolPOINode@l
/* 802DC608 002D9568 C0 21 00 3C */ lfs f1, 0x3c(r1)
/* 802DC60C 002D956C 81 21 00 40 */ lwz r9, 0x40(r1)
/* 802DC610 002D9570 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
@ -1994,9 +1994,9 @@ lbl_802DC670:
/* 802DC6DC 002D963C 88 01 00 94 */ lbz r0, 0x94(r1)
/* 802DC6E0 002D9640 98 19 00 38 */ stb r0, 0x38(r25)
lbl_802DC6E4:
/* 802DC6E4 002D9644 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802DC6E4 002D9644 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802DC6E8 002D9648 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
/* 802DC6EC 002D964C 38 04 9B 68 */ addi r0, r4, lbl_803D9B68@l
/* 802DC6EC 002D964C 38 04 9B 68 */ addi r0, r4, __vt__12CBoolPOINode@l
/* 802DC6F0 002D9650 28 16 00 00 */ cmplwi r22, 0
/* 802DC6F4 002D9654 90 01 00 5C */ stw r0, 0x5c(r1)
/* 802DC6F8 002D9658 38 03 9B 8C */ addi r0, r3, __vt__8CPOINode@l
@ -2795,8 +2795,8 @@ lbl_802DD264:
/* 802DD284 002DA1E4 B0 1E 00 04 */ sth r0, 4(r30)
/* 802DD288 002DA1E8 48 06 0E D9 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802DD28C 002DA1EC A0 9F 00 18 */ lhz r4, 0x18(r31)
/* 802DD290 002DA1F0 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802DD294 002DA1F4 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 802DD290 002DA1F0 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802DD294 002DA1F4 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 802DD298 002DA1F8 B0 9E 00 18 */ sth r4, 0x18(r30)
/* 802DD29C 002DA1FC C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 802DD2A0 002DA200 D0 1E 00 1C */ stfs f0, 0x1c(r30)

View File

@ -55,9 +55,9 @@ __ct__12CBoolPOINodeFR12CInputStream:
/* 802F7B68 002F4AC8 93 C1 00 08 */ stw r30, 8(r1)
/* 802F7B6C 002F4ACC 7C 7E 1B 78 */ mr r30, r3
/* 802F7B70 002F4AD0 48 00 55 ED */ bl __ct__8CPOINodeFR12CInputStream
/* 802F7B74 002F4AD4 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 802F7B74 002F4AD4 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 802F7B78 002F4AD8 7F E3 FB 78 */ mr r3, r31
/* 802F7B7C 002F4ADC 38 04 9B 68 */ addi r0, r4, lbl_803D9B68@l
/* 802F7B7C 002F4ADC 38 04 9B 68 */ addi r0, r4, __vt__12CBoolPOINode@l
/* 802F7B80 002F4AE0 90 1E 00 00 */ stw r0, 0(r30)
/* 802F7B84 002F4AE4 48 04 71 59 */ bl ReadBool__12CInputStreamFv
/* 802F7B88 002F4AE8 98 7E 00 38 */ stb r3, 0x38(r30)

View File

@ -198,8 +198,8 @@ lbl_802E5BE8:
/* 802E5C14 002E2B74 B0 13 00 04 */ sth r0, 4(r19)
/* 802E5C18 002E2B78 48 05 85 49 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 802E5C1C 002E2B7C A0 96 00 18 */ lhz r4, 0x18(r22)
/* 802E5C20 002E2B80 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 802E5C24 002E2B84 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 802E5C20 002E2B80 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 802E5C24 002E2B84 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 802E5C28 002E2B88 B0 93 00 18 */ sth r4, 0x18(r19)
/* 802E5C2C 002E2B8C C0 16 00 1C */ lfs f0, 0x1c(r22)
/* 802E5C30 002E2B90 D0 13 00 1C */ stfs f0, 0x1c(r19)

View File

@ -9,8 +9,8 @@ lbl_ctor:
# These belong in Kyoto/Animation/C*POINode
# Thanks to ODR they wound up here
.global lbl_803D9B68
lbl_803D9B68:
.global __vt__12CBoolPOINode
__vt__12CBoolPOINode:
# ROM: 0x3D6B68
.4byte 0
.4byte 0
@ -7199,8 +7199,8 @@ __dt__12CBoolPOINodeFv:
/* 8002F800 0002C760 93 C1 00 08 */ stw r30, 8(r1)
/* 8002F804 0002C764 7C 7E 1B 79 */ or. r30, r3, r3
/* 8002F808 0002C768 41 82 00 40 */ beq lbl_8002F848
/* 8002F80C 0002C76C 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 8002F810 0002C770 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 8002F80C 0002C76C 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 8002F810 0002C770 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 8002F814 0002C774 90 1E 00 00 */ stw r0, 0(r30)
/* 8002F818 0002C778 41 82 00 20 */ beq lbl_8002F838
/* 8002F81C 0002C77C 3C 60 80 3E */ lis r3, __vt__8CPOINode@ha
@ -7490,9 +7490,9 @@ lbl_8002FC48:
/* 8002FC68 0002CBC8 B0 1B 00 04 */ sth r0, 4(r27)
/* 8002FC6C 0002CBCC 48 30 E4 F5 */ bl "__ct__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>FRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8002FC70 0002CBD0 A0 01 01 2C */ lhz r0, 0x12c(r1)
/* 8002FC74 0002CBD4 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 8002FC74 0002CBD4 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 8002FC78 0002CBD8 C0 01 01 30 */ lfs f0, 0x130(r1)
/* 8002FC7C 0002CBDC 38 63 9B 68 */ addi r3, r3, lbl_803D9B68@l
/* 8002FC7C 0002CBDC 38 63 9B 68 */ addi r3, r3, __vt__12CBoolPOINode@l
/* 8002FC80 0002CBE0 B0 1B 00 18 */ sth r0, 0x18(r27)
/* 8002FC84 0002CBE4 80 01 01 34 */ lwz r0, 0x134(r1)
/* 8002FC88 0002CBE8 D0 1B 00 1C */ stfs f0, 0x1c(r27)
@ -7520,9 +7520,9 @@ lbl_8002FCCC:
/* 8002FCD8 0002CC38 38 00 00 08 */ li r0, 8
/* 8002FCDC 0002CC3C 90 03 A6 00 */ stw r0, mBoolPOINodes__9CAnimData@l(r3)
lbl_8002FCE0:
/* 8002FCE0 0002CC40 3C 60 80 3E */ lis r3, lbl_803D9B68@ha
/* 8002FCE0 0002CC40 3C 60 80 3E */ lis r3, __vt__12CBoolPOINode@ha
/* 8002FCE4 0002CC44 3C 80 80 3E */ lis r4, __vt__8CPOINode@ha
/* 8002FCE8 0002CC48 38 03 9B 68 */ addi r0, r3, lbl_803D9B68@l
/* 8002FCE8 0002CC48 38 03 9B 68 */ addi r0, r3, __vt__12CBoolPOINode@l
/* 8002FCEC 0002CC4C 34 61 01 1C */ addic. r3, r1, 0x11c
/* 8002FCF0 0002CC50 90 01 01 14 */ stw r0, 0x114(r1)
/* 8002FCF4 0002CC54 38 04 9B 8C */ addi r0, r4, __vt__8CPOINode@l
@ -8055,9 +8055,9 @@ sub_80030408:
/* 80030498 0002D3F8 93 C1 00 08 */ stw r30, 8(r1)
/* 8003049C 0002D3FC 7C 7E 1B 78 */ mr r30, r3
/* 800304A0 0002D400 48 2C CD 71 */ bl "__ct__8CPOINodeFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfii"
/* 800304A4 0002D404 3C 80 80 3E */ lis r4, lbl_803D9B68@ha
/* 800304A4 0002D404 3C 80 80 3E */ lis r4, __vt__12CBoolPOINode@ha
/* 800304A8 0002D408 7F C3 F3 78 */ mr r3, r30
/* 800304AC 0002D40C 38 04 9B 68 */ addi r0, r4, lbl_803D9B68@l
/* 800304AC 0002D40C 38 04 9B 68 */ addi r0, r4, __vt__12CBoolPOINode@l
/* 800304B0 0002D410 90 1E 00 00 */ stw r0, 0(r30)
/* 800304B4 0002D414 9B FE 00 38 */ stb r31, 0x38(r30)
/* 800304B8 0002D418 83 E1 00 0C */ lwz r31, 0xc(r1)

View File

@ -520,7 +520,7 @@ LIBS = [
"Kyoto/Animation/CAnimTreeTimeScale",
"Kyoto/Animation/CAnimTreeTransition",
"Kyoto/Animation/CAnimTreeTweenBase",
"Kyoto/Animation/CBoolPOINode",
["Kyoto/Animation/CBoolPOINode", True],
"Kyoto/Animation/CCharAnimMemoryMetrics",
"Kyoto/Animation/CCharLayoutInfo",
"Kyoto/Animation/CFBStreamedAnimReader",

View File

@ -54,10 +54,14 @@ CHECK_SIZEOF(CPOINode, 0x38)
class CBoolPOINode : public CPOINode {
public:
// __ct__12CBoolPOINodeFQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>UsRC13CCharAnimTimeibfiib
// __ct__12CBoolPOINodeFR12CInputStream
// CopyNodeMinusStartTime__12CBoolPOINodeFRC12CBoolPOINodeRC13CCharAnimTime
CBoolPOINode(rstl::string name, ushort type, const CCharAnimTime& time, int index,
bool unique, float weight, int charIdx, int flags, bool value); /*
: CPOINode(name, type, time, index, unique, weight, charIdx, flags)
, x38_val(value) {}
*/
CBoolPOINode(CInputStream& in);
static CBoolPOINode CopyNodeMinusStartTime(const CBoolPOINode& node,
const CCharAnimTime& startTime);
bool GetValue() const { return x38_val; }
private:

View File

@ -0,0 +1,12 @@
#include "Kyoto/Animation/CPOINode.hpp"
#include "Kyoto/Streams/CInputStream.hpp"
CBoolPOINode::CBoolPOINode(CInputStream& in) : CPOINode(in), x38_val(in.ReadBool()) {}
CBoolPOINode CBoolPOINode::CopyNodeMinusStartTime(const CBoolPOINode& node,
const CCharAnimTime& startTime) {
return CBoolPOINode(node.GetString(), node.GetPoiType(), node.GetTime() - startTime,
node.GetIndex(), node.GetSaveState(), node.GetWeight(),
node.GetCharacterIndex(), node.GetFlags(), node.GetValue());
}