Giter Site home page Giter Site logo

retrogdx's Introduction

RetroGDX

The idea behind RetroGDX is to provide a library to read old game formats into data containers, which then can be used for either remakes or custom projects where the developers are lacking the skill of making assets. This approach is preferred over extracting game assets, so RetroGDX based projects do not need to ship any copyrighted assets. Common use cases would be downloading and using the demo version files, or requiring users to buy the full game for the assets.

Concept

While RetroGDX is based upon libGDX, you are not forced to use libGDX at all. The core part of RetroGDX are the format readers which do not rely on any libGDX class and can simply be used in any Java project. I however decided to use libGDX as a base, because it allows me to spend my time on the project instead of writing renderers for the 2d and 3d content, the ui, whatever. These classes will read the formats out of SmartByteBuffer objects. The major advantage is that its contents will only be parsed when you want to parse it, which saves a lot of unnecessary cpu load and allows to load assets like individual files.

Upon that the default retroGDX application core consists of a simple tree containing all the assets and a preview area. The tree is filled by scanning the folder "games" for supported games. If a game gets detected, the game class may continue to add sub-nodes for assets or containers, populating the tree even further. Every node has a preview method, which allows to either preview the asset, or show custom content.

Status

Blood & Magic

  • STF container - done
  • PAL palette - done
  • SQB text - done
  • WAV sound - done
  • ANI animation - palette mapping missing
  • TLB tileset - palette mapping missing
  • FNT font - completely missing
  • HMP music - completely missing
  • BNK soundbank - completely missing (may not contain useful assets)
  • MIF map - completely missing (may not contain useful assets)

Dominion: Storm over Gift 3

  • BIN/000 container - the BIN file has some unidentified chunks left
  • RDF container - done
  • WAV sound - done
  • SPR sprite - palette missing
  • TL2 tileset - completely missing
  • ??? unk - completely missing (the unk format in BIN)
  • ??? unk - completely missing (filetype 14-20 in 000)
  • WXM/SDC map - completely missing (may not contain useful assets)

Dune II: The Building of a Dynasty

  • PAK container - done
  • CPS image - done
  • ICN tileset - done
  • INI scenario - done
  • PAL palette - done
  • SHP spritesheet - done
  • VOC sound - done
  • WSA animation - done
  • TLB unk - incomplete (usage unknown)
  • ADL/C55/XMI/PCS/TAN/DRV/ADV music - completely missing
  • FNT font - completely missing
  • MAP unk - completely missing (related to the tileset)
  • EMC script - completely missing (may not contain useful assets)
  • ENG/FRE/GET translations - completely missing (may not contain useful assets)

Earth 2140

  • WD container - done
  • DAT image - done
  • FLC animation - done
  • INI text - done
  • MIX spritesheet - done
  • PAL palette - done
  • TXT text - done
  • SMP sound - AudioFormat must be verified (guessed values)
  • KER/PCX font - completely missing
  • MIX unk - completely missing (MIXMAX)
  • DAT map - completely missing (may not contain useful assets)

Eradicator

  • RIBD container - done
  • RAW music - done
  • SOUNDS sound - done
  • TEXTURES texture - missing palette
  • SKIES skybox - missing palette
  • PICTURES image - missing palette
  • SPR_ACTIONS spritesheet - missing palette
  • PALETTE palette - completely missing
  • DB unk - completely missing

Future Cop: LAPD

  • container - done
  • bmp image - done
  • wav sound - done
  • msx sound - AudioFormat must be verified (guessed values)
  • snds sound - AudioFormat must be verified (guessed values)
  • obj models - partialy working
  • act UNK - completely missing
  • canm UNK - completely missing
  • ctr UNK - completely missing
  • dcs UNK - completely missing
  • fnt UNK - completely missing
  • fun UNK - completely missing
  • net UNK - completely missing
  • ptc map chunk setup - completely missing
  • pyr UNK - completely missing
  • sac UNK - completely missing
  • sfx UNK - completely missing
  • shd UNK - completely missing
  • til map chunk - completely missing
  • tos UNK - completely missing
  • RPNS UNK - completely missing (may not be a file at all)

Mayday: Conflict Earth

  • PAL palette - done
  • SPR sprite - done
  • ART container - missing chunk at the beginning
  • MAP map - completely missing (may not contain useful assets)

State of War + State of War: Warmonger

  • DATA/INFO container - done
  • PS6 spritesheet - done
  • MSK unk - completely missing
  • PO1 unk - completely missing
  • PO2 unk - completely missing
  • SHA unk - completely missing
  • EDT/MAP/SRF/SRFS/TIL/TMI map - completely missing

Swarm Assault

  • DDF image container - done
  • ANI animation metadata - done
  • SDF sound container - done

War Wind + War Wind II: Human Onslaught

  • WAV sound - done
  • RES container - almost done, 000 which contains the game strings, crashes
  • D3GR spritesheet - palette missing
  • PAL pal - implementation wrong
  • DAT map - completely missing (may not contain useful assets)
  • LVL map - completely missing (may not contain useful assets)

Warcraft: Orcs & Humans

  • WAR container - done
  • CUR cursor - done
  • FLC animation - done
  • IMG image - done
  • PAL palette - done
  • SPR spritesheet - done
  • TILE/TILEPART tileset - done
  • TXT text - done
  • VOC sound - done
  • WAV sound - done
  • XMI music - completely missing
  • GUI gui - completely missing (may not contain useful assets)
  • MAP map - completely missing (may not contain useful assets)

Warcraft II: Battle.net Edition

  • MPQ container - parsing done, file decryption missing

retrogdx's People

Contributors

icereaper avatar pancho-bo avatar

Watchers

 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.