d_a_e_fz work, doxygen revamp (#2127)

* initial freezard actor struct + setActionMode OK

* daE_FZ_Draw

* setReflectAngle

* mBoundSoundset

* daE_FZ_Execute & execute

* demoDelete

* daE_FZ_Delete & _delete

* CreateHeap

* useHeapInit

* cc_set

* mtx_set

* action WIP

* way_gake_check

* executeRollMove

* executeMove

* draw WIP

* executeDamage

* checkpoint

* create

* checkpoint

* daE_FZ_c::executeWait

* checkpoint

* daE_FZ_c::damage_check almost done

* rm asm

* rm headers

* setup_profile WIP + doxygen update

* fix merge issues

* docs fix?

* fix2

* doxygen updates

* setup g_profile_E_FZ, profile setup script WIP

* update github actions

* update progress.md
This commit is contained in:
Pheenoh
2024-04-12 00:10:30 -06:00
committed by GitHub
parent b36f0f9366
commit a61e3491f7
1245 changed files with 16183 additions and 9396 deletions
+4 -7
View File
@@ -1,22 +1,19 @@
name: run Doxygen to generate docs name: Generate Doxygen Static Site
on: on:
push: push:
branches: branches:
- main - main
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- name: generate docs - name: generate docs
uses: mattnotmitt/doxygen-action@v1 uses: mattnotmitt/doxygen-action@v1
with: with:
doxyfile-path: 'Doxyfile' doxyfile-path: 'Doxyfile'
- name: deploy docs to github pages - name: deploy docs to github pages
uses: peaceiris/actions-gh-pages@v3 uses: peaceiris/actions-gh-pages@v4
with: with:
github_token: ${{ secrets.GITHUB_TOKEN }} github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/doxygen publish_dir: ./docs/doxygen/html
+596 -271
View File
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472 .init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96 .extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96
.text | 48.455851% | 1742736 | 3596544 .text | 48.756584% | 1753552 | 3596544
.ctors | 100.000000% | 448 | 448 .ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32 .dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856 .rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632 .data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408 .sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832 .sdata2 | 100.000000% | 20832 | 20832
Total | 53.888305% | 2166672 | 4020672 Total | 54.157315% | 2177488 | 4020672
## Total ## Total
Section | Percentage | Decompiled (bytes) | Total (bytes) Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|--- ---|---|---|---
main.dol | 53.888305% | 2166672 | 4020672 main.dol | 54.157315% | 2177488 | 4020672
RELs | 37.290880% | 4288572 | 11500324 RELs | 37.556090% | 4319072 | 11500324
Total | 41.590398% | 6455244 | 15520996 Total | 41.856592% | 6496560 | 15520996
## RELs ## RELs
@@ -74,8 +74,8 @@ d_a_demo_item | 33.863165% | 3920 | 11576
d_a_disappear | 100.000000% | 2404 | 2404 d_a_disappear | 100.000000% | 2404 | 2404
d_a_dmidna | 100.000000% | 1888 | 1888 d_a_dmidna | 100.000000% | 1888 | 1888
d_a_do | 37.666220% | 14616 | 38804 d_a_do | 37.666220% | 14616 | 38804
d_a_door_boss | 66.342756% | 6008 | 9056 d_a_door_boss | 100.000000% | 9056 | 9056
d_a_door_bossL1 | 39.355114% | 7372 | 18732 d_a_door_bossL1 | 100.000000% | 18732 | 18732
d_a_door_bossL5 | 39.221790% | 4032 | 10280 d_a_door_bossL5 | 39.221790% | 4032 | 10280
d_a_door_dbdoor00 | 100.000000% | 7620 | 7620 d_a_door_dbdoor00 | 100.000000% | 7620 | 7620
d_a_door_knob00 | 37.500000% | 4608 | 12288 d_a_door_knob00 | 37.500000% | 4608 | 12288
@@ -107,7 +107,7 @@ d_a_e_fb | 31.127328% | 4948 | 15896
d_a_e_fk | 32.965394% | 4420 | 13408 d_a_e_fk | 32.965394% | 4420 | 13408
d_a_e_fm | 24.588144% | 15164 | 61672 d_a_e_fm | 24.588144% | 15164 | 61672
d_a_e_fs | 31.823996% | 4976 | 15636 d_a_e_fs | 31.823996% | 4976 | 15636
d_a_e_fz | 30.508860% | 5372 | 17608 d_a_e_fz | 35.756474% | 6296 | 17608
d_a_e_ga | 43.014395% | 2032 | 4724 d_a_e_ga | 43.014395% | 2032 | 4724
d_a_e_gb | 26.939571% | 8292 | 30780 d_a_e_gb | 26.939571% | 8292 | 30780
d_a_e_ge | 24.669967% | 7176 | 29088 d_a_e_ge | 24.669967% | 7176 | 29088
@@ -136,7 +136,7 @@ d_a_e_ms | 28.208138% | 5768 | 20448
d_a_e_nest | 100.000000% | 19932 | 19932 d_a_e_nest | 100.000000% | 19932 | 19932
d_a_e_nz | 32.041969% | 4764 | 14868 d_a_e_nz | 32.041969% | 4764 | 14868
d_a_e_oc | 22.586920% | 11148 | 49356 d_a_e_oc | 22.586920% | 11148 | 49356
d_a_e_oct_bg | 30.217151% | 6568 | 21736 d_a_e_oct_bg | 100.000000% | 21736 | 21736
d_a_e_ot | 32.497589% | 5392 | 16592 d_a_e_ot | 32.497589% | 5392 | 16592
d_a_e_ph | 100.000000% | 23872 | 23872 d_a_e_ph | 100.000000% | 23872 | 23872
d_a_e_pm | 21.505129% | 11236 | 52248 d_a_e_pm | 21.505129% | 11236 | 52248
@@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244
d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_warp_bug | 100.000000% | 2024 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072 d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156 f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 37.290880% | 4288572 | 11500324 Total | 37.556090% | 4319072 | 11500324
@@ -1,37 +0,0 @@
lbl_806C0C28:
/* 806C0C28 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C0C2C 7C 08 02 A6 */ mflr r0
/* 806C0C30 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C0C34 93 E1 00 0C */ stw r31, 0xc(r1)
/* 806C0C38 7C 7F 1B 78 */ mr r31, r3
/* 806C0C3C 3C 60 80 6C */ lis r3, d_a_e_fz__stringBase0@ha /* 0x806C19F4@ha */
/* 806C0C40 38 63 19 F4 */ addi r3, r3, d_a_e_fz__stringBase0@l /* 0x806C19F4@l */
/* 806C0C44 38 80 00 03 */ li r4, 3
/* 806C0C48 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 806C0C4C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 806C0C50 3C A5 00 02 */ addis r5, r5, 2
/* 806C0C54 38 C0 00 80 */ li r6, 0x80
/* 806C0C58 38 A5 C2 F8 */ addi r5, r5, -15624
/* 806C0C5C 4B 97 B6 91 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 806C0C60 38 80 00 00 */ li r4, 0
/* 806C0C64 3C A0 11 02 */ lis r5, 0x1102 /* 0x11020203@ha */
/* 806C0C68 38 A5 02 03 */ addi r5, r5, 0x0203 /* 0x11020203@l */
/* 806C0C6C 4B 95 3F E9 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 806C0C70 90 7F 05 B4 */ stw r3, 0x5b4(r31)
/* 806C0C74 80 9F 05 B4 */ lwz r4, 0x5b4(r31)
/* 806C0C78 28 04 00 00 */ cmplwi r4, 0
/* 806C0C7C 40 82 00 0C */ bne lbl_806C0C88
/* 806C0C80 38 60 00 00 */ li r3, 0
/* 806C0C84 48 00 00 18 */ b lbl_806C0C9C
lbl_806C0C88:
/* 806C0C88 38 7F 05 B8 */ addi r3, r31, 0x5b8
/* 806C0C8C 38 A0 00 01 */ li r5, 1
/* 806C0C90 4B 94 D8 AD */ bl create__21mDoExt_invisibleModelFP8J3DModelUc
/* 806C0C94 30 03 FF FF */ addic r0, r3, -1
/* 806C0C98 7C 60 19 10 */ subfe r3, r0, r3
lbl_806C0C9C:
/* 806C0C9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 806C0CA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C0CA4 7C 08 03 A6 */ mtlr r0
/* 806C0CA8 38 21 00 10 */ addi r1, r1, 0x10
/* 806C0CAC 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
lbl_806C0B94:
/* 806C0B94 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C0B98 7C 08 02 A6 */ mflr r0
/* 806C0B9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C0BA0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 806C0BA4 7C 7F 1B 78 */ mr r31, r3
/* 806C0BA8 38 7F 05 AC */ addi r3, r31, 0x5ac
/* 806C0BAC 3C 80 80 6C */ lis r4, d_a_e_fz__stringBase0@ha /* 0x806C19F4@ha */
/* 806C0BB0 38 84 19 F4 */ addi r4, r4, d_a_e_fz__stringBase0@l /* 0x806C19F4@l */
/* 806C0BB4 4B 96 C4 55 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 806C0BB8 88 1F 0C 21 */ lbz r0, 0xc21(r31)
/* 806C0BBC 28 00 00 00 */ cmplwi r0, 0
/* 806C0BC0 41 82 00 10 */ beq lbl_806C0BD0
/* 806C0BC4 38 00 00 00 */ li r0, 0
/* 806C0BC8 3C 60 80 6C */ lis r3, data_806C1BA0@ha /* 0x806C1BA0@ha */
/* 806C0BCC 98 03 1B A0 */ stb r0, data_806C1BA0@l(r3) /* 0x806C1BA0@l */
lbl_806C0BD0:
/* 806C0BD0 80 1F 00 F0 */ lwz r0, 0xf0(r31)
/* 806C0BD4 28 00 00 00 */ cmplwi r0, 0
/* 806C0BD8 41 82 00 18 */ beq lbl_806C0BF0
/* 806C0BDC 38 7F 05 C0 */ addi r3, r31, 0x5c0
/* 806C0BE0 81 9F 05 C0 */ lwz r12, 0x5c0(r31)
/* 806C0BE4 81 8C 00 08 */ lwz r12, 8(r12)
/* 806C0BE8 7D 89 03 A6 */ mtctr r12
/* 806C0BEC 4E 80 04 21 */ bctrl
lbl_806C0BF0:
/* 806C0BF0 38 60 00 01 */ li r3, 1
/* 806C0BF4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 806C0BF8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C0BFC 7C 08 03 A6 */ mtlr r0
/* 806C0C00 38 21 00 10 */ addi r1, r1, 0x10
/* 806C0C04 4E 80 00 20 */ blr
@@ -226,14 +226,14 @@ lbl_806C1020:
/* 806C102C 38 84 0F 38 */ addi r4, r4, 0xf38 /* 806C102C 38 84 0F 38 */ addi r4, r4, 0xf38
/* 806C1030 4B 9B 5A 7D */ bl CrrPos__9dBgS_AcchFR4dBgS /* 806C1030 4B 9B 5A 7D */ bl CrrPos__9dBgS_AcchFR4dBgS
/* 806C1034 38 7D 09 80 */ addi r3, r29, 0x980 /* 806C1034 38 7D 09 80 */ addi r3, r29, 0x980
/* 806C1038 3C 80 80 6C */ lis r4, data_806C1A38@ha /* 0x806C1A38@ha */ /* 806C1038 3C 80 80 6C */ lis r4, cc_fz_src@ha /* 0x806C1A38@ha */
/* 806C103C 38 84 1A 38 */ addi r4, r4, data_806C1A38@l /* 0x806C1A38@l */ /* 806C103C 38 84 1A 38 */ addi r4, r4, cc_fz_src@l /* 0x806C1A38@l */
/* 806C1040 4B 9C 39 F5 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph /* 806C1040 4B 9C 39 F5 */ bl Set__8dCcD_SphFRC11dCcD_SrcSph
/* 806C1044 38 1D 09 44 */ addi r0, r29, 0x944 /* 806C1044 38 1D 09 44 */ addi r0, r29, 0x944
/* 806C1048 90 1D 09 C4 */ stw r0, 0x9c4(r29) /* 806C1048 90 1D 09 C4 */ stw r0, 0x9c4(r29)
/* 806C104C 38 7D 0A B8 */ addi r3, r29, 0xab8 /* 806C104C 38 7D 0A B8 */ addi r3, r29, 0xab8
/* 806C1050 3C 80 80 6C */ lis r4, data_806C1A78@ha /* 0x806C1A78@ha */ /* 806C1050 3C 80 80 6C */ lis r4, cc_fz_at_src@ha /* 0x806C1A78@ha */
/* 806C1054 38 84 1A 78 */ addi r4, r4, data_806C1A78@l /* 0x806C1A78@l */ /* 806C1054 38 84 1A 78 */ addi r4, r4, cc_fz_at_src@l /* 0x806C1A78@l */
/* 806C1058 4B 9C 39 DD */ bl Set__8dCcD_SphFRC11dCcD_SrcSph /* 806C1058 4B 9C 39 DD */ bl Set__8dCcD_SphFRC11dCcD_SrcSph
/* 806C105C 38 1D 09 44 */ addi r0, r29, 0x944 /* 806C105C 38 1D 09 44 */ addi r0, r29, 0x944
/* 806C1060 90 1D 0A FC */ stw r0, 0xafc(r29) /* 806C1060 90 1D 0A FC */ stw r0, 0xafc(r29)
@@ -1,9 +0,0 @@
lbl_806C13D8:
/* 806C13D8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C13DC 7C 08 02 A6 */ mflr r0
/* 806C13E0 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C13E4 4B FF F8 ED */ bl create__8daE_FZ_cFv
/* 806C13E8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C13EC 7C 08 03 A6 */ mtlr r0
/* 806C13F0 38 21 00 10 */ addi r1, r1, 0x10
/* 806C13F4 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_806C0C08:
/* 806C0C08 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C0C0C 7C 08 02 A6 */ mflr r0
/* 806C0C10 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C0C14 4B FF FF 81 */ bl _delete__8daE_FZ_cFv
/* 806C0C18 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C0C1C 7C 08 03 A6 */ mtlr r0
/* 806C0C20 38 21 00 10 */ addi r1, r1, 0x10
/* 806C0C24 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_806BEAD8:
/* 806BEAD8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806BEADC 7C 08 02 A6 */ mflr r0
/* 806BEAE0 90 01 00 14 */ stw r0, 0x14(r1)
/* 806BEAE4 4B FF FE F1 */ bl draw__8daE_FZ_cFv
/* 806BEAE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806BEAEC 7C 08 03 A6 */ mtlr r0
/* 806BEAF0 38 21 00 10 */ addi r1, r1, 0x10
/* 806BEAF4 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_806C0B00:
/* 806C0B00 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C0B04 7C 08 02 A6 */ mflr r0
/* 806C0B08 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C0B0C 4B FF FD B9 */ bl execute__8daE_FZ_cFv
/* 806C0B10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C0B14 7C 08 03 A6 */ mtlr r0
/* 806C0B18 38 21 00 10 */ addi r1, r1, 0x10
/* 806C0B1C 4E 80 00 20 */ blr
@@ -1,29 +0,0 @@
lbl_806C0B20:
/* 806C0B20 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 806C0B24 7C 08 02 A6 */ mflr r0
/* 806C0B28 90 01 00 24 */ stw r0, 0x24(r1)
/* 806C0B2C 39 61 00 20 */ addi r11, r1, 0x20
/* 806C0B30 4B CA 16 A9 */ bl _savegpr_28
/* 806C0B34 7C 7C 1B 78 */ mr r28, r3
/* 806C0B38 3B A0 00 00 */ li r29, 0
/* 806C0B3C 3B E0 00 00 */ li r31, 0
/* 806C0B40 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 806C0B44 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
lbl_806C0B48:
/* 806C0B48 80 7E 5D 3C */ lwz r3, 0x5d3c(r30)
/* 806C0B4C 38 63 02 10 */ addi r3, r3, 0x210
/* 806C0B50 38 1F 07 1C */ addi r0, r31, 0x71c
/* 806C0B54 7C 9C 00 2E */ lwzx r4, r28, r0
/* 806C0B58 4B 98 AD 5D */ bl forceOnEventMove__Q213dPa_control_c7level_cFUl
/* 806C0B5C 3B BD 00 01 */ addi r29, r29, 1
/* 806C0B60 2C 1D 00 03 */ cmpwi r29, 3
/* 806C0B64 3B FF 00 04 */ addi r31, r31, 4
/* 806C0B68 41 80 FF E0 */ blt lbl_806C0B48
/* 806C0B6C 7F 83 E3 78 */ mr r3, r28
/* 806C0B70 4B 95 91 0D */ bl fopAcM_delete__FP10fopAc_ac_c
/* 806C0B74 39 61 00 20 */ addi r11, r1, 0x20
/* 806C0B78 4B CA 16 AD */ bl _restgpr_28
/* 806C0B7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 806C0B80 7C 08 03 A6 */ mtlr r0
/* 806C0B84 38 21 00 20 */ addi r1, r1, 0x20
/* 806C0B88 4E 80 00 20 */ blr
@@ -1,28 +0,0 @@
lbl_806BEBA0:
/* 806BEBA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 806BEBA4 7C 08 02 A6 */ mflr r0
/* 806BEBA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 806BEBAC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 806BEBB0 7C 7F 1B 78 */ mr r31, r3
/* 806BEBB4 C0 23 05 2C */ lfs f1, 0x52c(r3)
/* 806BEBB8 4B CA 34 F5 */ bl __cvt_fp2unsigned
/* 806BEBBC 7C 65 1B 78 */ mr r5, r3
/* 806BEBC0 28 05 00 01 */ cmplwi r5, 1
/* 806BEBC4 40 80 00 08 */ bge lbl_806BEBCC
/* 806BEBC8 38 A0 00 01 */ li r5, 1
lbl_806BEBCC:
/* 806BEBCC 3C 60 00 07 */ lis r3, 0x0007 /* 0x00070320@ha */
/* 806BEBD0 38 03 03 20 */ addi r0, r3, 0x0320 /* 0x00070320@l */
/* 806BEBD4 90 01 00 08 */ stw r0, 8(r1)
/* 806BEBD8 38 7F 05 C0 */ addi r3, r31, 0x5c0
/* 806BEBDC 38 81 00 08 */ addi r4, r1, 8
/* 806BEBE0 38 C0 FF FF */ li r6, -1
/* 806BEBE4 81 9F 05 C0 */ lwz r12, 0x5c0(r31)
/* 806BEBE8 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 806BEBEC 7D 89 03 A6 */ mtctr r12
/* 806BEBF0 4E 80 04 21 */ bctrl
/* 806BEBF4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 806BEBF8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 806BEBFC 7C 08 03 A6 */ mtlr r0
/* 806BEC00 38 21 00 20 */ addi r1, r1, 0x20
/* 806BEC04 4E 80 00 20 */ blr
@@ -1,34 +0,0 @@
lbl_806C06DC:
/* 806C06DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C06E0 7C 08 02 A6 */ mflr r0
/* 806C06E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C06E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 806C06EC 7C 7F 1B 78 */ mr r31, r3
/* 806C06F0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 806C06F4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 806C06F8 C0 3F 04 D0 */ lfs f1, 0x4d0(r31)
/* 806C06FC C0 5F 04 D4 */ lfs f2, 0x4d4(r31)
/* 806C0700 C0 7F 04 D8 */ lfs f3, 0x4d8(r31)
/* 806C0704 4B C8 61 E5 */ bl PSMTXTrans
/* 806C0708 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 806C070C 4B 94 C8 39 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 806C0710 3C 60 80 6C */ lis r3, l_HIO@ha /* 0x806C1BB0@ha */
/* 806C0714 38 63 1B B0 */ addi r3, r3, l_HIO@l /* 0x806C1BB0@l */
/* 806C0718 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 806C071C FC 40 08 90 */ fmr f2, f1
/* 806C0720 FC 60 08 90 */ fmr f3, f1
/* 806C0724 4B 94 C7 15 */ bl scaleM__14mDoMtx_stack_cFfff
/* 806C0728 C0 3F 07 00 */ lfs f1, 0x700(r31)
/* 806C072C FC 40 08 90 */ fmr f2, f1
/* 806C0730 FC 60 08 90 */ fmr f3, f1
/* 806C0734 4B 94 C7 05 */ bl scaleM__14mDoMtx_stack_cFfff
/* 806C0738 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 806C073C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 806C0740 80 9F 05 B4 */ lwz r4, 0x5b4(r31)
/* 806C0744 38 84 00 24 */ addi r4, r4, 0x24
/* 806C0748 4B C8 5D 69 */ bl PSMTXCopy
/* 806C074C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 806C0750 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C0754 7C 08 03 A6 */ mtlr r0
/* 806C0758 38 21 00 10 */ addi r1, r1, 0x10
/* 806C075C 4E 80 00 20 */ blr
@@ -1,4 +0,0 @@
lbl_806BEAF8:
/* 806BEAF8 90 83 06 F4 */ stw r4, 0x6f4(r3)
/* 806BEAFC 90 A3 06 F8 */ stw r5, 0x6f8(r3)
/* 806BEB00 4E 80 00 20 */ blr
@@ -1,43 +0,0 @@
lbl_806BEB04:
/* 806BEB04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806BEB08 7C 08 02 A6 */ mflr r0
/* 806BEB0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 806BEB10 93 E1 00 0C */ stw r31, 0xc(r1)
/* 806BEB14 93 C1 00 08 */ stw r30, 8(r1)
/* 806BEB18 7C 7E 1B 78 */ mr r30, r3
/* 806BEB1C A8 63 07 08 */ lha r3, 0x708(r3)
/* 806BEB20 A8 1E 04 DE */ lha r0, 0x4de(r30)
/* 806BEB24 7C 03 00 50 */ subf r0, r3, r0
/* 806BEB28 7C 1F 07 34 */ extsh r31, r0
/* 806BEB2C 7F E3 FB 78 */ mr r3, r31
/* 806BEB30 4B CA 65 A1 */ bl abs
/* 806BEB34 2C 03 48 00 */ cmpwi r3, 0x4800
/* 806BEB38 40 81 00 24 */ ble lbl_806BEB5C
/* 806BEB3C A8 7E 04 DE */ lha r3, 0x4de(r30)
/* 806BEB40 3C 63 00 01 */ addis r3, r3, 1
/* 806BEB44 38 63 80 00 */ addi r3, r3, -32768
/* 806BEB48 A8 1E 07 08 */ lha r0, 0x708(r30)
/* 806BEB4C 54 00 08 3C */ slwi r0, r0, 1
/* 806BEB50 7C 03 00 50 */ subf r0, r3, r0
/* 806BEB54 B0 1E 04 DE */ sth r0, 0x4de(r30)
/* 806BEB58 48 00 00 30 */ b lbl_806BEB88
lbl_806BEB5C:
/* 806BEB5C 2C 1F 38 00 */ cmpwi r31, 0x3800
/* 806BEB60 40 81 00 14 */ ble lbl_806BEB74
/* 806BEB64 A8 7E 07 08 */ lha r3, 0x708(r30)
/* 806BEB68 38 03 38 00 */ addi r0, r3, 0x3800
/* 806BEB6C B0 1E 04 DE */ sth r0, 0x4de(r30)
/* 806BEB70 48 00 00 18 */ b lbl_806BEB88
lbl_806BEB74:
/* 806BEB74 2C 1F C8 00 */ cmpwi r31, -14336
/* 806BEB78 40 80 00 10 */ bge lbl_806BEB88
/* 806BEB7C A8 7E 07 08 */ lha r3, 0x708(r30)
/* 806BEB80 38 03 C8 00 */ addi r0, r3, -14336
/* 806BEB84 B0 1E 04 DE */ sth r0, 0x4de(r30)
lbl_806BEB88:
/* 806BEB88 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 806BEB8C 83 C1 00 08 */ lwz r30, 8(r1)
/* 806BEB90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806BEB94 7C 08 03 A6 */ mtlr r0
/* 806BEB98 38 21 00 10 */ addi r1, r1, 0x10
/* 806BEB9C 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_806C0CB0:
/* 806C0CB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806C0CB4 7C 08 02 A6 */ mflr r0
/* 806C0CB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 806C0CBC 4B FF FF 6D */ bl CreateHeap__8daE_FZ_cFv
/* 806C0CC0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806C0CC4 7C 08 03 A6 */ mtlr r0
/* 806C0CC8 38 21 00 10 */ addi r1, r1, 0x10
/* 806C0CCC 4E 80 00 20 */ blr
@@ -0,0 +1,157 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2021 - 2023 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
class DoxygenAwesomeDarkModeToggle extends HTMLElement {
// SVG icons from https://fonts.google.com/icons
// Licensed under the Apache 2.0 license:
// https://www.apache.org/licenses/LICENSE-2.0.html
static lightModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FCBF00"><rect fill="none" height="24" width="24"/><circle cx="12" cy="12" opacity=".3" r="3"/><path d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg>`
static darkModeIcon = `<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#FE9700"><rect fill="none" height="24" width="24"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27 C17.45,17.19,14.93,19,12,19c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z" opacity=".3"/><path d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg>`
static title = "Toggle Light/Dark Mode"
static prefersLightModeInDarkModeKey = "prefers-light-mode-in-dark-mode"
static prefersDarkModeInLightModeKey = "prefers-dark-mode-in-light-mode"
static _staticConstructor = function() {
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.userPreference)
// Update the color scheme when the browsers preference changes
// without user interaction on the website.
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
})
// Update the color scheme when the tab is made visible again.
// It is possible that the appearance was changed in another tab
// while this tab was in the background.
document.addEventListener("visibilitychange", visibilityState => {
if (document.visibilityState === 'visible') {
DoxygenAwesomeDarkModeToggle.onSystemPreferenceChanged()
}
});
}()
static init() {
$(function() {
$(document).ready(function() {
const toggleButton = document.createElement('doxygen-awesome-dark-mode-toggle')
toggleButton.title = DoxygenAwesomeDarkModeToggle.title
toggleButton.updateIcon()
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {
toggleButton.updateIcon()
})
document.addEventListener("visibilitychange", visibilityState => {
if (document.visibilityState === 'visible') {
toggleButton.updateIcon()
}
});
$(document).ready(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
$(window).resize(function(){
document.getElementById("MSearchBox").parentNode.appendChild(toggleButton)
})
})
})
}
constructor() {
super();
this.onclick=this.toggleDarkMode
}
/**
* @returns `true` for dark-mode, `false` for light-mode system preference
*/
static get systemPreference() {
return window.matchMedia('(prefers-color-scheme: dark)').matches
}
/**
* @returns `true` for dark-mode, `false` for light-mode user preference
*/
static get userPreference() {
return (!DoxygenAwesomeDarkModeToggle.systemPreference && localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)) ||
(DoxygenAwesomeDarkModeToggle.systemPreference && !localStorage.getItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey))
}
static set userPreference(userPreference) {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = userPreference
if(!userPreference) {
if(DoxygenAwesomeDarkModeToggle.systemPreference) {
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey, true)
} else {
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey)
}
} else {
if(!DoxygenAwesomeDarkModeToggle.systemPreference) {
localStorage.setItem(DoxygenAwesomeDarkModeToggle.prefersDarkModeInLightModeKey, true)
} else {
localStorage.removeItem(DoxygenAwesomeDarkModeToggle.prefersLightModeInDarkModeKey)
}
}
DoxygenAwesomeDarkModeToggle.onUserPreferenceChanged()
}
static enableDarkMode(enable) {
if(enable) {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = true
document.documentElement.classList.add("dark-mode")
document.documentElement.classList.remove("light-mode")
} else {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = false
document.documentElement.classList.remove("dark-mode")
document.documentElement.classList.add("light-mode")
}
}
static onSystemPreferenceChanged() {
DoxygenAwesomeDarkModeToggle.darkModeEnabled = DoxygenAwesomeDarkModeToggle.userPreference
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
}
static onUserPreferenceChanged() {
DoxygenAwesomeDarkModeToggle.enableDarkMode(DoxygenAwesomeDarkModeToggle.darkModeEnabled)
}
toggleDarkMode() {
DoxygenAwesomeDarkModeToggle.userPreference = !DoxygenAwesomeDarkModeToggle.userPreference
this.updateIcon()
}
updateIcon() {
if(DoxygenAwesomeDarkModeToggle.darkModeEnabled) {
this.innerHTML = DoxygenAwesomeDarkModeToggle.darkModeIcon
} else {
this.innerHTML = DoxygenAwesomeDarkModeToggle.lightModeIcon
}
}
}
customElements.define("doxygen-awesome-dark-mode-toggle", DoxygenAwesomeDarkModeToggle);
@@ -0,0 +1,85 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2022 - 2023 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
class DoxygenAwesomeFragmentCopyButton extends HTMLElement {
constructor() {
super();
this.onclick=this.copyContent
}
static title = "Copy to clipboard"
static copyIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>`
static successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>`
static successDuration = 980
static init() {
$(function() {
$(document).ready(function() {
if(navigator.clipboard) {
const fragments = document.getElementsByClassName("fragment")
for(const fragment of fragments) {
const fragmentWrapper = document.createElement("div")
fragmentWrapper.className = "doxygen-awesome-fragment-wrapper"
const fragmentCopyButton = document.createElement("doxygen-awesome-fragment-copy-button")
fragmentCopyButton.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
fragmentCopyButton.title = DoxygenAwesomeFragmentCopyButton.title
fragment.parentNode.replaceChild(fragmentWrapper, fragment)
fragmentWrapper.appendChild(fragment)
fragmentWrapper.appendChild(fragmentCopyButton)
}
}
})
})
}
copyContent() {
const content = this.previousSibling.cloneNode(true)
// filter out line number from file listings
content.querySelectorAll(".lineno, .ttc").forEach((node) => {
node.remove()
})
let textContent = content.textContent
// remove trailing newlines that appear in file listings
let numberOfTrailingNewlines = 0
while(textContent.charAt(textContent.length - (numberOfTrailingNewlines + 1)) == '\n') {
numberOfTrailingNewlines++;
}
textContent = textContent.substring(0, textContent.length - numberOfTrailingNewlines)
navigator.clipboard.writeText(textContent);
this.classList.add("success")
this.innerHTML = DoxygenAwesomeFragmentCopyButton.successIcon
window.setTimeout(() => {
this.classList.remove("success")
this.innerHTML = DoxygenAwesomeFragmentCopyButton.copyIcon
}, DoxygenAwesomeFragmentCopyButton.successDuration);
}
}
customElements.define("doxygen-awesome-fragment-copy-button", DoxygenAwesomeFragmentCopyButton)
@@ -0,0 +1,81 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2022 - 2023 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
class DoxygenAwesomeInteractiveToc {
static topOffset = 38
static hideMobileMenu = true
static headers = []
static init() {
window.addEventListener("load", () => {
let toc = document.querySelector(".contents > .toc")
if(toc) {
toc.classList.add("interactive")
if(!DoxygenAwesomeInteractiveToc.hideMobileMenu) {
toc.classList.add("open")
}
document.querySelector(".contents > .toc > h3")?.addEventListener("click", () => {
if(toc.classList.contains("open")) {
toc.classList.remove("open")
} else {
toc.classList.add("open")
}
})
document.querySelectorAll(".contents > .toc > ul a").forEach((node) => {
let id = node.getAttribute("href").substring(1)
DoxygenAwesomeInteractiveToc.headers.push({
node: node,
headerNode: document.getElementById(id)
})
document.getElementById("doc-content")?.addEventListener("scroll", () => {
DoxygenAwesomeInteractiveToc.update()
})
})
DoxygenAwesomeInteractiveToc.update()
}
})
}
static update() {
let active = DoxygenAwesomeInteractiveToc.headers[0]?.node
DoxygenAwesomeInteractiveToc.headers.forEach((header) => {
let position = header.headerNode.getBoundingClientRect().top
header.node.classList.remove("active")
header.node.classList.remove("aboveActive")
if(position < DoxygenAwesomeInteractiveToc.topOffset) {
active = header.node
active?.classList.add("aboveActive")
}
})
active?.classList.add("active")
active?.classList.remove("aboveActive")
}
}
@@ -0,0 +1,51 @@
/**
Doxygen Awesome
https://github.com/jothepro/doxygen-awesome-css
MIT License
Copyright (c) 2022 - 2023 jothepro
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/
class DoxygenAwesomeParagraphLink {
// Icon from https://fonts.google.com/icons
// Licensed under the Apache 2.0 license:
// https://www.apache.org/licenses/LICENSE-2.0.html
static icon = `<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 7h-4v2h4c1.65 0 3 1.35 3 3s-1.35 3-3 3h-4v2h4c2.76 0 5-2.24 5-5s-2.24-5-5-5zm-6 8H7c-1.65 0-3-1.35-3-3s1.35-3 3-3h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-2zm-3-4h8v2H8z"/></svg>`
static title = "Permanent Link"
static init() {
$(function() {
$(document).ready(function() {
document.querySelectorAll(".contents a.anchor[id], .contents .groupheader > a[id]").forEach((node) => {
let anchorlink = document.createElement("a")
anchorlink.setAttribute("href", `#${node.getAttribute("id")}`)
anchorlink.setAttribute("title", DoxygenAwesomeParagraphLink.title)
anchorlink.classList.add("anchorlink")
node.classList.add("anchor")
anchorlink.innerHTML = DoxygenAwesomeParagraphLink.icon
node.parentElement.appendChild(anchorlink)
})
})
})
}
}

Some files were not shown because too many files have changed in this diff Show More