You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
VCS Global Variables Space is not Homogeneous #397
The same global variable indices (e.g. $5335) appear in different missions as different arrays. The arrays even have different sizes (e.g. $5335(0@,3) vs $5335(0@,100))
This contradicts the expectation that global variables are:
Uniquely assigned
Immutable in layout across the entire script
Reason
The SCM defines a boundary via:
"trueGlobals": 5330
This splits variables into two categories:
$2 … $5331 → true globals (unique, persistent)
$5332+ → reusable scratch variables
Scratch Variables:
Are not uniquely assigned per mission
Act as a shared memory region
Can be reinterpreted differently by each mission
Allow overlapping arrays with different sizes and purposes
If that's relevant for the disassembler, these variables are also zeroed when missions start. Conceptually they're identical to SA mission locals, just living inside the scratch space inside the main block.
Activity
x87 commentedon Apr 16, 2026
This affects how the disassembler outputs global variables falling within the "shared" global space, oftentimes with nonsensical indexes.
x87 commentedon Apr 24, 2026
Same is true for LCS
CookiePLMonster commentedon May 5, 2026
If that's relevant for the disassembler, these variables are also zeroed when missions start. Conceptually they're identical to SA mission locals, just living inside the scratch space inside the main block.