ksys: Merge EcoUtil into ActorUtil

The "is in Satori mountain area" function actually appears to be part
of ActorUtil (which contains a bunch of actor-related helper functions)
This commit is contained in:
Léo Lam 2021-11-24 01:59:32 +01:00
parent 022f029db1
commit c0a79e67ee
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
7 changed files with 11 additions and 25 deletions

View File

@ -80407,7 +80407,7 @@ Address,Quality,Size,Name
0x0000007100ee788c,U,000036,Actor::createDrops 0x0000007100ee788c,U,000036,Actor::createDrops
0x0000007100ee78b0,U,001192,eco::getEcosystemActorName 0x0000007100ee78b0,U,001192,eco::getEcosystemActorName
0x0000007100ee7d58,U,000344,eco::sub_7100EE7D58 0x0000007100ee7d58,U,000344,eco::sub_7100EE7D58
0x0000007100ee7eb0,O,000056,_ZN4ksys3eco18currentAreaNumIs64ERKN4sead7Vector3IfEE 0x0000007100ee7eb0,O,000056,_ZN4ksys3act22isInSatoriMountainAreaERKN4sead7Vector3IfEE
0x0000007100ee7ee8,U,002112, 0x0000007100ee7ee8,U,002112,
0x0000007100ee8728,U,000388, 0x0000007100ee8728,U,000388,
0x0000007100ee88ac,U,000200,wm::isRainingOrSnowingOrThunderStorm 0x0000007100ee88ac,U,000200,wm::isRainingOrSnowingOrThunderStorm

Can't render this file because it is too large.

View File

@ -8,6 +8,7 @@
#include "KingSystem/ActorSystem/actBaseProcLink.h" #include "KingSystem/ActorSystem/actBaseProcLink.h"
#include "KingSystem/ActorSystem/actInfoData.h" #include "KingSystem/ActorSystem/actInfoData.h"
#include "KingSystem/ActorSystem/actTag.h" #include "KingSystem/ActorSystem/actTag.h"
#include "KingSystem/Ecosystem/ecoSystem.h"
#include "KingSystem/GameData/gdtManager.h" #include "KingSystem/GameData/gdtManager.h"
#include "KingSystem/Map/mapObject.h" #include "KingSystem/Map/mapObject.h"
#include "KingSystem/Map/mapPlacementMgr.h" #include "KingSystem/Map/mapPlacementMgr.h"
@ -585,4 +586,8 @@ bool getSameGroupActorName(sead::SafeString* name, const sead::SafeString& actor
return true; return true;
} }
bool isInSatoriMountainArea(const sead::Vector3f& pos) {
return eco::Ecosystem::instance()->getFieldMapArea(pos.x, pos.z) == 64;
}
} // namespace ksys::act } // namespace ksys::act

View File

@ -167,4 +167,6 @@ bool getSameGroupActorName(sead::SafeString* name, const sead::SafeString& actor
s32 getSelectedChoiceIdx(s32 max, const char* query_name); s32 getSelectedChoiceIdx(s32 max, const char* query_name);
bool isInSatoriMountainArea(const sead::Vector3f& pos);
} // namespace ksys::act } // namespace ksys::act

View File

@ -3,6 +3,4 @@ target_sources(uking PRIVATE
ecoLevelSensor.h ecoLevelSensor.h
ecoSystem.cpp ecoSystem.cpp
ecoSystem.h ecoSystem.h
ecoUtil.cpp
ecoUtil.h
) )

View File

@ -1,9 +0,0 @@
#include "KingSystem/Ecosystem/ecoUtil.h"
namespace ksys::eco {
bool currentAreaNumIs64(const sead::Vector3f& pos) {
return Ecosystem::instance()->getFieldMapArea(pos.x, pos.z) == 64;
}
} // namespace ksys::eco

View File

@ -1,10 +0,0 @@
#pragma once
#include <math/seadVector.h>
#include "KingSystem/Ecosystem/ecoSystem.h"
namespace ksys::eco {
bool currentAreaNumIs64(const sead::Vector3f& pos);
} // namespace ksys::eco

View File

@ -2,7 +2,7 @@
#include <random/seadGlobalRandom.h> #include <random/seadGlobalRandom.h>
#include "KingSystem/ActorSystem/actActorConstDataAccess.h" #include "KingSystem/ActorSystem/actActorConstDataAccess.h"
#include "KingSystem/ActorSystem/actActorSystem.h" #include "KingSystem/ActorSystem/actActorSystem.h"
#include "KingSystem/Ecosystem/ecoUtil.h" #include "KingSystem/ActorSystem/actActorUtil.h"
#include "KingSystem/Event/evtManager.h" #include "KingSystem/Event/evtManager.h"
#include "KingSystem/Event/evtMetadata.h" #include "KingSystem/Event/evtMetadata.h"
#include "KingSystem/GameData/gdtManager.h" #include "KingSystem/GameData/gdtManager.h"
@ -590,7 +590,7 @@ void TimeMgr::AnimalMasterController::calc() {
if (!player_accessor.hasProc()) if (!player_accessor.hasProc())
break; break;
if (eco::currentAreaNumIs64(player_accessor.getPreviousPos())) if (act::isInSatoriMountainArea(player_accessor.getPreviousPos()))
break; break;
appearance_hour = sead::GlobalRandom::instance()->getU32(23); appearance_hour = sead::GlobalRandom::instance()->getU32(23);
@ -602,7 +602,7 @@ void TimeMgr::AnimalMasterController::calc() {
if (!player_accessor.hasProc()) if (!player_accessor.hasProc())
break; break;
if (eco::currentAreaNumIs64(player_accessor.getPreviousPos())) { if (act::isInSatoriMountainArea(player_accessor.getPreviousPos())) {
state = 0; state = 0;
break; break;
} }