I guess these images came from the wipeout 3 'kleber' website.
Printable View
Hi,
@aybe : the following files are used in W1/WOXL :
- TRV : contains all track vertices (x, y, z 3D points)
- TRF : contains all track faces. basically an array of indexes that references the vertexes in TRV file. This allow same vertices to be shared between triangles (as XPand explained). All objects around the track (tunnels, mountains, bridges, trees, ...) are stored separately, in the SCENE.PRM file.
- TRS : track sections. this is a double linked list of 3D vertices that represent the track curve. in other words, a list of points that follow the track.
This is used for lot of things :
- physics : collision is performed only with triangles (track faces) in current section (where the player is), not the whole track.
- rendering : each section contains a list of 3D objects to display (precalculated before). So, the game only render triangles visible from player position (occlusion culling).
- game AI + autopilot (CPU ships knows which points to follow)
- checking who is 1st , 2nd (ranking)
- checking if player passed over a weapon / boost / repair tile, ...
- ...
that totally makes sense, I was getting confused with PRMs but tracks are not PRMs, thanks :D
- - - Updated - - -
Hi, thanks, that's really what I was looking for and is going to keep me busy for a while ! :D
I am close to get flat/textured models done and once it is I'll attack the tracks.
Have you tested the PBPunpacker and others I have posted ? (feedback appreciated)
I finally got textured objects working but I do have a strange effect, I can see through the model:
Attachment 9471
Any ideas on what is causing this ?
Basically I use exactly the same code since those PRM structs are identical except that when it is a face, there is only one color; I am starting to wonder whether I mis-understand the logic of faces ... idk :frown:
thanks :)
EDIT : was my fault, SpriteBatch messes the GraphicsDevice, proper states should be restored before drawing :g
It's probably because back face culling is activated, and you are rendering triangle in the opposite order.Quote:
I can see through the model
Try reverting the order you render triangle vertices (CW vs CCW). It can also depend of a flag inside the model.
That's pretty neat! I actually rebuilt the ships from scratch a few years ago, but it was through working my way through broken texture fragments and meshes that vincoof managed to extract from the graphics buffer, so some bits were off:
http://fc01.deviantart.net/fs71/f/20...25-d58ah2v.jpg
That's a really great render :clap :clap :clap
Hey,
just IDA-ed the MAC OS X of Wipeout and there are pretty cool things in it such as the name of subs:
Attachment 9503
seems like they forgot to obfuscate it !
@aybe : that is really cool.
C/C++ is always sort of "obfuscated" anyway (unlike C#/Java or more high level languages).
I think what happened is this : the game exe which is released for MAC OSX version is compiled in debug mode (by mistake probably or because MAC OS X C/C++ include that by default). This is probably what is used by IDA. or maybe RTTI is turned on (this is something similar to reflection in C#).
By looking at methods names it confirms one theory we discussed before : most objects around the track are animated done using custom, hardcoded methods (instead of being defined by data in PRM files).
EDIT : could you maybe post a full list of all methods (here or by PM?) thanks.