Developer knowledge network · moderated exchange

UnreliableCode コミュニティ

開発者リサーチ、リバース エンジニアリング、コーディング コミュニティ

Tutorial

Traversing Apex Legends String Table & GNames to Resolve Entity Class Names [v2.4 Technical Discussion]

apex_glow_god
Apex Reverser
MEMBER
担当者: 128
参加日: Dec 2020
投稿: 8
ありがとう: 30
1 か月前 · Jun 30, 2026 5:28 PM
#1

In Apex Legends (Source engine modified fork), entity class names (CPlayer, CWeaponX, PropSurvival) are indexed in the global String Table:

  1. Find NameList base pointer (0x140000000 + offset_namelist).
  2. For entity index $i$:
    $$pNameEntry = (uint64_t)(NameList + (i \times 0x10))$$
  3. String at pNameEntry returns "player", "prop_survival", or "npc_prowler".

Instantly identifies whether an entity index represents a player, deathbox, or loot item!

vtable_slayer
Senior Reverser
MEMBER
担当者: 215
参加日: Mar 2018
投稿: 86
ありがとう: 61
1 か月前 · Jun 30, 2026 10:35 PM
#2

NameList string table indexing is so fast. Zero string comparisons inside the main entity render loop.

matrix_math_guy
Math Specialist
MEMBER
担当者: 105
参加日: Aug 2018
投稿: 52
ありがとう: 41
1 か月前 · Jul 1, 2026 3:28 PM
#3

Clean explanation of Source engine modified name table.