This page summarizes the KotOR 1 (PC / Odyssey) runtime layout in a Mermaid-friendly form: the original reference is a single large diagram in KotOR 1 System Layout (PDF) showing how Exo services, string tables, the CSW/CSW* object graph, and Aurora / client–server (NetLayer) fit together. That PDF is mostly a visual / ASCII class map. This diagram is a simplified, readable graph for navigation (not a complete class diagram).
KotOR-1-System-Layout.mmd.mmd file when you change the layout)flowchart TB
subgraph tlk[TLK and string layer]
CTlk[CTlkTable: up to 7 TLK files, custom tokens, CGameObject ref, language id]
end
subgraph exo[Exo core services CExo*]
AliasList[Exo alias list: path resolution key-value linked list CExoAlias*]
ExoBaseI[Exo base internal: extension to resource type mapping]
ExoRes[ExoResMan: BIF, KEY, ERF, RIM, directories, module info, async IO, key table lists]
ExoSound[ExoSound: Miles or MSS, 3D, EAX, provider list, sound sources, priority groups]
ExoInput[ExoInput: keyboard and mouse, raw input, tick deltas]
Gui[CSWGuiManager: panels, modals, mouse, viewport, tooltips, modal stack]
end
subgraph rules[Rules and VM]
Rules1[CSWRules: 2D arrays, feats, classes, races, skills, spells, etc.]
VM1[VM stack and instructions + NCS helper]
end
subgraph cl[Client]
CApp[Client exo: ClientExoApp, movies, area, Exo app holds module]
CNet[CNetLayer]
CObj[GameObjectArray hash, internal and external object buckets, CSWCreature and related object types]
CScene[Scene and Gob, lights, camera derives from Gob]
CGui2[CGuiInGame, CSWModule camera and controls, party and journal]
Aurora1[Aurora, AurInternal, GL, GLRender]
end
subgraph sv[Server or MP server path]
SApp[Server exo: area ref, Exo app]
SNet[CNetLayer]
SMod[Module: IFO, VARTABLE, AREAMAP, LIMBO, NCS, linked areas]
SObj[Object array, server world timers, SWS* object types, AI lists and event queue]
SSys[Server systems: Faction, globals, EFX, items, server VM commands]
end
tlk --> exo
exo --> rules
exo --> cl
exo --> sv
rules --> cl
rules --> SSys
CNet <--> SNet
Aurora1 --> exo
.mmd file in a Mermaid Live Editor or a desktop viewer.