1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-21 18:02:43 +01:00

Update readme informations

This commit is contained in:
Daniel Evans 2015-05-10 23:57:13 +01:00
parent c1c2d7341f
commit 228db73c7f
5 changed files with 41 additions and 231 deletions

View File

@ -1,10 +1,10 @@
# OpenRW
This is an attempt at re-implementing the GTA III game binary, adding support for more platforms
and input methods, while fixing some issues that plauge the original release.
OpenRW is a re-implementation of Rockstar Games' Grand Theft Auto III, a classic 3D action
game first published in 2001.
**REQURIES A COPY OF GTA III PC**.
Without an original copy of the game, it will not be possible to run openrw.
This project requires a legitimate copy of the original PC game data in order to run. Without
this data it will not be possible to use openrw.
## Building
@ -15,7 +15,7 @@ Dependencies:
* SFML (2.0+)
* Boost Test
Options:
Global Options:
* BUILD_TESTS — Builds the test suite
* BUILD_TOOLS — Builds the rwviewer application
@ -31,31 +31,25 @@ $ cmake ../
## Running
Once compiled, set `OPENRW_GAME_PATH` to the directory containing "gta3.exe" and run rwgame.
Once compiled, set the environment variable `OPENRW_GAME_PATH` to the directory containing "gta3.exe" and run the rwgame executable.
### rwgame
This is the game binary
* Options:
* env: OPENRW\_GAME\_PATH, must be set to the folder containing "gta3.exe"
* -w **n**, -h **n** sets initial window size
* --newgame starts a new game automatically
### rwviewer
Intended to be a tool for viewing the various game data types, such as objects and models. Currently awaiting refactoring.
This Qt application enables viewing of the game data files and models.
## Documentation
Run Doxygen on the included Doxyfile to generate documentation.
## Things to do
* Finish rwng reorganisation
* Split basic functionality from rwengine into core library.
* Clean up more of GameObject's member variables.
* Implement script debugging.
* Fix rwviewer for new paradigm.
* Fix water rendering artefacts.
## License
This program is free software: you can redistribute it and/or modify

View File

@ -1,3 +1,28 @@
# RWEngine
# rwengine
Engine code for everything from object rendering to file parsing
Rwengine contains the game data structures, the data loading routines, script virtual machine
and generic object logic, as well as a renderer implementation for OpenGL.
## Core
Implementations of platform abstraction and file system handling classes are in the core/ directory
## Data
Structures that store information about object types, cutscene data, localisation information etc
## Objects
The logic for Object types are implemented by the classes in the objects/ directory
## Loaders
Classes for loading various file formats
## Render
Implementation of a portable OpenGL renderer system lives in the render/ directory
## Script
The game script virtual machine, and the function definitions are in the script/ directory

View File

@ -1,3 +1,3 @@
# RWGame
Game executable
The game executable, handles the frontend UI drawing and menus.

3
scripttool/README.md Normal file
View File

@ -0,0 +1,3 @@
# Scripttool
Decompiles SCM files into their instructions using the same call tables as the game itself.

View File

