Adds JSUList, JKRDisposer, and JKRHeap. (#4)

* Added JSUList, JKRDisposer, and JKRHeap.

JSUList: Decompiled JSUPtrLink and JSUPtrList with their respected
functions. The templated class JSUList is left.

JKRDisposer: Constructor matched but the destructor is close but
not yet a match.

JKRHeap: No functions matches yet. JKRHeap.cpp now includes
"operator delete" which makes it possible to forward compile
destructors.

* moved files from src/ to libs/
This commit is contained in:
Jonathan Wase
2020-11-29 17:47:00 +01:00
committed by GitHub
parent 68a46e15cb
commit 635fbc34ec
385 changed files with 4633 additions and 4131 deletions
+26 -26
View File
@@ -65,7 +65,7 @@ J2DScreen:
/* 802F857C 002F54BC 7F E0 07 35 */ extsh. r0, r31
/* 802F8580 002F54C0 40 81 00 0C */ ble lbl_802F858C
/* 802F8584 002F54C4 7F C3 F3 78 */ mr r3, r30
/* 802F8588 002F54C8 4B FD 67 B5 */ bl __dl
/* 802F8588 002F54C8 4B FD 67 B5 */ bl __dl__FPv
lbl_802F858C:
/* 802F858C 002F54CC 7F C3 F3 78 */ mr r3, r30
/* 802F8590 002F54D0 83 E1 00 0C */ lwz r31, 0xc(r1)
@@ -92,18 +92,18 @@ J2DScreen_NS_clean:
/* 802F85D0 002F5510 B0 1F 01 02 */ sth r0, 0x102(r31)
/* 802F85D4 002F5514 90 1F 01 04 */ stw r0, 0x104(r31)
/* 802F85D8 002F5518 80 7F 01 08 */ lwz r3, 0x108(r31)
/* 802F85DC 002F551C 4B FD 67 85 */ bl __dla
/* 802F85DC 002F551C 4B FD 67 85 */ bl __dla__FPv
/* 802F85E0 002F5520 38 00 00 00 */ li r0, 0
/* 802F85E4 002F5524 90 1F 01 08 */ stw r0, 0x108(r31)
/* 802F85E8 002F5528 80 7F 01 0C */ lwz r3, 0x10c(r31)
/* 802F85EC 002F552C 4B FD 67 75 */ bl __dla
/* 802F85EC 002F552C 4B FD 67 75 */ bl __dla__FPv
/* 802F85F0 002F5530 38 00 00 00 */ li r0, 0
/* 802F85F4 002F5534 90 1F 01 0C */ stw r0, 0x10c(r31)
/* 802F85F8 002F5538 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 802F85FC 002F553C 28 03 00 00 */ cmplwi r3, 0
/* 802F8600 002F5540 41 82 00 34 */ beq lbl_802F8634
/* 802F8604 002F5544 80 63 00 04 */ lwz r3, 4(r3)
/* 802F8608 002F5548 4B FD 67 59 */ bl __dla
/* 802F8608 002F5548 4B FD 67 59 */ bl __dla__FPv
/* 802F860C 002F554C 80 7F 01 10 */ lwz r3, 0x110(r31)
/* 802F8610 002F5550 28 03 00 00 */ cmplwi r3, 0
/* 802F8614 002F5554 41 82 00 18 */ beq lbl_802F862C
@@ -561,7 +561,7 @@ lbl_802F8C48:
/* 802F8C54 002F5B94 48 00 00 E0 */ b lbl_802F8D34
lbl_802F8C58:
/* 802F8C58 002F5B98 38 60 01 00 */ li r3, 0x100
/* 802F8C5C 002F5B9C 4B FD 5F F1 */ bl __nw
/* 802F8C5C 002F5B9C 4B FD 5F F1 */ bl __nw__FUl
/* 802F8C60 002F5BA0 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8C64 002F5BA4 41 82 00 18 */ beq lbl_802F8C7C
/* 802F8C68 002F5BA8 7F A4 EB 78 */ mr r4, r29
@@ -574,7 +574,7 @@ lbl_802F8C7C:
/* 802F8C80 002F5BC0 48 00 02 38 */ b lbl_802F8EB8
lbl_802F8C84:
/* 802F8C84 002F5BC4 38 60 01 48 */ li r3, 0x148
/* 802F8C88 002F5BC8 4B FD 5F C5 */ bl __nw
/* 802F8C88 002F5BC8 4B FD 5F C5 */ bl __nw__FUl
/* 802F8C8C 002F5BCC 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8C90 002F5BD0 41 82 00 18 */ beq lbl_802F8CA8
/* 802F8C94 002F5BD4 7F A4 EB 78 */ mr r4, r29
@@ -587,7 +587,7 @@ lbl_802F8CA8:
/* 802F8CAC 002F5BEC 48 00 02 0C */ b lbl_802F8EB8
lbl_802F8CB0:
/* 802F8CB0 002F5BF0 38 60 01 50 */ li r3, 0x150
/* 802F8CB4 002F5BF4 4B FD 5F 99 */ bl __nw
/* 802F8CB4 002F5BF4 4B FD 5F 99 */ bl __nw__FUl
/* 802F8CB8 002F5BF8 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8CBC 002F5BFC 41 82 00 18 */ beq lbl_802F8CD4
/* 802F8CC0 002F5C00 7F A4 EB 78 */ mr r4, r29
@@ -600,7 +600,7 @@ lbl_802F8CD4:
/* 802F8CD8 002F5C18 48 00 01 E0 */ b lbl_802F8EB8
lbl_802F8CDC:
/* 802F8CDC 002F5C1C 38 60 01 38 */ li r3, 0x138
/* 802F8CE0 002F5C20 4B FD 5F 6D */ bl __nw
/* 802F8CE0 002F5C20 4B FD 5F 6D */ bl __nw__FUl
/* 802F8CE4 002F5C24 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8CE8 002F5C28 41 82 00 18 */ beq lbl_802F8D00
/* 802F8CEC 002F5C2C 7F A4 EB 78 */ mr r4, r29
@@ -613,7 +613,7 @@ lbl_802F8D00:
/* 802F8D04 002F5C44 48 00 01 B4 */ b lbl_802F8EB8
lbl_802F8D08:
/* 802F8D08 002F5C48 38 60 01 00 */ li r3, 0x100
/* 802F8D0C 002F5C4C 4B FD 5F 41 */ bl __nw
/* 802F8D0C 002F5C4C 4B FD 5F 41 */ bl __nw__FUl
/* 802F8D10 002F5C50 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8D14 002F5C54 41 82 00 18 */ beq lbl_802F8D2C
/* 802F8D18 002F5C58 7F A4 EB 78 */ mr r4, r29
@@ -628,7 +628,7 @@ lbl_802F8D34:
/* 802F8D34 002F5C74 57 C0 02 DF */ rlwinm. r0, r30, 0, 0xb, 0xf
/* 802F8D38 002F5C78 41 82 00 34 */ beq lbl_802F8D6C
/* 802F8D3C 002F5C7C 38 60 01 80 */ li r3, 0x180
/* 802F8D40 002F5C80 4B FD 5F 0D */ bl __nw
/* 802F8D40 002F5C80 4B FD 5F 0D */ bl __nw__FUl
/* 802F8D44 002F5C84 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8D48 002F5C88 41 82 00 1C */ beq lbl_802F8D64
/* 802F8D4C 002F5C8C 7F A4 EB 78 */ mr r4, r29
@@ -642,7 +642,7 @@ lbl_802F8D64:
/* 802F8D68 002F5CA8 48 00 01 50 */ b lbl_802F8EB8
lbl_802F8D6C:
/* 802F8D6C 002F5CAC 38 60 01 48 */ li r3, 0x148
/* 802F8D70 002F5CB0 4B FD 5E DD */ bl __nw
/* 802F8D70 002F5CB0 4B FD 5E DD */ bl __nw__FUl
/* 802F8D74 002F5CB4 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8D78 002F5CB8 41 82 00 18 */ beq lbl_802F8D90
/* 802F8D7C 002F5CBC 7F A4 EB 78 */ mr r4, r29
@@ -657,7 +657,7 @@ lbl_802F8D98:
/* 802F8D98 002F5CD8 57 C0 02 DF */ rlwinm. r0, r30, 0, 0xb, 0xf
/* 802F8D9C 002F5CDC 41 82 00 34 */ beq lbl_802F8DD0
/* 802F8DA0 002F5CE0 38 60 01 A0 */ li r3, 0x1a0
/* 802F8DA4 002F5CE4 4B FD 5E A9 */ bl __nw
/* 802F8DA4 002F5CE4 4B FD 5E A9 */ bl __nw__FUl
/* 802F8DA8 002F5CE8 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8DAC 002F5CEC 41 82 00 1C */ beq lbl_802F8DC8
/* 802F8DB0 002F5CF0 7F A4 EB 78 */ mr r4, r29
@@ -671,7 +671,7 @@ lbl_802F8DC8:
/* 802F8DCC 002F5D0C 48 00 00 EC */ b lbl_802F8EB8
lbl_802F8DD0:
/* 802F8DD0 002F5D10 38 60 01 50 */ li r3, 0x150
/* 802F8DD4 002F5D14 4B FD 5E 79 */ bl __nw
/* 802F8DD4 002F5D14 4B FD 5E 79 */ bl __nw__FUl
/* 802F8DD8 002F5D18 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8DDC 002F5D1C 41 82 00 18 */ beq lbl_802F8DF4
/* 802F8DE0 002F5D20 7F A4 EB 78 */ mr r4, r29
@@ -686,7 +686,7 @@ lbl_802F8DFC:
/* 802F8DFC 002F5D3C 57 C0 02 DF */ rlwinm. r0, r30, 0, 0xb, 0xf
/* 802F8E00 002F5D40 41 82 00 34 */ beq lbl_802F8E34
/* 802F8E04 002F5D44 38 60 01 48 */ li r3, 0x148
/* 802F8E08 002F5D48 4B FD 5E 45 */ bl __nw
/* 802F8E08 002F5D48 4B FD 5E 45 */ bl __nw__FUl
/* 802F8E0C 002F5D4C 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8E10 002F5D50 41 82 00 1C */ beq lbl_802F8E2C
/* 802F8E14 002F5D54 7F A4 EB 78 */ mr r4, r29
@@ -700,7 +700,7 @@ lbl_802F8E2C:
/* 802F8E30 002F5D70 48 00 00 88 */ b lbl_802F8EB8
lbl_802F8E34:
/* 802F8E34 002F5D74 38 60 01 38 */ li r3, 0x138
/* 802F8E38 002F5D78 4B FD 5E 15 */ bl __nw
/* 802F8E38 002F5D78 4B FD 5E 15 */ bl __nw__FUl
/* 802F8E3C 002F5D7C 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8E40 002F5D80 41 82 00 1C */ beq lbl_802F8E5C
/* 802F8E44 002F5D84 7F A4 EB 78 */ mr r4, r29
@@ -721,7 +721,7 @@ lbl_802F8E64:
/* 802F8E78 002F5DB8 80 1B 00 04 */ lwz r0, 4(r27)
/* 802F8E7C 002F5DBC 7F 60 1A 14 */ add r27, r0, r3
/* 802F8E80 002F5DC0 38 60 01 00 */ li r3, 0x100
/* 802F8E84 002F5DC4 4B FD 5D C9 */ bl __nw
/* 802F8E84 002F5DC4 4B FD 5D C9 */ bl __nw__FUl
/* 802F8E88 002F5DC8 7C 60 1B 79 */ or. r0, r3, r3
/* 802F8E8C 002F5DCC 41 82 00 18 */ beq lbl_802F8EA4
/* 802F8E90 002F5DD0 7F A4 EB 78 */ mr r4, r29
@@ -1038,13 +1038,13 @@ J2DScreen_NS_getResReference:
/* 802F9320 002F6260 57 80 02 DF */ rlwinm. r0, r28, 0, 0xb, 0xf
/* 802F9324 002F6264 41 82 00 14 */ beq lbl_802F9338
/* 802F9328 002F6268 7F A3 EB 78 */ mr r3, r29
/* 802F932C 002F626C 4B FD 59 99 */ bl __nwa
/* 802F932C 002F626C 4B FD 59 99 */ bl __nwa__FUl
/* 802F9330 002F6270 7C 64 1B 78 */ mr r4, r3
/* 802F9334 002F6274 48 00 00 14 */ b lbl_802F9348
lbl_802F9338:
/* 802F9338 002F6278 7F A3 EB 78 */ mr r3, r29
/* 802F933C 002F627C 38 80 FF FC */ li r4, -4
/* 802F9340 002F6280 4B FD 59 AD */ bl __nwa_X1_
/* 802F9340 002F6280 4B FD 59 AD */ bl __nwa__FUli
/* 802F9344 002F6284 7C 64 1B 78 */ mr r4, r3
lbl_802F9348:
/* 802F9348 002F6288 7C 9E 23 78 */ mr r30, r4
@@ -1100,7 +1100,7 @@ J2DScreen_NS_createMaterial:
/* 802F9400 002F6340 A3 9F 01 02 */ lhz r28, 0x102(r31)
/* 802F9404 002F6344 1C 7C 00 88 */ mulli r3, r28, 0x88
/* 802F9408 002F6348 38 63 00 10 */ addi r3, r3, 0x10
/* 802F940C 002F634C 4B FD 58 B9 */ bl __nwa
/* 802F940C 002F634C 4B FD 58 B9 */ bl __nwa__FUl
.global J2DMaterial
/* 802F9410 002F6350 3C 80 80 2F */ lis r4, J2DMaterial@ha
.global J2DMaterial
@@ -1119,7 +1119,7 @@ lbl_802F9434:
/* 802F9438 002F6378 1C 7C 00 88 */ mulli r3, r28, 0x88
/* 802F943C 002F637C 38 63 00 10 */ addi r3, r3, 0x10
/* 802F9440 002F6380 38 80 FF FC */ li r4, -4
/* 802F9444 002F6384 4B FD 58 A9 */ bl __nwa_X1_
/* 802F9444 002F6384 4B FD 58 A9 */ bl __nwa__FUli
.global J2DMaterial
/* 802F9448 002F6388 3C 80 80 2F */ lis r4, J2DMaterial@ha
.global J2DMaterial
@@ -1135,7 +1135,7 @@ lbl_802F9434:
lbl_802F9468:
/* 802F9468 002F63A8 80 61 00 10 */ lwz r3, 0x10(r1)
/* 802F946C 002F63AC 38 80 FF FC */ li r4, -4
/* 802F9470 002F63B0 4B FD 58 7D */ bl __nwa_X1_
/* 802F9470 002F63B0 4B FD 58 7D */ bl __nwa__FUli
/* 802F9474 002F63B4 7C 7C 1B 78 */ mr r28, r3
/* 802F9478 002F63B8 80 1F 01 04 */ lwz r0, 0x104(r31)
/* 802F947C 002F63BC 28 00 00 00 */ cmplwi r0, 0
@@ -1197,7 +1197,7 @@ lbl_802F9540:
/* 802F954C 002F648C 40 82 FF F0 */ bne lbl_802F953C
/* 802F9550 002F6490 3B 43 00 01 */ addi r26, r3, 1
/* 802F9554 002F6494 57 43 04 3E */ clrlwi r3, r26, 0x10
/* 802F9558 002F6498 4B FD 57 6D */ bl __nwa
/* 802F9558 002F6498 4B FD 57 6D */ bl __nwa__FUl
/* 802F955C 002F649C 7C 7B 1B 79 */ or. r27, r3, r3
/* 802F9560 002F64A0 41 82 00 74 */ beq lbl_802F95D4
/* 802F9564 002F64A4 38 A0 00 00 */ li r5, 0
@@ -1213,7 +1213,7 @@ lbl_802F9580:
/* 802F9584 002F64C4 7C 03 00 40 */ cmplw r3, r0
/* 802F9588 002F64C8 41 80 FF E8 */ blt lbl_802F9570
/* 802F958C 002F64CC 38 60 00 10 */ li r3, 0x10
/* 802F9590 002F64D0 4B FD 56 BD */ bl __nw
/* 802F9590 002F64D0 4B FD 56 BD */ bl __nw__FUl
/* 802F9594 002F64D4 7C 60 1B 79 */ or. r0, r3, r3
/* 802F9598 002F64D8 41 82 00 10 */ beq lbl_802F95A8
/* 802F959C 002F64DC 7F 64 DB 78 */ mr r4, r27
@@ -1225,16 +1225,16 @@ lbl_802F95A8:
/* 802F95B0 002F64F0 28 00 00 00 */ cmplwi r0, 0
/* 802F95B4 002F64F4 40 82 00 10 */ bne lbl_802F95C4
/* 802F95B8 002F64F8 7F 63 DB 78 */ mr r3, r27
/* 802F95BC 002F64FC 4B FD 57 A5 */ bl __dla
/* 802F95BC 002F64FC 4B FD 57 A5 */ bl __dla__FPv
/* 802F95C0 002F6500 48 00 00 14 */ b lbl_802F95D4
lbl_802F95C4:
/* 802F95C4 002F6504 7F 83 E3 78 */ mr r3, r28
/* 802F95C8 002F6508 4B FD 57 99 */ bl __dla
/* 802F95C8 002F6508 4B FD 57 99 */ bl __dla__FPv
/* 802F95CC 002F650C 38 60 00 01 */ li r3, 1
/* 802F95D0 002F6510 48 00 00 18 */ b lbl_802F95E8
lbl_802F95D4:
/* 802F95D4 002F6514 7F 83 E3 78 */ mr r3, r28
/* 802F95D8 002F6518 4B FD 57 89 */ bl __dla
/* 802F95D8 002F6518 4B FD 57 89 */ bl __dla__FPv
/* 802F95DC 002F651C 7F E3 FB 78 */ mr r3, r31
/* 802F95E0 002F6520 4B FF EF C9 */ bl J2DScreen_NS_clean
/* 802F95E4 002F6524 38 60 00 00 */ li r3, 0