Skip to content

Argent Forge 1.3.0

Latest

Choose a tag to compare

@Xcommand Xcommand released this 24 Oct 00:19

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.

One name written in three files, offered in the order the engine reads them, with the jump back on top of the menu

What it answers

  • Classes and their parents, what replaces X points 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.
  • SNDINFO aliases and the sound files behind them, CVARINFO cvars, MAPINFO levels by both their
    map name and their lookup name, GLDEFS and DECALDEF definitions, and LANGUAGE keys 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.

A sprite frame in a state line, its picture above it and the jump to it in the menu

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.

A sound written as a path, one name rather than two, and the SNDINFO line that defines it

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.