Leeds Engine

Revision as of 13:44, 7 July 2018 by Spaceeinstein (talk | contribs) (contributions from The Hero)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The engine Rockstar Leeds used for Grand Theft Auto: Liberty City Stories and Grand Theft Auto: Vice City Stories is derived from RenderWare. Most of the functions have the same name except Rw/Rp/... are replaced by Rsl. Also some RW objects were renamed:

 RwFrame            -> RslNode
 RpAtomic           -> RslElement
 RpClump            -> RslElementGroup
 RwTexDictionary    -> RslTexList
 RpHAnim(Hierarchy) -> RslTAnim(Tree)

Furthermore RslGeometry conatains no platform independent data like RwGeometry does but only PSP or PS2 specific data. The iOS/Android versions of GTA Liberty City Stories use PS2 geometry that is converted to OpenGL geometry at runtime. Unlike RW Rsl has no plugin system, instead all data that is stored in RW plugins is hardcoded in the respective object's struct.

While the stream file formats (DFF and TXD) are similar to the real RenderWare formats, they're not the same, especially since RslGeometry and RwGeometry are so different. The PSP and PS2 versions don't ship with DFF and TXD files (and many other files for that matter). Instead they use files in relocatable format which are raw compacted memory contents with relocated pointers. All versions of these games use relocatable chunks for the world system, which is unique to GTA Liberty City Stories and GTA Vice City Stories.