WIP port 4-d quest dialogue modules
This commit is contained in:
@@ -543,3 +543,4 @@
|
||||
{"time": "2026-09-24T19:00:00Z", "event": "port", "unit": "batch 4-a text input: EterLib/IME.cpp (ADAPTED), UserInterface/PythonIME.cpp, PythonIMEModule.cpp", "detail": "ime module ported; IMM/TSF-free CIME in platform/; Godot key events -> ui_ime_key/ui_char -> CWindowManager RunIME*; login typed through the IME; in-game chat CG_CHAT round-trip", "tests": ["port.login_flow (typed id/password with edits, chat send/echo/close)", "port.login_live", "python_game_render_test (Godot key events)"]}
|
||||
{"time": "2026-09-24T20:00:00Z", "event": "verify", "unit": "batch 4-b combat: InstanceBaseBattle / ActorInstanceCollisionDetection / PythonPlayerInput (already ported)", "detail": "fake server spawns a stray dog outside the BANPK safe disc, answers CG_TARGET/CG_ATTACK with GC_TARGET/GC_DAMAGE_INFO/GC_DEAD; held left button walks up and combo-attacks until death; damage numbers wait on CPythonSystem (4-g)", "tests": ["port.login_flow (step 9 held-button kill)", "port.login_live", "python_game_render_test (Godot mouse events, target HP 100/66/33/0)"]}
|
||||
{"time": "2026-09-24T21:00:00Z", "event": "port", "unit": "batch 4-c shop: UserInterface/PythonShop.cpp (+ PythonApplicationCursor.cpp, SetMouseHandler adapted)", "detail": "shop module ported verbatim; app cursor state moved into the platform CPythonApplication (uishop reads app.GetCursor, which dereferenced the missing application object); fake server general store answers CG_ON_CLICK/CG_SHOP BUY/SELL2/END like CShop::AddGuest/Buy and CShopManager::Sell", "tests": ["port.login_flow (step 10 buy/sell/ESC)", "port.login_live", "python_game_render_test"]}
|
||||
{"time": "2026-09-24T22:00:00Z", "event": "wip", "unit": "batch 4-d NPC quest dialogue", "detail": "Added event manager, quest state/module, event manager module, parser and DBCS helpers; fake server now has an Oldster NPC and preliminary GC_SCRIPT / CG_SCRIPT_ANSWER exchange. This is explicitly unfinished: login-flow UI round trip and rendering interaction are not wired/verified; all five source-unit port-map entries remain TODO.", "tests": []}
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"reference": "EterLib/parser.cpp",
|
||||
"reference_sha256": "1b81a802b14e1a5958aaf981ca81248e389ad5c6f572858fd31e4afb7674ba86",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"LocaleString_FindChar": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"LocaleString_RightTrim": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"OLD_rtrim": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"LocaleString_Skip": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::GetArg": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::Create": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::GetCmd": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::ReadCmd": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::GetError": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::SetError": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::Group": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"Group::~Group": {
|
||||
"status": "TODO"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
{
|
||||
"reference": "UserInterface/PythonEventManager.cpp",
|
||||
"reference_sha256": "db306daefe5948ad7b3d533266bea7ef04826b22311c72d421c4f23c647de8e2",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"ShowArgument": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"GetArgumentString": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"GetArgument": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"GetCameraSettingFromArgList": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::__InitEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::RegisterEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::RegisterEventSetFromString": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::ClearEventSeti": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::__ClearEventSetp": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::GetEmptyEventSetSlot": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetRestrictedCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetEventHandler": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::GetEventSetLocalYPosition": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::AddEventSetLocalYPosition": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::InsertText": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::UpdateEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetEventSetWidth": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::ProcessEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::RenderEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::Skip": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::IsWait": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::EndEventProcess": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::MakeNextButton": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::MakeQuestion": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SelectAnswer": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetVisibleStartLine": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetVisibleLineCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::GetVisibleStartLine": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::GetLineCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::ClearLine": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::__InsertLine": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::RefreshLinePosition": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::__AddSpace": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::GetScriptEventIndex": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::CheckEventSetIndex": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::Destroy": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetInterfaceWindow": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::SetLeftTimeString": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::CPythonEventManager": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonEventManager::~CPythonEventManager": {
|
||||
"status": "TODO"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"reference": "UserInterface/PythonEventManagerMoudle.cpp",
|
||||
"reference_sha256": "104c2b16cef91b4d41844caa10851ff82e8e2766c264aaaeca3b7f246a17e4ae",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"eventRegisterEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventRegisterEventSetFromString": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventClearEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSetRestrictedCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventGetEventSetLocalYPosition": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventAddEventSetLocalYPosition": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventInsertText": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventInsertTextInline": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventUpdateEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventRenderEventSet": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSetEventSetWidth": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSkip": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventIsWait": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventEndEventProcess": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSetEventHandler": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSelectAnswer": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventGetLineCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSetVisibleStartLine": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventGetVisibleStartLine": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventQuestButtonClick": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSetInterfaceWindow": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventSetLeftTimeString": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"eventDestroy": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"initEvent": {
|
||||
"status": "TODO"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"reference": "UserInterface/PythonGameEventManagerModule.cpp",
|
||||
"reference_sha256": "233eb8e6439422e3262240f8e22e8df6a4049122fe110a218b5c952207414e2e",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"eventMgrUpdate": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"initeventmgr": {
|
||||
"status": "TODO"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
{
|
||||
"reference": "UserInterface/PythonQuest.cpp",
|
||||
"reference_sha256": "2e48148f3da65c4e286843d1b225aaa2021f2731f9f024fe989d1489c6e5f546",
|
||||
"priority": "P3",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CPythonQuest::RegisterQuestInstance": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::DeleteQuestInstance": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::IsQuest": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::MakeQuest": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::SetQuestTitle": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::SetQuestClockName": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::SetQuestCounterName": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::SetQuestClockValue": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::SetQuestCounterValue": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::SetQuestIconFileName": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::GetQuestCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::GetQuestInstancePtr": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::__GetQuestInstancePtr": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::__Initialize": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::Clear": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::CPythonQuest": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"CPythonQuest::~CPythonQuest": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"questGetQuestCount": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"questGetQuestData": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"questGetQuestIndex": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"questGetQuestLastTime": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"questClear": {
|
||||
"status": "TODO"
|
||||
},
|
||||
"initquest": {
|
||||
"status": "TODO"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user