Skip to content

Tomotz/Wc3Utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

143 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Libraries and utilities for WC3 map developers

This library contains all the utilities I created for developing wc3 maps that are in a mature enough state to share with others. It also contains all the depandencies needed by my libraries, and some tests.

DebugDumps -

Debugging tool for investigating desyncs by logging stacktraces, recently executed functions, active timers, and context-switching function calls. Automatically dumps diagnostic information when a player leaves the game. https://www.hiveworkshop.com/threads/debugdumps-desync-debugging.357626/

StringEscape -

Character escaping/unescaping utility that replaces unsupported characters with unprintable ones. Designed to minimize string size bloat while handling special characters that WC3's file system cannot support. Has 0 overhead for textual strings, and very small overhead for any string. Used in SyncStream and FileIO libraries

SyncStream -

An optimized version of Trokkin's SyncStream library that allows syncing a string between all players. At least two times more efficient on any data you want to send. Safely syncs arbitrary amounts of data across clients using timers to spread network packets over time, with both callback-based and blocking APIs.

FileIO -

Optimized version of file reading and writing system for WC3. Provides Save and Load functions with character escaping support, allowing any arbitrary data to be written and loaded back.

Interpreter -

CLI tool that connects to your running WC3 game via terminal, enabling you to execute Lua code dynamically during gameplay or replay. Allows live debugging and function reimplementation without restarting the game. https://www.hiveworkshop.com/threads/wc3interpreter.366724/

LogUtils -

Logging system with memory-buffered writes, automatic file rotation, and replay-specific logging modes. Provides print-like interface (LogWrite) for debugging with minimal performance impact. https://www.hiveworkshop.com/threads/logutils.357625/

MiscUtils -

Collection of small utility functions including an improved ExecuteFunc hook (coroutine-based with argument support), game status detection (online/offline/replay), elapsed game time tracking (GetElapsedGameTime) and HandleChatCmd which parses chat commands starting with -

About

Gerenric utilities for wc3 lua maps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •