mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-05 05:07:56 +03:00
95 lines
1.6 KiB
C++
95 lines
1.6 KiB
C++
/*
|
|
by korenkonder
|
|
GitHub/GitLab: korenkonder
|
|
*/
|
|
|
|
#include "mdata_manager.hpp"
|
|
#include "pv_db.hpp"
|
|
|
|
MdataMgr mdata_manager;
|
|
|
|
MdataMgr::MdataMgr() : state() {
|
|
prefixes.push_back("");
|
|
prefixes.push_back("mdata_");
|
|
}
|
|
|
|
MdataMgr::~MdataMgr() {
|
|
|
|
}
|
|
|
|
bool MdataMgr::Init() {
|
|
state = 0;
|
|
return true;
|
|
}
|
|
|
|
bool MdataMgr::Ctrl() {
|
|
switch (state) {
|
|
case 0:
|
|
state = 1;
|
|
break;
|
|
case 1:
|
|
if (!task_pv_db_get()->field_99)
|
|
task_pv_db_add_paths();
|
|
state = 2;
|
|
break;
|
|
case 2:
|
|
if (task_pv_db_is_paths_empty())
|
|
state = 3;
|
|
break;
|
|
case 3:
|
|
task_pv_db_free_pv_data();
|
|
state = 4;
|
|
break;
|
|
case 4:
|
|
Log("--->LOAD ROM PVDB!\n");
|
|
if (!task_pv_db_get()->field_99)
|
|
task_pv_db_add_paths();
|
|
state = 5;
|
|
break;
|
|
case 5:
|
|
if (task_pv_db_is_paths_empty())
|
|
return true;
|
|
break;
|
|
case 6:
|
|
state = 15;
|
|
break;
|
|
case 15:
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool MdataMgr::Dest() {
|
|
return true;
|
|
}
|
|
|
|
void MdataMgr::Disp() {
|
|
|
|
}
|
|
|
|
void MdataMgr::Basic() {
|
|
|
|
}
|
|
|
|
void MdataMgr::Log(const char* fmt, ...) {
|
|
char buf[0x400];
|
|
va_list args;
|
|
va_start(args, fmt);
|
|
size_t len = vsprintf_s(buf, sizeof(buf), fmt, args);
|
|
va_end(args);
|
|
log.append(fmt, len);
|
|
log.append(1, '\n');
|
|
}
|
|
|
|
bool mdata_manager_append_task() {
|
|
return app::TaskWork::AppendTask(mdata_manager_get(), 0, "M_DATA_MANAGER");
|
|
}
|
|
|
|
bool mdata_manager_free_task() {
|
|
return mdata_manager_get()->SetDest();
|
|
}
|
|
|
|
MdataMgr* mdata_manager_get() {
|
|
return &mdata_manager;
|
|
}
|