Giter VIP home page Giter VIP logo

neogf's Introduction

NeoGF

NeoGF is a library of tools for GameCube and Gotcha Force.

This project is still under "heavy" development. It not yet 100% ready to use.

Do not hesitate to contribute.

If you want more infos about the game, go read our Gotcha Force Wiki.

gcmtool

Python3 script for unpack/pack/rebuild GCM/iso file format. This tool can rebuild FileStringTable (FST) of GCM and patch boot.bin with a new apploader.img, boot.dol, add/remove/edit folder and files of the game. MIT License.

afstool

Python3 script for unpack/pack/rebuild AFS file format. Rebuild of Table of content (TOC) and Filename directory (FD) is possible with full controll of every parameters. MIT License.

doltool

Python3 script for manipuling dol file format. This tool can stats with all informations from dol header and patch dol .text and .data using a list of write Action Replay code in an formated .ini file. MIT License.

pzztool

Python3 script for unpack/repack unpzz/pzz and uncompress/compress of PZZ archive. Handle also ARZ files decompression. MIT License.

mdttool

Python3 script for unpack/pack MDT file format. Allow to edit texts files extracted. MIT License.

mottool

Python3 script for unpack/pack MOT file format. MIT License.

data

CSV and datas for Gotcha Force game.

doc

Documentation about reverse engineering Gotcha Force.

neogf's People

Contributors

gglinnk avatar rigodron avatar tmpz23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

neogf's Issues

[doltool.py] Todo for 0.1.0

doltool.py

  • Add mask for first byte 01FFFFFF to get address (and allow 03 and 05 in regex)
  • Control patching length to avoid dol segment overflow on next segment.
  • Add tests for --patch-action-replay
  • Add standard comments
  • Add system to patch out "not in existing sections space" action replay codes:
    • Add an --analyse-action-replay command to show stats on the file and memory section to add if not in already mapped virtual space
    • Add -sr command to add automaticly new section for unmapped arcodes
    • Add tests on -sr command
  • Add a --add-section command to allow adding a Null initialised .data or .text section usefull for -par command
  • Add a command to parse addresses with data dump as hex for patching.

Todo for 0.1.1

afstool.py

  • Implement empty blocks handling for --rebuild (afs_rebuild.csv entry with fields==2)
  • Remove FD last 4 bytes patched when patching length in pack and add a specific method for patching according to the content type of this attribute like specified in the afs_rebuild.conf. (length / offset-length / constant / unknown)

[mottool.py] - Todo for 0.18.0

mottool.py

  • Redact .md
  • Create mottest.py with basic unpack tests on all embedded afs files
  • Basic review of mottool skeletton.
  • Create pack

[gcmtool.py] Todo for 0.2.0

gcmtool.py

  • Add custom exceptions and tests for it
  • Add pack collision detection system
    • apploader size overflow
    • dol size overflow
    • fst size overflow
  • Add standard comments
  • Add commands & stats for patching GCM system infos: (.ini / conf file ?)
    • boot.bin: (disk header)
      • gamecode: consoleId / GameCode / CountryCode
      • maker code
      • disk number
      • game version
      • audio streaming flag
      • stream buffer size
      • DVDMagicWord
      • game Name
      • dol offset
      • fst offset
      • fst len
      • fst max len
      • user position
      • user length
    • bi2.bin: (disc header information)
      • debug-monitor Size
      • Simulated Memory Size
      • Argument offset
      • Debug flag
      • Track location
      • Track size
      • country code
      • total disks
      • longFileNameSupport
        padSpec ?
      • dollimit (4MB - unlimited)
    • apploader
      • version
      • entry point
      • size
      • trailer size
  • Add system.conf documentation with formats and limits
  • Rebuild fst command
    • Add conf handling
    • Add user position and user length patch

[gcmtool.py] - Todo for 0.3.0

When using AFS adx / sfd are aligned to 0x800. But some games pack audio and video files directly in the GCM iso file. This could lead to bugs because of a bad align.

  • Implement align with wildcards in sys/align.csv

[afstool.py] Todo for 0.2.0

afstool.py

  • Add standard comments
  • Security enhancement - restrict files extraction on root folder only
  • Fix FD name handling - add folder creation and path operators (G2GJB2 - Gundam JAP)

Todo for 0.1.0

afstool.py

  • Add the documentation on the main md.
  • Implement --stats command.
  • Implement --pack with updating of files in the AFS using next file offset.
  • Implement --rebuild using afs_rebuild.conf autogenerated file.

afstest.py

  • Add full --pack
  • Add full --rebuild tests.

[pzztool.py] Todo for 0.15.0

pzztool.py

  • Implement -di everywhere.
  • Add a "counter" in the tests.
  • Remove trailing Null byte when decompressing .arz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.