fopScnM_SearchByID attempt

This commit is contained in:
Pheenoh 2021-02-20 10:25:13 -05:00
parent bbf1d1c34c
commit b0499177ef
No known key found for this signature in database
GPG Key ID: 4312662758CE7D5A
16 changed files with 36 additions and 21 deletions

View File

@ -47,7 +47,7 @@ lbl_80145278:
/* 80145280 001421C0 28 00 00 01 */ cmplwi r0, 1
/* 80145284 001421C4 40 82 00 2C */ bne lbl_801452B0
/* 80145288 001421C8 80 64 03 FC */ lwz r3, 0x3fc(r4)
/* 8014528C 001421CC 4B ED 9A 25 */ bl fopScnM_SearchByID
/* 8014528C 001421CC 4B ED 9A 25 */ bl fopScnM_SearchByID__FUi
/* 80145290 001421D0 88 03 01 D4 */ lbz r0, 0x1d4(r3)
/* 80145294 001421D4 7C 00 07 75 */ extsb. r0, r0
/* 80145298 001421D8 40 80 00 10 */ bge lbl_801452A8

View File

@ -157,7 +157,7 @@ lbl_80025208:
/* 80025254 00022194 7F A4 EB 78 */ mr r4, r29
/* 80025258 00022198 4B FF FC A5 */ bl dStage_actorCreate
/* 8002525C 0002219C 80 6D 87 E0 */ lwz r3, lbl_80450D60-_SDA_BASE_(r13)
/* 80025260 000221A0 4B FF 9A 51 */ bl fopScnM_SearchByID
/* 80025260 000221A0 4B FF 9A 51 */ bl fopScnM_SearchByID__FUi
/* 80025264 000221A4 A8 03 00 08 */ lha r0, 8(r3)
/* 80025268 000221A8 2C 00 00 0B */ cmpwi r0, 0xb
/* 8002526C 000221AC 40 82 00 30 */ bne lbl_8002529C

View File

@ -5,7 +5,7 @@
/* 800198D4 00016814 93 C1 00 08 */ stw r30, 8(r1)
/* 800198D8 00016818 7C 7E 1B 78 */ mr r30, r3
/* 800198DC 0001681C 80 6D 87 E0 */ lwz r3, lbl_80450D60-_SDA_BASE_(r13)
/* 800198E0 00016820 48 00 53 D1 */ bl fopScnM_SearchByID
/* 800198E0 00016820 48 00 53 D1 */ bl fopScnM_SearchByID__FUi
/* 800198E4 00016824 7C 7F 1B 78 */ mr r31, r3
/* 800198E8 00016828 80 6D 87 C0 */ lwz r3, lbl_80450D40-_SDA_BASE_(r13)
/* 800198EC 0001682C 80 9F 00 B4 */ lwz r4, 0xb4(r31)

View File

@ -11,7 +11,7 @@
/* 8001995C 0001689C 1C 04 04 04 */ mulli r0, r4, 0x404
/* 80019960 000168A0 7C 63 02 14 */ add r3, r3, r0
/* 80019964 000168A4 80 63 03 FC */ lwz r3, 0x3fc(r3)
/* 80019968 000168A8 48 00 53 49 */ bl fopScnM_SearchByID
/* 80019968 000168A8 48 00 53 49 */ bl fopScnM_SearchByID__FUi
/* 8001996C 000168AC 7C 7F 1B 78 */ mr r31, r3
/* 80019970 000168B0 80 6D 87 C0 */ lwz r3, lbl_80450D40-_SDA_BASE_(r13)
/* 80019974 000168B4 80 9F 00 B4 */ lwz r4, 0xb4(r31)

View File

