summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2023-05-09 01:10:22 +0300
committerGitHub <noreply@github.com>2023-05-08 15:10:22 -0700
commit44b0fdbb0d73226eb8f365572f75d2ee026f1040 (patch)
treead41342a74f614c52413c0f0a037862672196c10 /src/d
parent85827b28ff27c09702930738e8c188472428f959 (diff)
Do some work on f_op_actor_mng (#328)
* decompctx - try without shiftjis and write utf8 as output * Do some work on f_op_actor_mng * Remove duplicated includes * Add fopAcM_setEffectMtx * Match dShopSystem_searchCameraActor * fopAcM_setEffectMtx now matches with literals * Remove unnecessary inline in headers
Diffstat (limited to 'src/d')
-rw-r--r--src/d/d_path.cpp2
-rw-r--r--src/d/particle/d_particle.cpp2
-rw-r--r--src/d/shop/d_shop_system.cpp29
3 files changed, 24 insertions, 9 deletions
diff --git a/src/d/d_path.cpp b/src/d/d_path.cpp
index 49693106a3..8617013943 100644
--- a/src/d/d_path.cpp
+++ b/src/d/d_path.cpp
@@ -67,7 +67,7 @@ dPath* dPath_GetNextRoomPath(dPath const* p_path, int room_no) {
/* 8005195C-80051AC0 04C29C 0164+00 0/0 1/1 4/4 .text
* dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi */
-int dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2) {
+u8 dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2) {
int roomId = dComIfG_Bgsp().GetRoomId(poly);
int roomPathId = dComIfG_Bgsp().GetRoomPathId(poly);
diff --git a/src/d/particle/d_particle.cpp b/src/d/particle/d_particle.cpp
index 349f823e04..377212c2fe 100644
--- a/src/d/particle/d_particle.cpp
+++ b/src/d/particle/d_particle.cpp
@@ -1970,7 +1970,7 @@ asm void dPa_control_c::setStopContinue(u32 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-asm void dPa_control_c::setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param_2,
+asm u32 dPa_control_c::setSimpleFoot(u32 param_0, u32* param_1, cBgS_PolyInfo& param_2,
cXyz const* param_3, dKy_tevstr_c const* param_4, int param_5,
csXyz const* param_6, cXyz const* param_7,
dPa_levelEcallBack* param_8, s8 param_9,
diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp
index a67363b9cd..a1ed67aae8 100644
--- a/src/d/shop/d_shop_system.cpp
+++ b/src/d/shop/d_shop_system.cpp
@@ -267,14 +267,29 @@ SECTION_SDATA static fopAc_ac_c* dShopSystem_cameraActor[2] = {NULL, NULL};
static int dShopSystem_camera_count;
/* 80197270-80197338 191BB0 00C8+00 1/1 0/0 0/0 .text dShopSystem_searchCameraActor__FPvPv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void dShopSystem_searchCameraActor(void* param_0, void* param_1) {
- nofralloc
-#include "asm/d/shop/d_shop_system/dShopSystem_searchCameraActor__FPvPv.s"
+static int dShopSystem_searchCameraActor(void* param_0, void* param_1) {
+ if (fopAcM_IsActor(param_0) && fopAcM_GetName(param_0) == PROC_TAG_SHOPCAM) {
+ if ((fopAcM_GetParam(param_1) & 0xf0000000) == (fopAcM_GetParam(param_0) & 0xf0000000) && dShopSystem_camera_count < 2) {
+ switch (fopAcM_GetParam(param_0) & 0xf) {
+ case 0:
+ if (dShopSystem_cameraActor[0] == NULL) {
+ dShopSystem_cameraActor[0] = (fopAc_ac_c*)param_0;
+ dShopSystem_camera_count++;
+ }
+ break;
+ case 1:
+ if (dShopSystem_cameraActor[1] == NULL) {
+ dShopSystem_cameraActor[1] = (fopAc_ac_c*)param_0;
+ dShopSystem_camera_count++;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+ return 0;
}
-#pragma pop
/* ############################################################################################## */
/* 80453B00-80453B04 002100 0004+00 1/1 0/0 0/0 .sdata2 @4097 */