Nunuhara Cabbage dab8deca42 Add ainedit utility
The ainedit utility is a tool capable of modifying AIN files up to
version 12 (Rance X). As far as I know, this is the first publicly
released tool that can handle AIN files above version 7.

The basic mode of operation is as follows:

* dump the CODE section with aindump
* edit the disassembled bytecode
* assemble & insert the edited bytebode back into the original AIN file
  using ainedit

E.g.

    aindump -c -o out.jam /path/to/Rance10.ain
    $EDITOR out.jam
    ainedit -c out.jam -o out.ain /path/to/Rance10.ain
    mv /path/to/Rance10.ain /path/to/Rance10.ain.backup
    mv out.ain /path/to/Rance10.ain

ainedit is also capable of editing declarations (structures, functions,
etc.) using the JSON (-j) output from aindump.

There is currently one major deficiency in this tool: it does not
rebuild the AIN file's switch table (SWI0 section). This means that you
can't insert or delete instructions, as it would render the addresses
stored in the switch table invalid. I hope to fix this soon.

A number of changes have also been made to the aindump utility, since
these tools need to work together.
2020-02-07 19:49:39 -08:00
2020-02-07 19:49:39 -08:00
2020-02-07 19:49:39 -08:00
2019-12-01 22:04:09 -08:00
2019-12-31 17:50:40 -08:00
2019-10-06 19:35:36 -07:00
2020-01-07 22:48:29 -08:00
2020-01-07 22:48:29 -08:00
2019-10-20 21:26:51 -07:00

xsystem4

xsystem4 is an implementation of AliceSoft's System 4 game engine for unix-like operating systems.

NOTE: This is a work in progress. Some simple ADV games run more or less okay, but most games are not fully working or have game-breaking bug when run with xsystem4.

Building

First install the dependencies (corresponding Debian package in parentheses):

  • chibi-scheme [optional, for debugger]
  • meson (meson)
  • libffi (libffi-dev)
  • SDL2 (libsdl2-dev)
  • SDL2_mixer (libsdl2-mixer-dev)
  • SDL2_ttf (libsdl2-ttf-dev)
  • zlib (zlib1g-dev)

Then build the xsystem4 executable with meson,

mkdir build
meson build
ninja -C build

Running

You can run a game by passing the path to its "System40.ini" to the xsystem4 executable.

build/src/xsystem4 /path/to/System40.ini

For now, xsystem4 needs to be run in the top-level project directory (i.e. the directory that contains this README file). This will change in the future.

S
Description
No description provided
Readme
23 MiB
Languages
C 96.5%
GLSL 2.7%
Meson 0.3%
CMake 0.2%
Scheme 0.2%