Skip to content

An unpacker\packer for Adventure Game Studio (AGS) engine.

License

Notifications You must be signed in to change notification settings

adm244/AGSUnpacker

Repository files navigation

AGSUnpacker

A program to work with compiled Adventure Game Studio (AGS) engine resources.

It features extraction of game assets from executable (*.exe) or archive files (*.ags, *.xxx), unpacking and repacking of sprites (*.spr), previewing and changing room backgrounds (*.crm), generating translation files (*.trs, *.tra), replacing strings directly in scripts and more.

Written in .NET C#.

Supported versions

This project aims to support all officially released 2.x and 3.x AGS versions. It includes support for obsolete engines before 2.54 that have no support in publically released source code.

Original Adventure Creator 1.x and all future AGS 4.x (this includes 3.99.x) or custom versions are beyond the scope (for now).

Features

The list of features is not definitive nor full it just outlines high-level representation of what this project has or lacks at the moment.

  • Assets
    • Extraction from executable (*.exe)
    • Extraction from single archive (*.ags)
    • Extraction from multiple archives (*.xxx)
    • Packaging into executable
    • Packaging into single archive
    • Packaging into multiple archives
    • Forward conversion (upgrade) to newer engines (for old unmaintained games mostly)
  • Sprites
    • Unpacking sprites (*.spr)
    • Repacking sprites
  • Translations
    • Generation of translation file from assets
    • "Decompilation" of existing translation files (*.tra)
    • "Compilation" of translation files (*.trs)
  • Scripts
    • Scripts extraction (*.scom3)
    • Scripts injection into game data (*.dta)
    • Scripts injection into rooms (*.crm)
    • Replacing strings in scripts from translation file
    • Script disassembler
    • Script assembler
    • Script decompiler
  • Rooms
    • Preview backgrounds
    • Replace backgrounds
    • Preview room areas (walkable, regions, etc.) (?)
    • Preview room objects (?)
  • GUI
    • Preview GUI elements (?)
    • Change GUI elements (?)
  • Project structure reconstruction

Third-party requirements

AGSUnpacker.UI:

AGSUnpacker.Graphics.GDI:

Compilation

Install .NET SDK

For windows host you can use .NET 6 or .NET 8. If you're cross-compiling on linux then prefer .NET 8.

On Windows:

On Linux:

  • Depending on the distribution install either from your distro repository or follow instructions from M*.

Get source code

Clone repository:

git clone https://github.com/adm244/AGSUnpacker.git

or download master branch and unpack it.

Build using makefile

In terminal navigate to AGSUnpacker root folder and use provided makefile to build:

make publish CONFIG=Release ARCH=x64

or to compile 32-bit executables:

make publish CONFIG=Release ARCH=x86

If everything went OK you'll find compiled program in build/package folder.

Build using dotnet

If you can't use make then follow this instructions.

In terminal navigate to AGSUnpacker root folder and use this dotnet command:

dotnet publish AGSUnpacker.UI/AGSUnpacker.UI.csproj --os win -c Release -a x64 --no-self-contained -o build/package/

or to compile 32-bit executables:

dotnet publish AGSUnpacker.UI/AGSUnpacker.UI.csproj --os win -c Release -a x86 --no-self-contained -o build/package/

If everything went OK you'll find compiled program in build/package folder.

Similar projects

Other projects that work with AGS engine I am aware of:

License

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

An unpacker\packer for Adventure Game Studio (AGS) engine.

Resources

License

Stars

Watchers

Forks