Developer knowledge network · moderated exchange

UnreliableCode Topluluğu

Geliştirici Araştırması, Tersine Mühendislik ve Kodlama Topluluğu

Knowledge indexCanlı
4Categories
919Threads
2.8KGönderiler
Tutorial

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

apex_glow_god
Apex Reverser
MEMBER
Temsilci: 128
Katılım Tarihi: Dec 2020
Gönderiler: 8
Teşekkürler: 30
1 ay önce · 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
Temsilci: 215
Katılım Tarihi: Mar 2018
Gönderiler: 86
Teşekkürler: 61
1 ay önce · 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
Temsilci: 105
Katılım Tarihi: Aug 2018
Gönderiler: 52
Teşekkürler: 41
1 ay önce · Jul 1, 2026 3:28 PM
#3

Clean explanation of Source engine modified name table.