summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md54
1 files changed, 48 insertions, 6 deletions
diff --git a/README.md b/README.md
index 19a9ae08..d2dcb4ac 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,12 @@ The aim of this project is to reverse GTA III for PC by replacing
parts of the game [one by one](https://en.wikipedia.org/wiki/Ship_of_Theseus)
such that we have a working game at all times.
-Apparently you can download a binary of the latest version
-[here](https://ci.appveyor.com/api/projects/aap/re3/artifacts/bin%2FReleaseCI%2Fre3.dll?branch=master).
+Apparently you can download a binary of the latest version here:
+[Debug](https://ci.appveyor.com/api/projects/aap/re3/artifacts/bin/DebugCI/re3.dll?branch=master&job=Configuration%3A+DebugCI),
+[Release](https://ci.appveyor.com/api/projects/aap/re3/artifacts/bin/ReleaseCI/re3.dll?branch=master&job=Configuration%3A+ReleaseCI).
+
+Build status:
+[![Build status](https://ci.appveyor.com/api/projects/status/hyiwgegks122h8jg?svg=true)](https://ci.appveyor.com/project/aap/re3/branch/master)
Re3 starts the script main_freeroam.scm by default. Make sure you copy it to your data directory.
@@ -20,6 +24,7 @@ to reverse at the time, calling the original functions is acceptable.
This is a list of some things that have been reversed to some non-trivial extent.
Not everything is listed, check the code.
+(TODO: keep this list at least a bit up to date...)
```
CPool
@@ -48,6 +53,11 @@ CPathFind
CCam
CParticle
CParticleMgr
+CPointLights
+CCoronas
+CAntennas
+CClouds
+CHud
```
# Low hanging fruit
@@ -75,9 +85,12 @@ functionname(args)
if(a == b){
s1;
s2;
+ }else{
+ s3;
+ s4;
}
if(x != y)
- s3;
+ s5;
}
type functionname(args)
@@ -85,9 +98,12 @@ type functionname(args)
if (a == b) {
s1;
s2;
+ } else {
+ s3;
+ s4;
}
if (x != y)
- s3;
+ s5;
}
```
@@ -101,14 +117,31 @@ type functionname ( args )
s1;
s2;
}
- if ( x != y )
+ else
{
s3;
+ s4;
+ }
+ if ( x != y )
+ {
+ s5;
}
}
```
-Indentation is done with TABS.
+i.e.
+
+* Put the brace on the same line as control statements
+
+* Put the brace on the next line after function definitions and structs/classes
+
+* Put an `else` on the same line with the braces
+
+* Don't put braces around single statements
+
+* Put the function return type on a separate line
+
+* Indent with TABS
As for the less cosmetic choices, here are some guidelines how the code should look:
@@ -128,6 +161,8 @@ since `4` will be used in other places and you can't easily see where else the e
* don't even think about using win32 types (`BYTE`, `WORD`, &c.) unless you're writing win32 specific code
+ * declare pointers like `int *ptr;`, not `int* ptr;`
+
* As for variable names, the original gta source code was not written in a uniform style,
but here are some observations:
@@ -142,3 +177,10 @@ but here are some observations:
* do *not* use `dw` for `DWORD` or so, we're not programming win32
* Generally, try to make the code look as if R* could have written it
+
+# Environment Variables
+Here you can find a list of variables that you might need to set in windows:
+```
+"GTA_III_RE_DIR" * path to "gta3_re" game folder usually where this plugin run.
+"GTA_III_DIR)" * path to "GTAIII" game folder.
+```