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.