-
-
Notifications
You must be signed in to change notification settings - Fork 0
Changelog
- Revert invalid-spell-fix partially to avoid critical bug
- Fix symbol creation on load to avoid crash with Gothic Sequel 1.12f
- Fix unrecoverable error of Gothic's loading to safely skip equipped spell items that no longer exist. Details.
- Support the latest changes of LeGo
- Fix patch flags initialization on loading (hotfix)
- Fix basic loader to correctly link Ninja (hotfix)
- Port to 1.30 fix (Gothic II Classic) including support for Ikarus and LeGo
- Port to 1.12f (Gothic Sequel) including support for Ikarus and LeGo
- Support the latest changes of Ikarus
- Support the latest changes of LeGo
- Support additional changes in LeGo to fix PerMem initialization for Gothic 1 on new game
- Improve performance of writing patch-specific PermMem save-files
- Purge outdated handles from patch-specific PermMem save-files
- Simplify patch-specific LeGo initialization logic
- Supply patch specific index as Daedalus constant
NINJA_ID_{PatchName}
- Update author name in license
- Streamline build pipeline for faster iterations and ensure reproducible builds
- Support the latest changes of Ikarus (i.e. hotfix for latest change)
- Support the latest changes of Ikarus
- Support the latest changes of LeGo
- Adjust object inheritance checks
- Support the latest changes of LeGo
- Improve setting and handling of non-persistent NPC
- Verify VDF more thoroughly
- Supply ending divider symbol (analogous to start divider)
- Do not go beyond the patch symbols (ending divider symbol) when manipulating NPC and infos
- Support the latest changes of LeGo
- Adjust string count of parsers to avoid inline strings with duplicate names
- Improve performance of writing patch-specific PermMem save-files
- Fix script initialization issues in Gothic 1
- Avoid looping on loading re-added patches that contain frame functions
- Support the latest changes of LeGo
- Support the latest changes of LeGo
- Add checks in parser manipulation to increase compatibility
- Support the latest changes of LeGo
- Support the latest changes of LeGo (i.e. hotfix for latest change)
- Support the latest changes of LeGo (i.e. fix hooks of external engine functions)
- Write patch-specific PermMem save-files to support handles (details)
- Do not archive non-persistent logical NPC to ease patch removal
- Update setup to properly detect Union 1.0h if present
- Add workaround for Parser Extender
- Supply index of patch symbols by each patch (details)
- Remove Ninja from the patches, into a DLL for compatibility
- Remove dependency on the SystemPack
- Unify Ninja for Gothic and Gothic 2 NotR for inter-game compatible patches
- Make development of patches more intuitive
- Load and apply patches in order of their timestamps
- Allow overwriting and adding output units
- Add console command to view version and build information and loaded patches
- Increase performance by collecting the patches only once at game start
- Allow mods to ignore incompatible patches
- Add strict control over Ikarus and LeGo versions of patches for compatibility
- Supply (but don’t apply) suitably modified versions of Ikarus and LeGo, such as non-persistent PermMem handles for patches, and merging of LeGo flags on consecutive initializations
- Supply Ninja version, current mod name and index of patch symbols to Daedalus
- Log more events in the zSpy
- Detect and enable the zSpy for logging (if open)
- Add cautionary measures for adding NPC with a patch
- Remove invalid NPC objects on game loading
- Introduce minor safety checks to three external functions
- Update cutscene infos on game loading
- Keep removed Daedalus symbols (integer variables) on game loading
- Extended the list of non-overwritable Daedalus symbols
- Fix rare bug in animation ninja
- Ninja for Gothic 1
- Re-implementation of finding files: old VDFS no longer used = more stability and faster loading times
- Minor fixes
- Initial release for Gothic 2
Introduction
Virtual Disk File System
Formats
Single File Formats
Collected File Formats
Limitations to Overcome
Scripts
Animations
Output Units
Solution
Implementation
Patch Structure
VDF File Tree
VDF Header
Patch Template
Patch Validator
Inter-Game Compatibility
Inject Changes
Daedalus Scripts
Overwriting Symbols
Naming Conventions
Preserved Symbols
Initialization Functions
Init_Global
Menu Creation
Ikarus and LeGo
Initializing LeGo
Modifications to LeGo
PermMem and Handles
Daedalus Hooks
Inserting NPC
Disallow Saving
Helper Symbols
NINJA_VERSION
NINJA_MODNAME
NINJA_PATCHES
NINJA_ID_PATCHNAME
NINJA_SYMBOLS_START
NINJA_SYMBOLS…PATCHNAME
Common Symbols
Localization
Animations and Armor
Output Units
Other Mechanics
Remove Invalid NPC
Safety Checks in Externals
Preserve Integer Variables
Detect zSpy
Incompatibility List for Mods
Applications and Examples
Add New NPC
Set AI Variables
Add New Dialogs
Add New Spells
Add New World
Translation Patch
Installation
Requirements
Instructions
Troubleshooting
Is Ninja Active
Is Patch Loaded
Error Messages