Repository navigation
Argent Forge 1.3.0
A way through a mod's code. Right-click a name in a script and the menu says where it is defined in
the archive you have open, and the answers come in the order the game reads them, so the first one is
the one that counts in game. Hunting through forty files to find the class you actually wanted is the
thing this removes.
What it answers
- Classes and their parents, what
replaces Xpoints at, and state labels including the ones an
actor only inherits. - The functions a mod writes: a class's own, its parent's, and one written at file scope or inside a
namespace. SNDINFOaliases and the sound files behind them,CVARINFOcvars,MAPINFOlevels by both their
mapname and theirlookupname,GLDEFSandDECALDEFdefinitions, andLANGUAGEkeys in
either spelling, with or without the dollar a caller writes in front of them.- The picture a sprite name stands for, by its four letters or by a whole frame name, in both
spellings a mod uses. A brightmap never answers for the picture it brightens.
Coming back
A jump remembers where you were. Alt+Left and Alt+Right, or the mouse's side buttons, walk back
and forward through the files you came through, and they work from a picture as well as from a text.
Both are ordinary keybinds under Settings > Input, so they can be moved. A jump opens the file in
the editor its own type asks for and moves the entry tree to it, so you always see where you are.
Names as the mod writes them
weapons/sshoto and soldier.hitmonk1 are one name each, not two, and a quoted run is taken whole,
which is how A_StartSound("leech/idle", 1) reaches the line that defines it. A pk3 name can be as
long as the mod wanted; the eight-letter limit belongs to a WAD.
When it says nothing
Over a file with names in it the menu always answers, even when the answer is none: the grey line says
how many classes, names and files were read. That is the difference between 'this mod has no such
thing' and 'the archive was never looked at', and it is the first thing to check when a jump you
expected is missing.
A named random pool (random[VR_WeaponRNG]) is the one thing that has no answer on purpose: the
engine makes one up the first time a mod writes its name, so no file declares it.
Checked before the build
The reader that finds these names runs headless against 21 groups of checks, on fixtures written the
way mods actually write: a class commented out, a replaces chain, an inherited state label, a sound
whose alias repeats its file, a server heading in CVARINFO, a lookup name mid-line, a decal in
quotes, a particledef with no body in front of a class, a brightmap, a language key with a dollar.
On a large mod the index reads 987 classes, 2010 names and 11448 files, and it asks the archive's own
listing how big each file is, so not one picture is loaded to find out it isn't text.
The guide
New page: Reading a mod's code.
Everything this fork adds is in CHANGES.md.
Download
argentforge_1.3.0_win64_portable.zip below: unpack anywhere and run ArgentForge.exe. Windows 7
SP1 64-bit and up.

