Skip to content

Changelog

Sören Zapp edited this page Sep 6, 2024 · 37 revisions

v3.1.15: Sep 6, 2024

  • Revert invalid-spell-fix partially to avoid critical bug

v3.0.15: Sep 6, 2024

  • 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.

v2.9.15: Jun 10, 2024

v2.9.14: Jun 5, 2024

  • Fix patch flags initialization on loading (hotfix)

v2.9.13: Jun 4, 2024

  • Fix basic loader to correctly link Ninja (hotfix)

v2.8.13: Jun 3, 2024

  • 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

v2.7.12: Sep 5, 2021

v2.7.11: Sep 5, 2021

v2.6.10: Apr 24, 2021

  • Support the latest changes of LeGo
  • Improve setting and handling of non-persistent NPC
  • Verify VDF more thoroughly

v2.5.09: Feb 26, 2021

  • Supply ending divider symbol (analogous to start divider)
  • Do not go beyond the patch symbols (ending divider symbol) when manipulating NPC and infos

v2.4.09: Feb 6, 2021

  • 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

v2.3.08: Jan 27, 2021

  • Fix script initialization issues in Gothic 1
  • Avoid looping on loading re-added patches that contain frame functions

v2.3.07: Jan 11, 2021

v2.3.06: Jan 3, 2021

v2.2.05: Dec 19, 2020

v2.2.04: July 20, 2020

  • Support the latest changes of LeGo (i.e. hotfix for latest change)

v2.2.03: July 19, 2020

  • Support the latest changes of LeGo (i.e. fix hooks of external engine functions)

v2.2.02: June 21, 2020

  • 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

v2.1.01: May 20, 2020

  • Add workaround for Parser Extender
  • Supply index of patch symbols by each patch (details)

v2.0.01: Nov 17, 2019

  • 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

v1.2: Mar 23, 2018

  • Fix rare bug in animation ninja

v1.1: Mar 14, 2018

  • Ninja for Gothic 1
  • Re-implementation of finding files: old VDFS no longer used = more stability and faster loading times
  • Minor fixes

v1.0: Mar 7, 2018

  • 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

Technical Details

Applications and Examples
    Add New NPC
    Set AI Variables
    Add New Dialogs
    Add New Spells
    Add New World
    Translation Patch

Debugging
    Console
    Logging

Installation
    Requirements
    Instructions

Troubleshooting
    Is Ninja Active
    Is Patch Loaded
    Error Messages

Download

Checksums
    Setup
    In-Game

Changelog

Support this project  

Acknowledgements

Contact and Discussion

Clone this wiki locally