add reportGetItem

This commit is contained in:
trixie 2024-04-22 17:38:58 -04:00
parent 51fed4abb3
commit cda9dce7dd
3 changed files with 30 additions and 1 deletions

View File

@ -61188,7 +61188,7 @@ Address,Quality,Size,Name
0x0000007100a8885c,U,000528,uking::reportGanonQuestFinished 0x0000007100a8885c,U,000528,uking::reportGanonQuestFinished
0x0000007100a88a6c,U,001740,uking::reportGameOver 0x0000007100a88a6c,U,001740,uking::reportGameOver
0x0000007100a89138,U,001384,uking::reportBloodMoon 0x0000007100a89138,U,001384,uking::reportBloodMoon
0x0000007100a896a0,U,000852,uking::reportGetItem 0x0000007100a896a0,O,000852,_ZN5uking13reportGetItemERKN4sead7Vector3IfEEPKNS0_14SafeStringBaseIcEE
0x0000007100a899f4,U,008496,uking::reportOptionsFromTitleStage 0x0000007100a899f4,U,008496,uking::reportOptionsFromTitleStage
0x0000007100a8bb24,U,000176,PosTrackerUploader::dtor 0x0000007100a8bb24,U,000176,PosTrackerUploader::dtor
0x0000007100a8bbd4,U,000184,PosTrackerUploader::dtorDelete 0x0000007100a8bbd4,U,000184,PosTrackerUploader::dtorDelete

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

View File

@ -8,7 +8,10 @@
#include "KingSystem/System/StageInfo.h" #include "KingSystem/System/StageInfo.h"
namespace uking { namespace uking {
unsigned int getQuestId(const sead::SafeString& quest_name); unsigned int getQuestId(const sead::SafeString& quest_name);
int positionFunc(const sead::Vector2i& pos);
void reportKorok(const sead::Vector3f& position) { void reportKorok(const sead::Vector3f& position) {
ksys::ProductReporter::getSomeBool(); ksys::ProductReporter::getSomeBool();
s32 id = ksys::gdt::getFlag_HiddenKorok_Number(); s32 id = ksys::gdt::getFlag_HiddenKorok_Number();
@ -52,6 +55,30 @@ void reportDungeon(const sead::SafeString& name, const sead::SafeString& event)
} }
} }
void reportGetItem(const sead::Vector3f& pos, const sead::SafeString* targetActorName) {
ksys::ProductReporter::getSomeBool();
PlayReport report(sead::SafeString("getitem"), 7,
ksys::PlayReportMgr::instance()->getReporter()->getHeap());
report.addMapType();
int name = sead::HashCRC32::calcStringHash(*targetActorName);
ksys::ProductReporter::getSomeBool();
report.add(sead::SafeString("name"), name);
int position = positionFunc({int(pos.x), int(pos.y)});
report.add(sead::SafeString("Position"), position);
report.addPlayTimes();
if (ksys::PlayReportMgr::instance()) {
auto* reporter = ksys::PlayReportMgr::instance()->getReporter();
if (reporter && reporter->isEnabled())
reporter->saveReport(&report);
}
}
void reportQuestStep(const ksys::qst::Quest* quest, int step_index) { void reportQuestStep(const ksys::qst::Quest* quest, int step_index) {
if (quest && step_index >= 0 && step_index < quest->mSteps.size()) { if (quest && step_index >= 0 && step_index < quest->mSteps.size()) {
const sead::SafeString& name = quest->mName; const sead::SafeString& name = quest->mName;
@ -78,6 +105,7 @@ void reportQuestStep(const ksys::qst::Quest* quest, int step_index) {
} }
} }
} }
PlayReport::PlayReport(const sead::FixedSafeString<32>& event_id, s32 num_entries, sead::Heap* heap) PlayReport::PlayReport(const sead::FixedSafeString<32>& event_id, s32 num_entries, sead::Heap* heap)
: ksys::PlayReport(event_id, num_entries, heap) {} : ksys::PlayReport(event_id, num_entries, heap) {}

View File

@ -11,6 +11,7 @@ namespace uking {
void reportKorok(const sead::Vector3f& position); void reportKorok(const sead::Vector3f& position);
void reportDungeon(const sead::SafeString& name, const sead::SafeString& event); void reportDungeon(const sead::SafeString& name, const sead::SafeString& event);
void reportQuestStep(const ksys::qst::Quest* quest, int step_index); void reportQuestStep(const ksys::qst::Quest* quest, int step_index);
void reportGetItem(const sead::Vector3f& pos, const sead::SafeString* targetActorName);
// TODO: More functions // TODO: More functions
class PlayReport : public ksys::PlayReport { class PlayReport : public ksys::PlayReport {