Skip to content
Jannik Vogel edited this page Jun 29, 2016 · 25 revisions

These are lists of stuff to do in OpenRW. They are just examples, the list is far from complete. If you want to work on anything please contact us on IRC first to coordinate work.

These lists are in no particular order (yet).

New features and documentation

OpenRW is far from complete. Some of the tasks which must still be worked on are listed below.

Create a list of all GTAs and their engine / data file formats

(Contact @JayFoxRox for more information!) This has been partially done but it's still far from complete. danhedron has a seperate list for hardcoded data

  • Merge these lists in a way that makes sense
  • Fill in all data
  • Add all releases to the list

Chaos level / Wanted level

  • Implement chaos level
  • Setters / getters for the wanted level
  • Implement all chaos level events
  • Implement police for each wanted level
  • Implement all related script functions

Particle systems

  • We don't currently implement any particle systems which will be necessary for a lot of ingame effects

Fire

  • Document fire behaviour (scheduled tasks for burning characters / burn duration)

Hardcoded special events

  • Medic behavior
  • Fire-truck behavior

Hardcoded vehicle features

  • Sirens for emergency vehicles
  • Firetruck spray / water cannon
  • Rhino turret
  • Yardie hydraulics
  • Taxi gives money
  • Police vehicle gives weapon
  • Ambulance gives health
  • Enforcer gives armor

2DFX system

  • Implement the 2D effects such as streetlight glow etc

Text rendering

(Contact @JayFoxRox for more information!)

  • We need clean screenshots of all ingame text locations at 640x480 resolution (with widescreen, without, and maybe also higher resolutions later) from various platforms
  • Either read the font data from the screenshots OR dump from binary / memory:
    • Used texture / font style
    • Size
    • Position
    • Alignment
    • Wrapmode
    • Timing
    • Allowed markup
    • Priorities / behavior

Tool to collect opcode information

(Contact @JayFoxRox for more information!) We need a tool to collect information from main.scm. There is already a proposed sheet to display collected data and a tool to extract some data from the script based on gta3sc (by JayFoxRox, still closed source)

  • List of threads and what starts those threads (can only be automated partially!)
  • Which thread uses which opcode?
  • Tool must be cross-platform (maybe gta3sc based?)

Script opcodes implementation for nearly all missions

Various missions don't work yet

  • Test each mission
  • Report problems as issues
  • Implement or stub missing opcodes

Cleanup

Much of the code in OpenRW is not up to par, it is either poorly designed or brittle. These are the issues that should be fixed over time to improve the code quality.

Style fixes

(Contact @danhedron for more information!)

  • We need a config for clang-format
  • Code must be reviewed after re-formatting it to make sure it's behavior didn't break.

Camera aligned Billboard rendering

Billboards are currently stretched when viewed from the top

  • Document behavior of GTA3
  • Fix the implementation

ifstream Usage

  • Fix all text-mode usages
  • long term: determine how to handle packaged & unpackaged files

TXD/DFF Loading

  • Properly store Texture Dictionary structure
  • Uncouple DFF and TXD loading from OpenGL
Clone this wiki locally