ECWolf and LZWolf modding is handled differently to classic Wolf3D modding, utilizing the editor SLADE to create a .pk3 file with the contents of the mod in it. Instead of editing the source code, text files containing scripting are put inside the .pk3 to be run by the game.
In these engines, the position and display of the status bar and items on it is handled within one of the files inside a pk3. This part of the guide assumes you already know the basics of setting up and modding an ECWolf project in SLADE.
This step could become redundant in future, when ECWolf updates to handle the status bar differently. For now (As of 2023) though, this is the way to do it.
Inside of your .pk3 file, create a new text file called latchcfg.txt. This file will handle variables similar to the way LatchNumber() works in DOS/Wolf4SDL.
The variables that can be adjusted are as follows
// Ammo
ammoenabled
ammodigits
ammox
ammoy
// Current Floor
floorenabled
floordigits
floorx
floory
// Health
healthenabled
healthdigits
healthx
healthy
// Keys
keysx
keysy
// Lives
livesenabled
livesdigits
livesx
livesy
// BJ's Face
mugshotx
mugshoty
// Score
scoreenabled
scoredigits
scorex
scorey
// Current Weapon
weaponx
weapony
// Items (As used in Super 3D Noah's Ark, and Mac Wolf3D)
itemsenabled
itemsdigits
itemsx
itemsy
Each set of variables works with a specific element of the status bar, and generally will cover four things:
- enabled - Whether or not the particular element is shown. 1 means enabled, 0 means disabled. Example: livesenabled = 0 would disable the display of lives.
- digits - How many digits of the number to display.
- x - The horizontal co-ordinate that the element will be displayed.
- y - The vertical co-ordinate that the element will be displayed.
Each variable will take a numerical input to know what to do. If it is not included in your mod's latchcfg.txt, then the default game's setting will be used.
An example of the numerical inputs, for displaying ammo:
ammoenabled = 1 // Enables ammo. 0 would hide it (Though it is still tracked)
ammodigits = 2 // 2 will display ammo up to 99, 3 will show 999, etc.
ammox = 27 // Sets the horizontal co-ordinate for ammo to 27, the default for Wolf3D.
ammoy = 16 // Sets the vertical co-ordinate for ammo to 16, the default for Wolf3D.
If that were your latchcfg.txt file in your pk3, you could do something like disable the display of the current level by simple adding a line as follows
ammoenabled = 1 // Enables ammo. 0 would hide it (Though it is still tracked)
ammodigits = 2 // 2 will display ammo up to 99, 3 will show 999, etc.
ammox = 27 // Sets the horizontal co-ordinate for ammo to 27, the default for Wolf3D.
ammoy = 16 // Sets the vertical co-ordinate for ammo to 16, the default for Wolf3D.
floorenabled = 0 // This will hide the display showing the current level.
ECWolf reads these files to see what has changed, and will automatically use defaults for anything not specified (Depending on the game the mod is being run through)