Grand Theft Auto: Chinatown Wars brings the series to the Nintendo DS with a story involving Triads in Liberty City. While not the first game in the series for a Nintendo system, it was a major one, though a PSP port followed just a few months later.
Symbol Table#
Found only in the European version is a file, gtads-map.bin, which contains a symbol table with the name of every function, their address locations and which overlays each one is stored in. This also includes the function names for the game's libraries.
The following is a imhex pattern to decode the contents of this file:
#include <std/core.pat>
#include <std/string.pat>
struct Header {
u32 sectionCount;
u32 stringTableOffset;
u32 symbolCounts[sectionCount];
};
Header header @ 0x00;
fn string_base(u128 offset) {
return 0x08 + header.stringTableOffset;
};
struct Symbol {
u32 address;
u32 size;
std::string::NullString *name : u32 [[pointer_base("string_base")]];
};
struct Section {
Symbol symbols[header.symbolCounts[std::core::array_index()]];
};
Section sections[header.sectionCount] @ sizeof(header);
|
The Grand Theft Auto series | |
|---|---|
|
2D Universe | |
|
Windows |
Grand Theft Auto • London 1969 • Grand Theft Auto 2 (Prototype) |
|
PlayStation |
|
|
Game Boy Color |
|
|
Dreamcast |
|
|
3D Universe | |
|
Windows |
Grand Theft Auto III (Definitive Edition) • Vice City (Definitive Edition) • San Andreas (Definitive Edition) |
|
PlayStation 2 |
Grand Theft Auto III • Vice City (Prototype) • San Andreas • Liberty City Stories • Vice City Stories |
|
Xbox |
|
|
Game Boy Advance |
|
|
PlayStation Portable |
|
|
Android, iOS |
Grand Theft Auto III (Definitive Edition) • Vice City (Definitive Edition) • San Andreas (Definitive Edition) • Liberty City Stories |
|
PlayStation 3, Xbox 360 |
|
|
HD Universe | |
|
Nintendo DS |
|
|
PlayStation Portable |
|
|
PlayStation 3, Xbox 360 |
|
|
Windows |
|