port 2D step 2: 40250 item_proto/mob_proto through CLZO and pack://locale/<lang>/
proto.cpp reads the 40250 MIPX/MMPT tables with the ported CLZO/TEA (156-byte TItemTable, 255-byte SMobTable), replacing the m2dev XChaCha20 236/335 reader. Names follow CItemData::GetName / GetMonsterName (szLocaleName, cp1252). GDScript callers load AssetRoot.locale_file() = pack://locale/en/<name>, which makes the EterPack chain runtime-reachable; port-map entries for the functions a coverage run hit move to PORTED/ADAPTED. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -369,13 +369,13 @@ class CItemData
|
||||
typedef struct SItemLimit
|
||||
{
|
||||
BYTE bType;
|
||||
long lValue;
|
||||
LONG lValue; // PORT: fixed-width Win32 long (item_proto record layout)
|
||||
} TItemLimit;
|
||||
|
||||
typedef struct SItemApply
|
||||
{
|
||||
BYTE bType;
|
||||
long lValue;
|
||||
LONG lValue; // PORT: fixed-width Win32 long (item_proto record layout)
|
||||
} TItemApply;
|
||||
|
||||
typedef struct SItemTable
|
||||
@@ -400,14 +400,15 @@ class CItemData
|
||||
|
||||
TItemLimit aLimits[ITEM_LIMIT_MAX_NUM];
|
||||
TItemApply aApplies[ITEM_APPLY_MAX_NUM];
|
||||
long alValues[ITEM_VALUES_MAX_NUM];
|
||||
long alSockets[ITEM_SOCKET_MAX_NUM];
|
||||
LONG alValues[ITEM_VALUES_MAX_NUM]; // PORT: fixed-width Win32 long
|
||||
LONG alSockets[ITEM_SOCKET_MAX_NUM]; // PORT: fixed-width Win32 long
|
||||
DWORD dwRefinedVnum;
|
||||
WORD wRefineSet;
|
||||
BYTE bAlterToMagicItemPct;
|
||||
BYTE bSpecular;
|
||||
BYTE bGainSocketPct;
|
||||
} TItemTable;
|
||||
static_assert(sizeof(SItemTable) == 156, "item_proto MIPX stride"); // PORT: 40250 ILP32 layout
|
||||
|
||||
// typedef struct SItemTable
|
||||
// {
|
||||
|
||||
Reference in New Issue
Block a user