GithubHelp home page GithubHelp logo

rainchus / ttyd-utils Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jdaster64/ttyd-utils

0.0 0.0 0.0 18.26 MB

Utilities & documentation for Paper Mario: TTYD.

License: GNU General Public License v3.0

Python 100.00%

ttyd-utils's Introduction

Jdaster64's PM:TTYD Utils & Docs (latest update: 2023-04-07)

Credits

  • PistonMiner for the TTYD scripting disassembly tool, ttydasm. (GitHub repo here.)
  • PistonMiner and Zephiles for their contributions to the symbol maps, including nearly all of the main binary's .text symbols.
  • Both of the above, Jasper, SolidifiedGaming, and others who've helped with TTYD documentation elsewhere.
  • Rain for writing the setup.py script to make setting up the TTYD utilities easier, as well as sort_events_by_prefix.

Contents

  • docs:
    • ttyd_structures_pseudocode - Notes on various TTYD structure layouts / enums, mostly for battle-related stuff.
  • resources:
    • us_symbols.csv - A near-complete symbol table for the US retail version of TTYD, including some type information (including marking ~all evts).
    • eu_symbols.csv - Same for the European / PAL version.
    • jp_symbols.csv - Same for the retail JP version.
    • Text files containing TTYD's battle units' and items' names in ID order, one per line.
    • A dump from an old curated table of symbol diffs between the JP demo and US retail versions of TTYD, used to locate individual functions / data / class instances (was used for older Python scripts)
  • source:
    • jdalibpy:
      • General command-line flag (flags) & binary memory view utilities (bindatastore, and its crustier brother bindump for the old utils).
      • A couple unrelated tools I use occasionally on the command-line:
        • conv - Converts between various numeric and datetime formats.
        • rngutil - Simulates TTYD's (and a few other games') random number generators.
    • TTYD utility scripts: (explained more fully in source/README.md)
      • setup - Runs all the important scripts end-to-end.
      • dump_sections - Provided .dol/.rel files from TTYD, dumps their individual sections.
      • symbol_to_maps - Converts a symbol table to .MAP files and symbol files for PistonMiner's ttydasm tool.
      • extract_events - Exports all labeled evts in a symbol table to text files using ttydasm.
      • extract_classes - Exports all labeled instances of various structures to .csv files, one for their fields and one for byte representations.
      • map_to_symbols, annotate_map_symbols - For converting existing .MAP files for other versions of TTYD (e.g. the JP demo) to symbol tables, for use with the other scripts.
      • Optional utilities:
        • combine_event_dumps - Combines all unique event dumps from extract_events into a single text file.
        • combine_rels - Builds custom REL files composed of symbols from one or more existing RELs.
        • sort_events_by_prefix - Separates event dumps into subfolders based on their prefix.
    • old_utils:
      • Were used for some of the same purposes as the newer utilities, but much messier and generally less fully-featured.

ttyd-utils's People

Contributors

jdaster64 avatar rainchus avatar

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.