[v1.0.2] Mod Compatibility Checklist

Post your example zscripts/ACS scripts/etc here.

[v1.0.2] Mod Compatibility Checklist

Postby m8f » Tue Mar 16, 2021 9:37 am

This is not strictly a script library, this is a development resource.

Mod Compatibility Checklist (MCC) is a GZDoom add-on that is designed to:

  • help modders make more robust mods;
  • help players make more elaborate bug reports.

Download
Source code
This mod is a part of m8f's doctor's bag.

MCC consists of two parts: logging suspicious events and simulating them for testing purposes.

Features

Logging

  • if player becomes NULL;
  • if thing in WorldEvent becomes NULL;
  • if an enemy or a weapon doesn't have a tag;
  • if player's current weapon is NULL;
  • if player has no weapons;
  • if an event handler is defined but not used.
Logger is set up so it catches suspicious events from almost all other event handlers. If MCC can't catch events from an event handler, a notice to change load order is displayed.

Simulating

  • Critical: make player NULL (even base game doesn't survive this event);
  • Important: make a WorldThingSpawned WorldEvent that has NULL thing;
  • Important: make player's current weapon NULL;
  • Important: take away all weapons from the player;
  • A command to call all Important events simultaneously (for faster testing);
  • Cosmetic: spawn a weapon and a monster with no tags (this event is mostly used to test MCC itself).
Commands can be viewed in keyconf.txt lump, or in GZDoom console by pressing tab after typing mcc-. All commands have mcc- prefix and descriptive names.

Further development

What else can I log? What problems other mods did cause for you?
Last edited by m8f on Wed Mar 24, 2021 7:56 am, edited 1 time in total.
User avatar
m8f
dreamer
 
 
 
Joined: 29 Dec 2017
Location: Siberia (UTC+7)
Discord: m8f#0629
Github ID: mmaulwurff
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit

Re: [v1.0.2] Mod Compatibility Checklist

Postby m8f » Wed Mar 24, 2021 7:55 am

Update: v1.0.2.

Changelog since v1.0.0:
- fixed player null check;
- fixed static event handlers detection;
- removed player checks from CheckReplacement and CheckReplacee events.
User avatar
m8f
dreamer
 
 
 
Joined: 29 Dec 2017
Location: Siberia (UTC+7)
Discord: m8f#0629
Github ID: mmaulwurff
Operating System: Debian-like Linux (Debian, Ubuntu, Mint, etc) 64-bit


Return to Script Library

Who is online

Users browsing this forum: No registered users and 0 guests