REDIVIVUS

Proposals / #1096

Name generic parameters stored as a message colour or forwarded as a cast position, item version, room or spawn point

checked · by dtchitt · submitted 2026-11-03

Nine generic parameters with one clear use each. AddStringData stores Stack[0x8] into aStringData[i].nColor (004b863a MOV ECX,[EBP+0xc]; 004b865c MOV [ESI+0x164],ECX, which is 0x68 + 0xfc). PrepareClientMessage and CHAT_BroadcastMessageToAllClients store their byte into the chat packet's nMessageColor (0054a944/0054a976 and 0054a9c5/0054a9ca, [EBP-0x118]). AI_Monster_ValidateSkillAtPosition passes Stack[0xc] and Stack[0x10] as the x and y of DRLGROOM_FindBetterNearbyRoom, CheckCollision_BlockPlayer_Type and SKILLS_HasLineOfSight (005fd587, 005fd57d); nX, nY, nTargetX and nTargetY are taken by locals, hence nCastX and nCastY. ITEM_CreateFromSaveData forwards Stack[0x18] as ITEM_LoadFromSaveData's nVersion, which its other callers pass as 0x60, the item format version. CLIENT_LoadPlayerFromNetworkSave forwards its three to SERVER_LoadPlayerFromSaveFile's pRoom, nSpawnX and nSpawnY; its caller passes pRoomOrNull, nX and nY.

Changes 9, applied together

  1. Rename variable win 0x004b85f0 Stack[0x8]

    nameparam_2_00→nColor
  2. Rename variable win 0x0054a930 Stack[0x4]

    namedwParam→nColor
  3. Rename variable win 0x0054a9b0 Stack[0x4]

    namedwParam→nColor
  4. Rename variable win 0x005fd470 Stack[0xc]

    namenParam1→nCastX
  5. Rename variable win 0x005fd470 Stack[0x10]

    namenParam2→nCastY
  6. Rename variable win 0x00558cb0 Stack[0x18]

    namenParam2→nVersion
  7. Rename variable win 0x00534520 Stack[0x8]

    namedwParam1→pRoom
  8. Rename variable win 0x00534520 Stack[0xc]

    namedwParam2→nSpawnX
  9. Rename variable win 0x00534520 Stack[0x10]

    namedwParam3→nSpawnY