Giter Site home page Giter Site logo

melee-re's Introduction

This is a collection of scripts and technical documentation used for analyzing Super Smash Bros. Melee. Right now there basically three or four goals for this project:

  • Have tools for walking function tables and other data structures, for automatically generating symbols used to annotate disassembly
  • Approach a complete symbol map for NTSC v1.02
  • Collect documentation on various game implementation details, data structures, etc.
  • Collect various other tools for understanding the game

Documentation

Table-of-Contents
Notes on the DOL/memory layout
Notes on various data structures/function tables
Notes on Melee's debug menu functionality
Notes on Melee's input polling

Function Table Analysis (7201 functions named so far)

Note: If you'd like to see a copy of my whole symbol map, you can look at meta_GALE01.map. Note that this map may not include the latest automatically-generated symbols from the analysis scripts. The contents of this map come from:

The bin/analysis/ directory contains scripts which are intended to be used with a Dolphin ram-dump and GALE01 symbol file. These scripts will walk various function tables and produce symbols. They currently expect that you move a ram.raw and GALE01.map into the directory, in case you want to run them on your own ram-dump and map.

The function_table_analysis.map in this directory contains my copy of all script output which should result in a list of unique functions. This list should be free of duplicates, but it's always possible that I may have missed something, so keep that in mind if you're merging this with your map.

Many functions are re-used across/within different tables. The process of pruning duplicate symbols is complicated right now: especially considering that these scripts are somewhat hacky at the moment. The re-use of functions across different tables often encodes certain decisions about how the game was implemented, and sometimes these relationships are not obvious, which makes naming the actual symbols kind of difficult. There are a lot of cases where, in the absence of a more "generic" name for some symbol, I've opted to simply rename symbols with the set of table indicies or ID values that they're used across.

melee-re's People

Contributors

eigenform avatar psilupan avatar

Stargazers

KELLZ avatar jams avatar Larson T. avatar bperris avatar salmoonlight avatar Daryl Pinto avatar Nigel Haney avatar Jacob Johnson avatar Philippe De Blois avatar Aidan Walz avatar Johnny Urosevic avatar Robin Avery avatar Jacob Settlemyre avatar beardman avatar Jordan avatar  avatar Brit Butler avatar Gurvan Priem avatar caioicy avatar Ed_ avatar Riley Mione avatar Robert Peralta avatar Preethesh Puthran avatar Jordan Richards avatar  avatar UnclePunch avatar Joel Schumacher avatar Dom Hynes avatar veryjos avatar Pablo Rivero avatar Will Blackett avatar Nacho Verdón avatar Jonathan Haylett avatar Nikhil Narayana avatar Skyler avatar  avatar

Forkers

nikhilnarayana

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.