Skip to content

Ikarus

Ikarus is a Daedalus library for Gothic. It exploits the interpreter to allow arbitrary memory access and defines tonne of useful functions for interfacing with the engine.

Contacts
Author Sektenspinner & contributors
GitHub Ikarus
Forum Ikarus

Author Note (by Sektenspinner)

This script package is not called Ikarus for nothing:

One can leave the boundaries of Daedalus behind, but may also crash and burn. For instance, reading from invalid addresses won't trigger a zSpy warning but will result in a desktop crash with an Access Violation. This is not a reason to panic but requires a tolerance for frustration (which can be useful for scripters in general).

Of course, such spectacular-looking errors can be fixed, and with focused and systematic work, something sensible can be achieved.

In short: Extra care is needed! A bug that leads to a crash is not something you want in the release version. But if you work cleanly and test extensively, it's not such a big deal.

A good friend in debugging crashes is undoubtedly PrintDebug. It allows sending messages to zSpy (for example, to narrow down where the crash is occurring). It's worth enabling debug messages by MEM_SetShowDebug and the text filter (Options -> Textfilter) in zSpy.

Note

Ikarus is hosted on GitHub and the documentation is built in. The translation is planned.