add default params to fopacm create funcs

This commit is contained in:
LagoLunatic
2023-12-08 15:00:48 -05:00
parent c2625b0369
commit 46ffaf2839
10 changed files with 38 additions and 35 deletions
+11 -6
View File
@@ -359,18 +359,23 @@ void fopAcM_Log(fopAc_ac_c* p_actor, char* str);
s32 fopAcM_delete(fopAc_ac_c* p_actor);
s32 fopAcM_delete(unsigned int actorID);
s32 fopAcM_create(char*, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle, cXyz* i_scale, createFunc i_createFunc);
s32 fopAcM_create(s16 i_procName, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle, cXyz* i_scale, s8 i_subType, createFunc i_createFunc);
s32 fopAcM_create(s16 i_procName, u32 i_parameter, cXyz* i_pos, int i_roomNo,
csXyz* i_angle = NULL, cXyz* i_scale = NULL, s8 i_subType = -1,
createFunc i_createFunc = NULL);
s32 fopAcM_create(char*, u32 i_parameter, cXyz* i_pos, int i_roomNo,
csXyz* i_angle = NULL, cXyz* i_scale = NULL,
createFunc i_createFunc = NULL);
inline s32 fopAcM_create(s16 i_procName, createFunc i_createFunc, void*);
void* fopAcM_fastCreate(s16 procName, u32 parameter, cXyz* p_pos, int roomNo,
csXyz* p_angle, cXyz* p_scale, s8 subType,
createFunc p_createFunc, void* p_createFuncData);
csXyz* p_angle = NULL, cXyz* p_scale = NULL, s8 subType = -1,
createFunc p_createFunc = NULL, void* p_createFuncData = NULL);
void* fopAcM_fastCreate(char* p_actorName, u32 parameter, cXyz* pActorPos, int roomNo,
csXyz* p_angle, cXyz* p_scale, createFunc p_createFunc,
void* p_createFuncData);
csXyz* p_angle = NULL, cXyz* p_scale = NULL,
createFunc p_createFunc = NULL, void* p_createFuncData = NULL);
s32 fopAcM_createChild(s16 procName, unsigned int parentPId, u32 parameters, cXyz* p_pos,
int roomNo, csXyz* p_angle, cXyz* p_scale, s8 subType,
+5 -7
View File
@@ -721,8 +721,7 @@ void daAgb_c::GbaItemUse() {
temp_r29 = 15;
}
fopAcM_create(0x128, daBomb_c::prm_make(daBomb_c::STATE_8, false, false),
&current.pos, -1, NULL, NULL, -1, NULL);
fopAcM_create(0x128, daBomb_c::prm_make(daBomb_c::STATE_8, false, false), &current.pos, -1);
field_0x65c = 0x78;
} else {
temp_r29 = 0xe;
@@ -733,8 +732,7 @@ void daAgb_c::GbaItemUse() {
break;
case 0x15:
resetCursor(false);
fopAcM_create(0x128, daBomb_c::prm_make(daBomb_c::STATE_8, false, false), &current.pos,
-1, NULL, NULL, -1, NULL);
fopAcM_create(0x128, daBomb_c::prm_make(daBomb_c::STATE_8, false, false), &current.pos, -1);
field_0x65c = 0x78;
break;
case 0x11:
@@ -1047,9 +1045,9 @@ static int daAgb_Draw(daAgb_c* i_this) {
mDoExt_modelUpdateDL(i_this->mpModel);
if (i_this->field_0x679 != 0 &&
i_this->current.pos.y - i_this->mCrrPos.field_0x05c > 2.5f)
i_this->current.pos.y - i_this->mCrrPos.field_0x5c > 2.5f)
{
dComIfGd_setSimpleShadow2(&i_this->current.pos, i_this->mCrrPos.field_0x05c, 50.0f,
dComIfGd_setSimpleShadow2(&i_this->current.pos, i_this->mCrrPos.field_0x5c, 50.0f,
i_this->mCrrPos.mGndChk, 0, 1.0f, &i_this->mTexObj);
}
@@ -1121,7 +1119,7 @@ static int daAgb_Create(fopAc_ac_c* i_this) {
// a_this->mCrrPos.Set(&a_this->current.pos, &a_this->next.pos, NULL, );
a_this->mCrrPos.mpLine0 = &a_this->current.pos;
a_this->mCrrPos.pm_pos = &a_this->next.pos;
a_this->mCrrPos.field_0x058 = NULL;
a_this->mCrrPos.field_0x58 = NULL;
a_this->mCrrPos.SetActorPid(fpcM_ERROR_PROCESS_ID_e);
a_this->mCrrPos.field_0x3c = 171.0f;
a_this->mCrrPos.field_0x40 = 50.0f;
+2 -2
View File
@@ -464,7 +464,7 @@ daArrow_c* daArrow_c::changeArrowType() {
if (mArrowType != origArrowType) {
m_keep_type = mArrowType;
daArrow_c* newNockedArrow = (daArrow_c*)fopAcM_fastCreate(PROC_ARROW, 0, &current.pos, current.roomNo, NULL, NULL, -1, NULL, NULL);
daArrow_c* newNockedArrow = (daArrow_c*)fopAcM_fastCreate(PROC_ARROW, 0, &current.pos, current.roomNo);
if (!newNockedArrow) {
mArrowType = origArrowType;
m_keep_type = origArrowType;
@@ -800,7 +800,7 @@ BOOL daArrow_c::procMove() {
field_0x698 = false;
} else if (mArrowType == TYPE_ICE) {
if (dComIfG_Bgsp()->ChkGrpInf(mLinChk, 0x200)) {
fopAcM_create(PROC_Obj_Magmarock, NULL, &field_0x6a8, current.roomNo, NULL, NULL, -1, NULL);
fopAcM_create(PROC_Obj_Magmarock, NULL, &field_0x6a8, current.roomNo);
} else {
dComIfGp_particle_setP1(0x29E, &field_0x6a8, &temp10);
+2 -2
View File
@@ -1806,7 +1806,7 @@ namespace daObjMovebox {
emitter->setLifeTime(30);
emitter->setAwayFromAxisSpeed(30.0f);
}
fopAcM_create(PROC_Obj_Eff, 0x5, &particlePos, -1, NULL, NULL, 0xFF, NULL);
fopAcM_create(PROC_Obj_Eff, 0x5, &particlePos, -1);
// TODO daObjEff::Act_c::make_woodBox_smoke(cXyz*)
}
@@ -1874,7 +1874,7 @@ namespace daObjMovebox {
cXyz smokeScale;
smokeScale.setall(i_attr()->mLandSmokeScale);
smokeScale *= 5.0f/3.0f;
fopAcM_create(PROC_Obj_Eff, 0x3, &current.pos, -1, NULL, &smokeScale, 0xFF, NULL);
fopAcM_create(PROC_Obj_Eff, 0x3, &current.pos, -1, NULL, &smokeScale);
// TODO daObjEff::Act_c::make_land_smoke(cXyz*, float)
}
+1 -1
View File
@@ -52,7 +52,7 @@ namespace daObj {
cXyz scaleV;
scaleV.setall(scale);
scaleV *= (5.0f / 3.0f);
fopAcM_create(PROC_Obj_Eff, 3, &ac->current.pos, -1, NULL, &scaleV, 0xFF, NULL);
fopAcM_create(PROC_Obj_Eff, 3, &ac->current.pos, -1, NULL, &scaleV);
}
break;
}
+1 -1
View File
@@ -524,7 +524,7 @@ void dEvDtStaff_c::specialProcCreate() {
scale = *pScale;
}
fopAcM_create(objectName->mProcName, arg, &pos, dComIfGp_roomControl_getStayNo(), &angle, &scale, objectName->mSubtype, NULL);
fopAcM_create(objectName->mProcName, arg, &pos, dComIfGp_roomControl_getStayNo(), &angle, &scale, objectName->mSubtype);
}
break;
}
+1 -1
View File
@@ -84,7 +84,7 @@ void objectSetCheck(room_of_scene_class* i_this) {
if (!i_this->mbReLoaded) {
if (!hiddenFlag) {
fopAcM_create(PROC_BG, roomNo, NULL, -1, NULL, NULL, 0xFF, NULL);
fopAcM_create(PROC_BG, roomNo, NULL, -1);
dStage_dt_c_roomReLoader(i_this->mpRoomData, i_this->mpRoomDt, roomNo);
i_this->mbReLoaded = true;
}
+1 -1
View File
@@ -119,7 +119,7 @@ s32 dScnTitle_Create(scene_class* i_scn) {
dComIfGp_offEnableNextStage();
u32 parameter = fpcM_GetName(i_this) == PROC_TITLE_SCENE ? 0 : 1;
i_this->mMoviePId = fopAcM_create(PROC_MP, parameter, NULL, -1, NULL, NULL, 0xFF, NULL);
i_this->mMoviePId = fopAcM_create(PROC_MP, parameter, NULL, -1);
#if VERSION == VERSION_PAL
dScnTitle_c::mMp = NULL;
+2 -2
View File
@@ -1489,13 +1489,13 @@ int dStage_playerInit(dStage_dt_c* i_stage, void* i_data, int num, void* i_file)
JUT_ASSERT(1842, stageProc != 0);
if (stageProc->mBase.mBase.mProcName != PROC_PLAY_SCENE) {
fopAcM_create(PROC_TITLE, 0, NULL, -1, NULL, NULL, 255, NULL);
fopAcM_create(PROC_TITLE, 0, NULL, -1);
}
fopMsgM_Create(PROC_METER, NULL, NULL);
cXyz agb_pos(appen->mPos.x, appen->mPos.y + 10.0f, appen->mPos.z);
fopAcM_create(PROC_AGB, 0, &agb_pos, -1, NULL, NULL, 255, NULL);
fopAcM_create(PROC_AGB, 0, &agb_pos, -1);
dComIfGp_setAgb(NULL);
return 1;
}
+12 -12
View File
@@ -907,7 +907,7 @@ s32 fopAcM_createShopItem(cXyz* pos, int i_itemNo, csXyz* rot, int roomNo, cXyz*
return -1;
}
return fopAcM_create(PROC_ShopItem, i_itemNo, pos, roomNo, rot, scale, 0xFF, createFunc);
return fopAcM_create(PROC_ShopItem, i_itemNo, pos, roomNo, rot, scale, -1, createFunc);
}
/* 8002688C-80026980 .text fopAcM_createRaceItem__FP4cXyziiP5csXyziP4cXyzi */
@@ -919,7 +919,7 @@ s32 fopAcM_createRaceItem(cXyz* pos, int i_itemNo, int i_itemBitNo, csXyz* rot,
i_itemNo = check_itemno(i_itemNo);
u32 params = (i_itemBitNo & 0x7F) << 0x08 | i_itemNo & 0xFF | (param_7 & 0xF) << 0xF;
fopAcM_create(PROC_RACEITEM, params, pos, roomNo, rot, scale, 0xFF, NULL);
fopAcM_create(PROC_RACEITEM, params, pos, roomNo, rot, scale);
}
/* 80026980-80026A68 .text fopAcM_createDemoItem__FP4cXyziiP5csXyziP4cXyzUc */
@@ -930,7 +930,7 @@ s32 fopAcM_createDemoItem(cXyz* pos, int i_itemNo, int i_itemBitNo, csXyz* rot,
}
u32 params = i_itemNo & 0xFF | (i_itemBitNo & 0x7F) << 0x08 | (param_7 & 0xFF) << 0x10;
return fopAcM_create(PROC_Demo_Item, params, pos, roomNo, rot, scale, 0xFF, NULL);
return fopAcM_create(PROC_Demo_Item, params, pos, roomNo, rot, scale);
}
/* 80026A68-80026ADC .text fopAcM_createItemForBoss__FP4cXyziiP5csXyzP4cXyzi */
@@ -972,15 +972,15 @@ void* fopAcM_fastCreateItem2(cXyz* pos, int i_itemNo, int i_itemBitNo, int roomN
daItem_c* item;
switch (i_itemNo) {
case RECOVER_FAIRY:
return fopAcM_fastCreate(PROC_NPC_FA1, 1, pos, roomNo, rot, scale, 0xFF, NULL, NULL);
return fopAcM_fastCreate(PROC_NPC_FA1, 1, pos, roomNo, rot, scale);
case TRIPLE_HEART:
// Make the two extra hearts first, then fall-through to make the third heart as normal.
for (int i = 0; i < 2; i++) {
fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale, 0xFF, NULL, NULL);
fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale);
}
// Fall-through
default:
return fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale, 0xFF, NULL, NULL);
return fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale);
}
}
@@ -990,7 +990,7 @@ fopAc_ac_c* fopAcM_createItemForKP2(cXyz* pos, int i_itemNo, int roomNo, csXyz*
if (i_itemNo == NO_ITEM)
return NULL;
fopAc_ac_c* ac = (fopAc_ac_c*)fopAcM_fastCreate(PROC_SPC_ITEM01, i_itemNo | (i_itemBitNo & 0xFFFF) << 8, pos, roomNo, rot, scale, 0xFF, NULL, NULL);
fopAc_ac_c* ac = (fopAc_ac_c*)fopAcM_fastCreate(PROC_SPC_ITEM01, i_itemNo | (i_itemBitNo & 0xFFFF) << 8, pos, roomNo, rot, scale);
if (ac != NULL) {
fopAcM_SetSpeedF(ac, speedF);
ac->speed.y = speedY;
@@ -1026,7 +1026,7 @@ void* fopAcM_fastCreateItem(cXyz* pos, int i_itemNo, int roomNo, csXyz* rot, cXy
csXyz prmRot;
switch (i_itemNo) {
case RECOVER_FAIRY:
item = (daItem_c*)fopAcM_fastCreate(PROC_NPC_FA1, 1, pos, roomNo, rot, scale, 0xFF, NULL, NULL);
item = (daItem_c*)fopAcM_fastCreate(PROC_NPC_FA1, 1, pos, roomNo, rot, scale);
return item;
case TRIPLE_HEART:
// Make the two extra hearts first, then fall-through to make the third heart as normal.
@@ -1039,7 +1039,7 @@ void* fopAcM_fastCreateItem(cXyz* pos, int i_itemNo, int roomNo, csXyz* rot, cXy
prmRot.z = 0xFF;
prmRot.y += (int)cM_rndFX(0x2000);
item = (daItem_c*)fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale, 0xFF, createFunc, NULL);
item = (daItem_c*)fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale, -1, createFunc);
if (item) {
item->speedF = speedF * (1.0f + cM_rndFX(0.3f));
item->speed.y = speedY * (1.0f + cM_rndFX(0.2f));
@@ -1055,7 +1055,7 @@ void* fopAcM_fastCreateItem(cXyz* pos, int i_itemNo, int roomNo, csXyz* rot, cXy
}
prmRot.z = 0xFF;
item = (daItem_c*)fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale, 0xFF, createFunc, NULL);
item = (daItem_c*)fopAcM_fastCreate(PROC_ITEM, params, pos, roomNo, &prmRot, scale, -1, createFunc);
if (item) {
item->speedF = speedF;
item->speed.y = speedY;
@@ -1093,7 +1093,7 @@ s32 fopAcM_createIball(cXyz*, int, int, csXyz*, int) {
/* 800278D8-80027920 .text fopAcM_createWarpFlower__FP4cXyzP5csXyziUc */
void fopAcM_createWarpFlower(cXyz* p_pos, csXyz* p_angle, int i_roomNo, u8 param_4) {
u32 params = param_4;
fopAcM_create(PROC_WARPFLOWER, params, p_pos, i_roomNo, p_angle, NULL, 0xFF, NULL);
fopAcM_create(PROC_WARPFLOWER, params, p_pos, i_roomNo, p_angle);
}
/* 80027920-80027970 .text enemySearchJugge__FPvPv */
@@ -1124,7 +1124,7 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) {
/* 80027A9C-80027B24 .text fopAcM_createDisappear__FP10fopAc_ac_cP4cXyzUcUcUc */
s32 fopAcM_createDisappear(fopAc_ac_c* i_actor, cXyz* p_pos, u8 i_scale, u8 i_health, u8 i_switchNo) {
u32 params = (i_switchNo & 0xFF) << 0x10 | (i_scale & 0xFF) << 0x08 | i_health & 0xFF;
fopAc_ac_c* disappear = (fopAc_ac_c*)fopAcM_fastCreate(PROC_DISAPPEAR, params, p_pos, fopAcM_GetRoomNo(i_actor), &i_actor->current.angle, NULL, -1, NULL, NULL);
fopAc_ac_c* disappear = (fopAc_ac_c*)fopAcM_fastCreate(PROC_DISAPPEAR, params, p_pos, fopAcM_GetRoomNo(i_actor), &i_actor->current.angle);
if (disappear) {
disappear->mItemTableIdx = i_actor->mItemTableIdx;
}