@ -8,7 +8,7 @@
/* 8001CA38 00019978 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8001CA3C 0001997C 7C 64 02 14 */ add r3, r4, r0
/* 8001CA40 00019980 80 63 03 FC */ lwz r3, 0x3fc(r3)
/* 8001CA44 00019984 48 00 22 6D */ bl fopScnM_SearchByID
/* 8001CA44 00019984 48 00 22 6D */ bl fopScnM_SearchByID__FUi
/* 8001CA48 00019988 7C 7F 1B 78 */ mr r31, r3
/* 8001CA4C 0001998C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha
/* 8001CA50 00019990 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l

View File

@ -19,7 +19,7 @@
/* 8001CBE8 00019B28 1C 00 04 04 */ mulli r0, r0, 0x404
/* 8001CBEC 00019B2C 7C 63 02 14 */ add r3, r3, r0
/* 8001CBF0 00019B30 80 63 03 FC */ lwz r3, 0x3fc(r3)
/* 8001CBF4 00019B34 48 00 20 BD */ bl fopScnM_SearchByID
/* 8001CBF4 00019B34 48 00 20 BD */ bl fopScnM_SearchByID__FUi
/* 8001CBF8 00019B38 28 03 00 00 */ cmplwi r3, 0
/* 8001CBFC 00019B3C 41 82 00 14 */ beq lbl_8001CC10
/* 8001CC00 00019B40 7F E3 FB 78 */ mr r3, r31

View File

@ -5,7 +5,7 @@
/* 8001F9C4 0001C904 93 C1 00 08 */ stw r30, 8(r1)
/* 8001F9C8 0001C908 7C 7E 1B 78 */ mr r30, r3
/* 8001F9CC 0001C90C 80 6D 87 E0 */ lwz r3, lbl_80450D60-_SDA_BASE_(r13)
/* 8001F9D0 0001C910 4B FF F2 E1 */ bl fopScnM_SearchByID
/* 8001F9D0 0001C910 4B FF F2 E1 */ bl fopScnM_SearchByID__FUi
/* 8001F9D4 0001C914 7C 7F 1B 78 */ mr r31, r3
/* 8001F9D8 0001C918 80 6D 87 C0 */ lwz r3, lbl_80450D40-_SDA_BASE_(r13)
/* 8001F9DC 0001C91C 80 9F 00 B4 */ lwz r4, 0xb4(r31)

View File

@ -0,0 +1,10 @@
#ifndef F_F_OP_SCENE_ITER_H_
#define F_F_OP_SCENE_ITER_H_
#include "dolphin/types.h"
typedef void* (*fop_ScnItFunc)(void*,void*);
void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pFunc2);
#endif

View File

@ -7,7 +7,7 @@
/*.global fpcSch_JudgeByID*/
/* 8001ECC4 0001BC04 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID@l
/* 8001ECC8 0001BC08 38 81 00 08 */ addi r4, r1, 8
/* 8001ECCC 0001BC0C 4B FF FF A9 */ bl fopScnIt_Judge
/* 8001ECCC 0001BC0C 4B FF FF A9 */ bl fopScnIt_Judge__FPFPvPv_PvPv
/* 8001ECD0 0001BC10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8001ECD4 0001BC14 7C 08 03 A6 */ mtlr r0
/* 8001ECD8 0001BC18 38 21 00 10 */ addi r1, r1, 0x10

View File

