Warband Refined and Enhanced Compiler Kit

by Lav·v0.610b3·Updated 2019-01-20

Warband Refined and Enhanced Compiler Kit enhanced compiler kit

Screenshots 1 screenshots

About this mod Machine translation

Warband Refined and Enhanced Compiler Kit enhanced compiler kit

Chapter Refined & Enhanced Compiler Toolkit (w^.-[r.ê.c.k.]

WRECK description and features

W.RECK is designed to replace the module system compiler provided by Taleworlds, offering significantly improved performance, enhanced error reporting and some advanced features that may be useful in Warband mod development.

Basic WRECK functions:

The compilation speed is several times higher than that of vanilla compiler.

WRECK actually detects and reports many potential errors that are not detected by vanilla compilers. Additionally, unlike vanilla compilers, WRECK does not flood the screen with error messages due to a single error.

WRECK provides modders with tools to easily change item modifiers, game UI strings, and user prompts, which can be very useful at times. To do this, it introduces three new optional modules: module_item_modifiers.py, module_ui_strings.py and module_user_hints.py, which are compiled into Data/item_modifiers.txt, languages/en/ui.csv and languages/en/hints.csv files respectively. . If a module file is missing from the module system, no file will be generated (making Warband fall back to standard files).

Advanced WRECK functionality, only available after correct integration with the module system (see "Integration" chapter below):

The Vanilla compiler requires two sets of entity references: the static reference contained in the ID_*.py files (icon_player) and the reference reference calculated at compile time ("icon_player"). This creates many problems. For example, it's not possible to simply add a new icon and a new party that will use that icon: the modder has to add a new icon, compile the module to regenerate the ID file, and then be able to add the new party. WRECK solves this problem by introducing a dynamic reference (icon.player) that can be used freely anywhere, replacing the two types of vanilla references. Note that WRECK adheres to the standard Warband prefix and strings are quoted as s. <string_name> instead of str. <string_name>. This is the only deviation from the scheme, since str is a global keyword in Python.

Global variables and local variables can also use this syntax, ":variable" becomes l.variable, and "$variable" becomes g.variable.

What's more, the new dynamic references can be used freely in mathematical expressions. As long as an expression can be evaluated at compile time, it will be evaluated at compile time and the calculated value will be used in the generated code.

To extend this functionality even further, it is actually possible to use mathematical expressions containing runtime variables (local, global, registers) within the expression of a code block. For such expressions, the compiler will automatically generate module system code that will evaluate the mathematical expression and insert it into the code, completely transparent to modders. Note that, for obvious reasons, it is not recommended to use this feature within conditional actions that are part of this_or_next action blocks.

The Vanilla module system relies on the header_skills.py file to properly declare skill-related constants, which makes changing game skills unnecessary as any changes to module_skills.py must be mirrored manually in header_skills.py. The WRECK compiler automatically and dynamically calculates all required constants.

Dynamic references (imod.<modifier> and imodbit.<modifier>) can be used instead of vanilla imod_* constants. [/li]

[li] WRECK will transparently generate skl_*, knowing _*_*, imod_* and imodbit_* constants from module files for backward compatibility.

WRECK provides support for a fairly advanced plug-in system. It is now possible to create plug-in files that can include all types of module system data, inject code and data entries into existing module systems, extend the operation syntax and perform arbitrary processing of module data. Plugin functionality is described in more detail below.

The module system has re …

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. There is no universal mod manager for this game: some mods replace game files directly, some go into a game-specific Mods folder, and some need a game-specific community loader or tool first — follow the bundled readme.
  3. Place the files exactly as the readme says; mods with listed dependencies need those installed too.
  4. Launch the game to confirm it loaded; some games require enabling mods in settings or an in-game mod menu.

Install locations vary a lot between games and mods — the bundled readme is the most reliable guide.

File & checksum

Filename
Warband Refined and Enhanced Compiler Kit 增强编译器套件
File size
1.2 MiB