LLDM-Doom-Modding / ZChecker

A universal actors debug and control in-game tool for modern *ZDoom-family ports.
GNU General Public License v3.0
7 stars 0 forks source link
debugging-tool doom gzdoom lzdoom qzdoom tool toolkit vkdoom

A universal debugger and actors exposition tool for G-/Q-/LZDoom written in ZScript. Minimal engine version is GZDoom 3.3.1, tested up to GZDoom 4.12.2.


ZChecker postulates (guarantees):

  1. No external object can be changed without direct instructions from the user.
  2. The stability of the project must be sufficient for it to be included in the permanent autoload list.
  3. The speed of the game with the tools should be close to the speed of the game without it.


Trailer in English:

ZChecker v0.86 trailer on YouTube ZChecker v0.87. Console commands menu


The entire project visible to the user is separated into three large, almost independent parts:

1. Information panels (infopanels)

The main supervision and monitoring tool. Up to 3 infopanels can be displayed on the screen at a time. All settings for them can be found in the ZChecker panels menu.

Generally, actors are added to the infopanels via CCMDs like zcadd.

3 informational panels Lithium Shut up and Bleed Golden Souls 2

2. Console commands (CCMDs)

The main control tool in the game world. All console commands begin with the prefix "zc", so you can type "zc<tab>" to show them all.

ZChecker CCMDs

The most commonly used ones are:

There are many other CCMDs that include a wide range of options of controlling the Actors, providing useful information about some rarely- or non-changing datasets, partially controlling instances of the Thinker superclass.

General notes for CCMDs

Wildcards in actor class names are * (asterisk) and - (hyphen).

* may be replaced with any amount (including 0). - works the same way but will have at least one character.

Wildcards may be used anywhere and more than once in the mask, so a string like "a-a-a-a" will be parsed as "ArachnotronPlasma", and string "card" will list all actors whose names end with with "card". To select a specific classname from the list, you can use the :<index> or ,<index> postfixes. For example, "`shot:2`" will resolve to "Shotgun" (because first element in the list is a "ShotgunGuy" and second is a "Shotgun").

Due to the internal netevent resolution restrictions, you won't be able to provide arbitrary number of space-delimited (" ") arguments for CCMDs. So, if you want to summon a ShotgunGuy that faces away from the player, will not infight others, has a TID of 4, and a great health value, you must specify all of the extra parameters in the comma-separated list: zcsummon shotgunguy noinfight,relang:0,tid:4,hp:99999.

3. The "Everything" maps

These are test maps that have almost all of the currently loaded actors, including third party loaded modifications. All spawn settings are in the ZChecker "Everything" map menu.

Colorful Hell Shut Up and Bleed Aliens: The Ultimate Doom Reelism Gold

These maps add CCMDs with the "zcev" prefix:

Note: the alternative Everything map may be outdated in the beta versions of the project, so, if you're using one of the default, it's recommended to warp to the Everything_simple instead.


Credits

LLDM crew

Modules/API

Work with resources

Special thanks to