@ -1,212 +0,0 @@
# L = local, G = Global, V = Value Type
# Opc desc, param num (- indicates optional), flags (1 = has string)
0x0000, nop, 0, 0
0x0001, wait, 1, 0
0x0002, Jump, 1, 0
0x0004, Set G to Vint, 2, 0
0x0005, Set G to Vfloat, 2, 0
0x0006, Set L to Vint, 2, 0
0x0007, Set L to Vfloat, 2, 0
0x0015, Div G by Vfloat, 2, 0
0x0018, Is G greater Vint, 2, 0
0x0020, Is G greater Vfloat, 2, 0
0x0022, Is Vfloat greater G, 2, 0
0x001A, Is Vint gequal G, 2, 0
0x0028, Is G gequal Vint, 2, 0
0x0038, Is G equal Vint, 2, 0
0x0042, Is G equal Vfloat, 2, 0
0x004D, Jump if false, 1, 0
0x004E, Terminate this script 0, 0
0x004F, Start script with args, -1, 0
0x0053, Create player, 5, 0
0x0055, Set player coordinates, 4, 0
0x0056, Is player in area 2D, 6, 0
0x0057, Is player in area 3D, 8, 0
0x0086, Set G to Gfloat, 2, 0
0x00BA, Print big, 3, 0
0x00BB, Print, 3, 0
0x00BC, Print now, 3, 0
0x00BD, Print soon, 3, 0
0x00BF, Get time of day, 2, 0
0x00C0, Set time of day, 2, 0
0x00D7, Start script, 1, 0
0x00D6, If, 1, 0
0x00DE, Is player in model, 2, 0
0x00E0, Is player in any car, 1, 0
0x00E1, Is button pressed, 2, 0
0x00E4, Locate player on foot 2D, 6, 0
0x00F5, Locate player by any means 2D, 8, 0
0x00F6, Locate player on foot 3D, 8, 0
0x00F9, Locate play. stoped onfoot 3d, 6, 0
0x0106, Locate car ped near ped 3D, 6, 0
0x010A, Is player money greater, 2, 0
0x0111, Set deatharrest state, 1, 0
0x0121, Is player in zone, 2, 0
0x014B, Create car generator, 13, 0
0x014C, Switch car generator, 2, 0
0x014D, Add Pager mesasge, 4, 0
0x0152, Set zone car info, 17, 0
0x015C, Set zone ped info, 11, 0
0x015F, Set fixed camera position, 6, 0
0x0160, Point camera at point, 4, 0
0x0164, Remove blip, 1, 0
0x0169, Set fade colour, 3, 0
0x016A, Fade screen, 2, 0
0x016B, Get fade status, 0, 0
0x016C, Add Hospital restart, 4, 0
0x016D, Add Police restart, 4, 0
0x0171, Set player heading, 2, 0
0x0176, Get object heading, 2, 0
0x0177, Set object heading, 2, 0
0x0180, Set on mission flag, 1, 0
0x0181, nop, 2, 0
0x0182, Unkown function, 2, 0
0x018B, Change Blip display, 2, 0
0x018E, Remove sound, 1, 0
0x019C, Is player in area onfoot 3D, 8, 0
0x01B4, Set player control, 2, 0
0x01C7, Don't remove object, 1, 0
0x01E8, Switch roads off, 6, 0
0x018D, Add continious sound, 5, 0
0x01F0, Set max wanted level, 1, 0
0x01F5, Get player char, 2, 0
0x0213, Create pickup, 6, 0
0x0214, has picked been collected, 1, 0
0x0215, Remove pickup, 1, 0
0x0219, Create garage, 8, 0
0x022B, Switch ped paths off, 6, 0
0x0236, Set gang car, 2, 0
0x0237, Set gang weapons, 3, 0
0x024a, Get phone, 3, 0
0x024E, Turn phone off, 1, 0
0x0256, Is player playing, 1, 0
0x0293, Get controller mode, 1, 0
0x029B, Create object, 5, 0
0x02A7, Add blip for contact point, 5, 0
0x02A8, Add blip for coord, 5, 0
0x02B4, Is player in angle area onfoot 3D, 9, 0
0x02CD, Unkown function, 2, 0
0x02DE, Is player in taxi, 1, 0
0x02EB, Restore camera jumpcut, 0, 0
0x02EC, Put hidden package, 3, 0
0x02ED, Set total hidden packages, 1, 0
0x02FB, Create crusher crane, 10, 0
0x030D, Set max progress, 1, 0
0x031A, Remove all script fires, 0, 0
0x0324, Set pedgroup info, 3, 0
0x0339, Is area occupied, 11, 0
0x034D, Rotate object, 4, 0
0x034E, Slide object, 8, 0
0x035D, Make object targetable, 1, 0
0x0363, Set vis. of. closest of type, 6, 0
0x0368, Create ev? crane, 10, 0
0x0395, Clear area, 5, 0
0x0399, Switch ped roads off angle, 7, 0
0x03A4, Thread name, 1, 0
0x03AF, Switch map streaming, 1, 0
0x03B6, Swap nearest building model, 6, 0
0x03BB, Set garage door rotate, 1, 0
0x03C6, Is collision in memory, 1, 0
0x03C8, Set camera infront of player, 0, 0
0x03CA, Does object exist, 1, 0
0x03CF, Load mission audio, 1, 0
0x03D0, Has mission audio loaded, 0, 0
0x03D1, Play mission audio, 0, 0
0x03D2, Has mission audio finished, 0, 0
0x03D8, Activate save menu, 0, 0
0x03D9, Did game save successfully, 0, 0
0x03DA, Grage camera follow player, 1, 0
0x03E5, Print help, 1, 0
0x03E6, Clear help, 0, 0
0x03EE, Can player start mission, 1, 0
0x03EF, Make player safe for cutscene, 1, 0
0x03F1, Set threat for ped type, 2, 0
0x0405, Enable phone, 1, 0
0x0417, Start mission, 1, 0
0x042C, Set total missions, 1, 0
0x0426, Unkown function, 6, 0