@ -4,11 +4,13 @@
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "f/f_op/f_op_actor_mng.h"
#include "f/f_op/f_op_camera_mng.h"
#include "f/f_op/f_op_scene_iter.h"
#include "f/f_pc/f_pc_stdcreate_req.h"
#include "global.h"
#include "m_Do/m_Do_Reset/m_Do_Reset.h"
extern "C" {
void fopScnM_SearchByID__FUi(void);
void fopCamM_Create__FisPv(void);
char* strcpy(char*, const char*);
int strcmp(const char*, const char*);

View File

@ -50,6 +50,7 @@ const char* lbl_80378A49 = "\x00\x00\x00\x00\x00\x00";
// additional symbols needed for f_op_actor_mng.cpp
// autogenerated by split.py v0.4 at 2021-01-25 19:11:04.087547
extern "C" {
void fopScnM_SearchByID__FUi(void);
void J3DTexMtxInfo_NS_setEffectMtx(void);
void J3DUClipper_NS_calcViewFrustum(void);
void MtxPosition__FP4cXyzP4cXyz(void);

View File

@ -2,8 +2,6 @@
#include "SComponent/c_tag.h"
#include "global.h"
extern "C" {
u32 fopAcTg_ToActorQ(create_tag_class* c) {
return cTg_Addition(&lbl_803A35E0, c);
}
@ -15,5 +13,4 @@ u32 fopAcTg_ActorQTo(create_tag_class* pTag) {
u32 fopAcTg_Init(create_tag_class* pTag, void* data) {
cTg_Create(pTag, data);
return 1;
}
}

View File

@ -1,11 +1,13 @@
/* f_op_msg_mng.cpp autogenerated by split.py v0.4 at 2021-02-15 20:21:51.945184 */
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "f/f_op/f_op_scene_iter.h"
#include "global.h"
// additional symbols needed for f_op_msg_mng.cpp
// autogenerated by split.py v0.4 at 2021-02-15 20:21:51.945228
extern "C" {
void fopScnM_SearchByID__FUi(void);
void _restgpr_26(void);
void _restgpr_27(void);
void _restgpr_28(void);

View File

@ -1,6 +1,7 @@
/* f_op_scene_iter.cpp autogenerated by split.py v0.4 at 2021-02-15 20:27:34.795954 */
#include "SComponent/c_tag_iter.h"
#include "f/f_op/f_op_scene_iter.h"
#include "global.h"
// additional symbols needed for f_op_scene_iter.cpp
@ -14,11 +15,7 @@ void fopScnIt_Judge(void);
// autogenerated by split.py v0.4 at 2021-02-15 20:27:34.795978
extern u8 lbl_803A3918;
extern "C" {
// fopScnIt_Judge__FPFPvPv_PvPv
// fopScnIt_Judge(void* (*)(void*, void*), void*)
asm void fopScnIt_Judge(void) {
asm void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pFunc2) {
nofralloc
#include "f/f_op/f_op_scene_iter/asm/func_8001EC74.s"
}
};

View File

@ -1,12 +1,12 @@
/* f_op_scene_mng.cpp autogenerated by split.py v0.4 at 2021-02-13 20:33:37.409351 */
#include "f/f_op/f_op_scene_mng.h"
#include "f/f_op/f_op_scene_iter.h"
#include "global.h"
// additional symbols needed for f_op_scene_mng.cpp
// autogenerated by split.py v0.4 at 2021-02-13 20:33:37.409404
extern "C" {
void fopScnIt_Judge(void);
void fopScnM_ChangeReq(void);
void fopScnM_CreateReq(void);
void fopScnM_DeleteReq(void);
@ -17,20 +17,26 @@ void fopScnRq_Handler(void);
void fopScnRq_ReRequest(void);
void fopScnRq_Request(void);
void fpcSch_JudgeByID(void);
void fopScnIt_Judge__FPFPvPv_PvPv(void);
}
// additional symbols needed for f_op_scene_mng.cpp
// autogenerated by split.py v0.4 at 2021-02-13 20:33:37.409412
extern u8 lbl_804505B8;
extern "C" {
// fopScnM_SearchByID__FUi
// fopScnM_SearchByID(unsigned int)
asm void fopScnM_SearchByID(void) {
// void* fopScnM_SearchByID(unsigned int id) {
// unsigned int tmp = id + 8;
// return fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, (void*)tmp);
// }
asm void* fopScnM_SearchByID(unsigned int) {
nofralloc
#include "f/f_op_scene_mng/asm/func_8001ECB0.s"
}
extern "C" {
// fopScnM_ChangeReq__FP11scene_classssUs
// fopScnM_ChangeReq(scene_class*, s16, s16, u16)
asm void fopScnM_ChangeReq(void) {

View File

@ -82,12 +82,12 @@ void fpcM_Management(fpcM_ManagementFunc pFunc1, fpcM_ManagementFunc pFunc2) {
}
fpcPi_Handler();
fpcCt_Handler();
if (pFunc1 != NULL) {
if (pFunc1) {
pFunc1();
}
fpcEx_Handler((cNdIt_MethodFunc)fpcM_Execute);
fpcDw_Handler((void*)fpcM_DrawIterater, fpcM_Draw);
if (pFunc2 != NULL) {
if (pFunc2) {
pFunc2();
}
g_dComIfG_gameInfo.getPlay().drawSimpleModel();