port: ItemData, ItemManager, PythonNonPlayer + LoadLocaleData (batch 2 P3-a)
Verbatim 40250 GameLib ItemData/ItemManager and UserInterface PythonNonPlayer(+Module) replace their pending stand-ins and the nonplayer module stub. LoadLocaleData's body moves into the platform CPythonApplication stand-in, so the select phase loads item_proto and mob_proto; CPythonSkill is still pending, so it returns false after the tables load. login_flow checks item 19 (Sword+9) and mob 101 (Wild Dog), offline and live. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
ce9f96398e
commit
f0564a7f12
@@ -47,6 +47,7 @@
|
||||
#include "GameLib/RaceMotionData.h"
|
||||
#include "GameLib/FlyingData.h"
|
||||
#include "GameLib/FlyingObjectManager.h"
|
||||
#include "GameLib/ItemManager.h"
|
||||
#include "UserInterface/StdAfx.h"
|
||||
#include "UserInterface/PythonCharacterManager.h"
|
||||
#include "UserInterface/InstanceBase.h"
|
||||
@@ -297,6 +298,23 @@ int main(int argc, char** argv)
|
||||
CHECK(server->Has("state:checker"));
|
||||
}
|
||||
|
||||
// 3c. SetSelectCharacterPhase ran localeInfo.LoadLocaleData() → app.LoadLocaleData(app.GetLocalePath()):
|
||||
// CItemManager read item_list.txt/item_proto/itemdesc.txt and CPythonNonPlayer read mob_proto.
|
||||
{
|
||||
CItemData* sword = nullptr;
|
||||
CHECK(CItemManager::Instance().GetItemDataPointer(19, &sword) && sword);
|
||||
if (sword)
|
||||
{
|
||||
std::printf("port_login_flow_test: item 19 %s type %u refine %u\n", sword->GetName(), sword->GetType(), sword->GetRefine());
|
||||
CHECK(sword->GetType() == CItemData::ITEM_TYPE_WEAPON && sword->GetRefine() == 9);
|
||||
CHECK(sword->GetModelThing() != nullptr);
|
||||
}
|
||||
CHECK(py("import nonplayer\n"
|
||||
"_mob = nonplayer.GetMonsterName(101)\n"
|
||||
"assert _mob, 'mob 101 has no name'\n"
|
||||
"import sys\nsys.stderr.write('port_login_flow_test: mob 101 %s\\n' % _mob)"));
|
||||
}
|
||||
|
||||
// 4-5. Start the game on the slot: DirectEnter, the second game login and the loading phase.
|
||||
if (selecting)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user