Leeds Engine

From GTAMods Wiki
Jump to navigation Jump to search

The engine Rockstar Leeds used for Liberty City Stories and 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 LCS 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 (TODO: describe the formats in detail). 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 (TODO: describe details). All versions of these games use relocatable chunks for the world system, which is unique to LCS and VCS.