This extension adds language support for the GSC scripts used in Call of Duty games.
⚠️ This extension is still under development and is not fully finished. Check the list of the available features in List of features.
Game | Code | Modification | Status | Not working yet |
CoD1 | IW1 | original | ✅ Supported | |
CoD2 | IW2 | original | ✅ Supported | |
CoD4 | IW3 | original | ✅ Supported | |
CoD5 | T4 | original | ✅ Supported | |
Plutonium T4 | ❔ | |||
MW2 | IW4 | original | ❗ Tested, errors | childthread, call |
Alterware IW4x | ❔ | |||
BO1 | T5 | original | ✅ Supported | |
Plutonium T5 | ❔ | |||
MW3 | IW5 | original | ❗ Tested, errors | childthread, call |
Plutonium IW5 | ❔ | |||
Alterware IW5-Mod | ❔ | |||
BO2 | T6 | original | ❗ Tested, errors | #insert, #define, param default value, autoexec, const, %xxx::yyy, /@ comments @/ |
Plutonium T6 | ❗ Tested, errors | order of file references | ||
Ghosts | IW6 | original | ❔ | |
Alterware IW6-Mod | ❔ | |||
AW | S1 | original | ❗ Tested, errors | childthread, call |
Alterware S1-Mod | ❔ | |||
BO3 | T7 | original | 🚫 Not supported | #using, #namespace, function, .gscc, .csc, .cscc |
IW | IW7 | original | ❔ | |
Aurora IW7-mod | ❔ | |||
CoD4:MWR | H1 | original | ❔ | |
Aurora H1-mod | ❗ Tested, errors | param default value, call, childthread | ||
WWII | S2 | original | ❔ | |
BO4 | T8 | original | ❔ | |
MW | IW8 | original | ❔ | |
BOCW | T9 | original | ❔ | |
Vanguard | S3 | original | ❔ | |
MWII | IW9 | original | ❔ | |
MWIII | S4 | original | ❔ | |
BO6 | T10 | original | ❔ |
VSCode multi-root workspace can be used to "join" your mod folders as they get loaded into the game.
The order of how files are being searched is now determined by how the workspace folder appears in explorer tab. The last folder is searched first.
It can simulate your .IWD files - their file name determines which files gets loaded first in the game.
For example, this is typical setup:
From game perspective, it could represents these files:
The alphabetical order of .IWD is important to correctly replace original files. The order of the workspace folders must be the same!
When GSC file is replaced by another GSC file in multi-root workspace because of the same game path, the code in text editor is shown as semi-transparent (unreachable code)
Example:
Allows quickly change the targeted game or open settings.
GSC side panel with "Workspace", "File" and "Other" views. It shows information about workspace setup, parsed GSC files and available commands to run. In future version it will allow to change settings more interactively.
/*...*/
, //...
)/# ... #/
)#include
, #using_animtree
, #animtree
)return
, if
, else
, for
, foreach
, while
, do-while
, switch
, continue
, break
, case
, default
, thread
, wait
, waittillframeend
, waittill
, waittillmatch
, endon
, notify
, breakpoint
)=
, +=
, -=
, *=
, /=
, %=
, |=
, &=
, ^=
, ++
, --
, +
, -
, *
, /
, %
, |
, &
, ^
, <<
, >>
, ==
, !=
, <
, >
, <=
, >=
, &&
, ||
, !
, ~
)"default"
, &"STRING_LOCALIZED"
, #"sv_cvar_string"
)true ? "yes" : "no"
)%xanim_file_name
)maps\mp\gametypes\sd
)level
and game
)funcName()
)maps\mp\gametypes\file::funcName()
)#include
)notify
waittill
waittillmatch
endon
in completion item providerThis extension is available through Visual Studio Marketplace.
Please test this extension in vscode on your GSC files and report bugs / suggestions on the github page or on discord KILLTUBE #vscode-cod-gsc