@@ -61,8 +61,6 @@ stw r3, 0x1C(r1)
6161stw r4 , 0x18 (r1)
6262stw r5 , 0x14 (r1)
6363stw r6 , 0x10 (r1)
64- stw r7 , 0x0C (r1)
65- stw r8 , 0x08 (r1)
6664
6765lis r5 , data_settingsOffset@ha
6866addi r5 , r5 , data_settingsOffset@l
@@ -79,68 +77,33 @@ cmpwi r3, 0
7977beq skipGetEventName
8078
8179; get active event name
80+ lis r3 , EventMgr__getActiveEventName@ha
81+ addi r3 , r3 , EventMgr__getActiveEventName@l
82+ mtctr r3
83+ li r3 , 0
84+ addi r5 , r1 , 0x0C ; ptr to store entrypoint name
85+ stw r3 , 0x0C (r1)
86+ addi r4 , r1 , 0x08 ; ptr to store event name
87+ stw r3 , 0x08 (r1)
8288lis r3 , EventMgr__sInstance@ha
8389lwz r3 , EventMgr__sInstance@l(r3)
84- addis r3 , r3 , 1
85- lwz r3 , 0x75B0 (r3)
86- ; EventMgr::sInstance->activeEventContext
87- cmpwi r3 , 0
88- beq noActiveEvent
89-
90- ; r3 = EventMgr::sInstance->activeEventContext
91-
92- ; load active event name
93- lwz r4 , 0x18C (r3) ; load index to event indices
94- addi r8 , r3 , 0x184 ; load array start
95- cmplwi r4 , 8 ;.int 0x28040008 ;cmplwi r4, 8 ; .long 0x28040008
96- lwz r6 , 4 (r3)
97- bge loc_31D8C8C
98- add r8 , r8 , r4
99-
100- loc_31D8C8C:
101- ; r4 is unused from here
102- li r4 , 0
103- li r7 , 0
104- ; -------------------------
105-
106- lbz r5 , 0 ( r8 )
107- extsb r5 , r5 ; .int 0x7CA50774 ; extsb r5, r5
108- cmplw r5 , r6
109- li r4 , 0
110- bge loc_31D8CAC
111- lwz r7 , 0x0C (r3)
112- slwi r8 , r5 , 2
113- lwzx r4 , r8 , r7
114-
115- loc_31D8CAC:
116- cmpwi r4 , 0
117- beq noActiveEvent ; skip if no valid event pointer
118- lwz r4 , 8 (r4)
119- li r3 , 1
120- bla import.coreinit.hook_GetEventName
121- b skipGetEventName
122- ;lis r3, EventMgr__sInstance@ha
123- ;lwz r3, EventMgr__sInstance@l(r3)
124- ;bctrl
90+ bctrl ; bl EventMgr::getActiveEventName
12591
126- noActiveEvent:
127- li r3 , 0
92+ ; call C++ hook to handle the results
93+ lwz r4 , 0x08 (r1) ; event name
94+ lwz r5 , 0x0C (r1) ; entrypoint name
12895bla import.coreinit.hook_GetEventName
12996
13097skipGetEventName:
131-
132- ; spawn check
133- li r3 , 0
134- bl import.coreinit.hook_CreateNewActor
135- cmpwi r3 , 1
136- bne notSpawnActor
137- ;bl vr_spawnEquipment
138- notSpawnActor:
139-
140- ;bl checkIfDropWeapon
141-
142- lwz r8 , 0x08 (r1)
143- lwz r7 , 0x0C (r1)
98+ ; ; spawn check
99+ ; li r3, 0
100+ ; bl import.coreinit.hook_CreateNewActor
101+ ; cmpwi r3, 1
102+ ; bne notSpawnActor
103+ ; ;bl vr_spawnEquipment
104+ ; notSpawnActor:
105+ ;
106+ ; ;bl checkIfDropWeapon
144107lwz r6 , 0x10 (r1)
145108lwz r5 , 0x14 (r1)
146109lwz r4 , 0x18 (r1)
0 commit comments