Join also our Discord channel! Click here.

[Request] Wipeout HD/Fury

Post questions about game models here, or help out others!
o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

[Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Fri Jun 05, 2015 1:30 am

I was wondering if someone could make a noesis plugin or maxscript for the Wipeout HD models.
The models are in *.rcsmodel files. Here is a ship from the demo
https://www.dropbox.com/s/byn9zt17jl6ca ... s.zip?dl=0

I can get the models easy enough with hex2obj, though some kind of importer would be great since the ships have quite a few submeshes.
Any help is greatly appreciated.

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Fri Jun 05, 2015 12:15 pm

ship.JPG
You do not have the required permissions to view the files attached to this post.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Fri Jun 05, 2015 1:41 pm

Neat, I didn't know that was a thing. Slightly confusing though since I don't know too much about C, but I will try it out.
Thanks.

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Sat Jun 06, 2015 2:58 pm

Alright i'm able to get the models now, but i'm still hoping for some kind of importer.
The messes don't import at the proper places so those need manual adjusting and the meshes are ShortAll with HF UVs so manually fixing about 30+ objs is very time consuming.

I found 3 different vertex block types so far. 14, 18, and 22 with the UVs starting at 10, 14, and 18 respectively.
there is also a header at the beginning of each mesh telling how many submeshes there are and where they start and such. It also looks like the it tells the number of meshes at 0x1c and going to the offset at 0x20 will show where each is located.

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Sat Jun 06, 2015 5:29 pm

o0DemonBoy0o wrote:The messes don't import at the proper places so those need manual adjusting
yeah, that's "messing" :D
Does it apply to all submeshes of a spaceship?
the meshes are ShortAll with HF UVs so manually fixing about 30+ objs is very time consuming.
I've PMed you a quickhacked version that should handle this.

btw: there's vertex count and face indices count, too. Would make sense to create a Make_H2O project of it.
But the positioning problem has to be solved before...
Last edited by shakotay2 on Sat Jun 06, 2015 6:19 pm, edited 1 time in total.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Sat Jun 06, 2015 5:46 pm

Thanks, it works great.

An object and it's submeshes will all fit together, but the next object and meshes need adjusting to fit with the others.
It's kind of annoying finding out the exact placement of each object especially the underside of the ship.

Here is another ship and all the h2o files for it, if it's of any use.
https://www.dropbox.com/s/gnzz20a1qfi5n ... r.zip?dl=0

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Sat Jun 06, 2015 6:34 pm

o0DemonBoy0o wrote:Thanks, it works great.
yeah, that's true. :D
Tried out your Feisar H2Os with File/SaveAs Mmesh (version 0.24x required)
then used load_multi_obj_blender2.49.py from the Make_H2O project to load all created obj files at once.
An object and it's submeshes will all fit together, but the next object and meshes need adjusting to fit with the others.
Could you explain what is an "object" and what are the "submeshes" for Feisar, please?
(in "Feisar" model the pattern 83xx1010101010 to be found 41x, but only 33 H2Os?)
edit: upps, used wrong ship.rcsmodel, it's 33 for "Feisar"
It's kind of annoying finding out the exact placement of each object especially the underside of the ship.
Maybe there's a hierarchy with relative coordinates?

btw: for the Feisar the placing doesn't seem to look too bad, does it?
ok, well, see, the pilot's too deep and the cabin, that's not nice...
Last edited by shakotay2 on Sat Jun 06, 2015 8:50 pm, edited 1 time in total.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Sat Jun 06, 2015 7:11 pm

shakotay2 wrote: Could you explain what is an "object" and what are the "submeshes" for Feisar, please?
Feisar has 17 objects.
h2o 0 is object 1
1 is object 2
2 is object 3
3 is object 4
4-5 is object 5
6-7 is object 6
8-11 is object 7
12 is object 8
13 is object 9
14-20 is object 10
21 is object 11
22 is object 12
23 is object 13
24-26 is object 14
27 is object 15
28 is object 16
29-32 is object 17
ok, well, see, the pilot's too deep and the cabin, that's not nice...
Yeah, it's like the for every ship it seems. The stages use the same model format too, but I can't imagine having fix the placement of every mesh for that.

Edit: Seems i was wrong about the data a couple posts ago? The more I look at it the more I get confused.
In Feisar's ship model it says that there are only 14 objects but I found 17?

Each object starts with
00 00 00 ?? 00 00 00 00 FF FF FF FF 00 00 00 00

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Sat Jun 06, 2015 8:31 pm

o0DemonBoy0o wrote:Feisar has 17 objects.
thx! (I'll look at this after "the game is over" - Barca versa Juve)
Edit: Seems i was wrong about the data a couple posts ago? The more I look at it the more I get confused.
In Feisar's ship model it says that there are only 14 objects but I found 17?
Who is "it"? :D

Don't worry. Seems I'd 41 founds in your first model upload (they're all called "ship.rcsmodel", damned)

I've started a Make_H2O project and this is the first result for the "Feisar":
(some counts are little bit different to the ones in your H2Os)
v: 344, FI: 702, 1230
v: 344, FI: 702, 3610
v: 232, FI: 714, 5a10
v: 472, FI: 1056, 7130
v: 1264, FI: 4455, 9c50
v: 496, FI: 1083, f530
v: 1256, FI: 4749, 14510
v: 192, FI: 621, 19d60
v: 1256, FI: 4641, 1d7f0
v: 1312, FI: 2229, 23040
v: 1304, FI: 2721, 28c80
v: 912, FI: 1791, 2e830
v: 160, FI: 558, 38290
v: 72, FI: 144, 390f0
v: 1256, FI: 4542, 39c80
v: 1264, FI: 4257, 3f4d0
v: 1296, FI: 2976, 44db0
v: 1296, FI: 3150, 4a8d0
v: 1288, FI: 3222, 503e0
v: 1296, FI: 3084, 55e70
v: 384, FI: 1410, 5b990
v: 280, FI: 1098, 68820
v: 64, FI: 192, 6a100
v: 528, FI: 1443, 6a810
v: 1224, FI: 3384, 6dae0
v: 1248, FI: 2406, 74410
v: 256, FI: 621, 7af30
v: 168, FI: 561, 7f8c0
v: 40, FI: 51, 80a00
v: 1304, FI: 2607, 80f00
v: 1296, FI: 3093, 86a90
v: 1312, FI: 2202, 8c5b0
v: 552, FI: 1116, 921e0

assumed magic tables: 33
(searching for 83 xx 10 10 10 10 10 00 )
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Sun Jun 07, 2015 2:40 am

I meant the data in feisar's ship.rcsmodel

At offset 0x1C it has 0E and going to the address shown at 0x20 (0x500) it will show the start of 14 objects before going to some unknown values.

Image

Image

Maybe i'm wrong and it means something else.

there is also the 24 bytes of data at the end of each object like this
Image
Not sure if that means anything

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Sun Jun 07, 2015 9:07 am

o0DemonBoy0o wrote:Maybe i'm wrong and it means something else.
Don't think so. Great find!
From the table at 0x500 it looks like there are 14 objects:

Code: Select all

 0 v: 344, FI. 702, 1230
 1 v: 344, FI. 702, 3610
 2 v: 232, FI. 714, 5a10
 3 v: 472, FI. 1056, 7130
 4 v: 1264, FI. 4455, 9c50
	v: 496, FI. 1083, f530
 6 v: 1256, FI. 4749, 14510
	v: 192, FI. 621, 19d60
 8 v: 1256, FI. 4641, 1d7f0
	v: 1312, FI. 2229, 23040
	v: 1304, FI. 2721, 28c80
	v: 912, FI. 1791, 2e830
12 v: 160, FI. 558, 38290        obj 8
	v: 72, FI. 144, 390f0
14 v: 1256, FI. 4542, 39c80      obj 9
	v: 1264, FI. 4257, 3f4d0
	v: 1296, FI. 2976, 44db0
	v: 1296, FI. 3150, 4a8d0
	v: 1288, FI. 3222, 503e0
	v: 1296, FI. 3084, 55e70
	v: 384, FI. 1410, 5b990
21 v: 280, FI. 1098, 68820       obj 10
	v: 64, FI. 192, 6a100
23 v: 528, FI. 1443, 6a810	    obj 11
24 v: 1224, FI. 3384, 6dae0	   obj 12
	v: 1248, FI. 2406, 74410
	v: 256, FI. 621, 7af30
	v: 168, FI. 561, 7f8c0
28 v: 40, FI. 51, 80a00		    obj 13
29 v: 1304, FI. 2607, 80f00	   obj 14
	v: 1296, FI. 3093, 86a90
	v: 1312, FI. 2202, 8c5b0
	v: 552, FI. 1116, 921e0
there is also the 24[h] bytes of data at the end of each object like this
Maybe it's the translation/rotation offsets we're missing, it's 8 floats and a DW (startaddress of object's header).

Still missing: type identifier of vertex blocks (i.e. FVF, flexible vertex format)

Maybe at header offset 0x61: 0x20: 18/14
0x40: 22/18
0x80: 14/10 (just a wild guess)

edit: nope, doesn't work for 21.H2O, for example
Last edited by shakotay2 on Sun Jun 07, 2015 12:28 pm, edited 1 time in total.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Sun Jun 07, 2015 10:41 am

This bit after the start of each object might be it
Image

09 C0 = A VB size of 22
0A 50 = 18
0A E0 = 14

it's matched up with everything i looked at so far.

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Sun Jun 07, 2015 12:19 pm

yep. When it's zero I used the previous type in Make_H2O
It creates 33 H2Os automatically.

Sadly the vertex counts differ by 3 or 4 from the correct ones (which are in your uploaded H2Os).
Any ideas?
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

o0DemonBoy0o
veteran
Posts: 106
Joined: Tue Apr 03, 2012 6:02 am
Has thanked: 11 times
Been thanked: 12 times

Re: [Request] Wipeout HD/Fury

Post by o0DemonBoy0o » Sun Jun 07, 2015 1:46 pm

From what I can tell, it has something to do with the extra 00s at the end of the meshes vertex data.

Image

Maybe the verticies in the header of the object is rounded up depending on the VB size and the number of extra 00s at the end of the vertex data?

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 3155
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 847 times
Been thanked: 1723 times

Re: [Request] Wipeout HD/Fury

Post by shakotay2 » Sun Jun 07, 2015 1:55 pm

yeah, data alignment is a feature of Make_H2O, but it doesn't work here.

I calculated (where FVFsize is former VBsize, and next_FIaddr is reduced back to address with first non zero byte)
vertexCount= (next_FIaddr - addrVerts) / FVFsize
but works for a few H2Os only:

0: CORRECTION vertex count (344->340) ok
1: CORRECTION vertex count (344->338) ok
2: CORRECTION vertex count (232->229) ok

4: CORRECTION vertex count (1264->1755)! WRONG!
...
(correction wrong for 22 H2Os!)

Seems as if a correction is allowed/required for the last submesh of an object only.

So I have to deal with the object hierarchy. (Thought I was done without using it.)
Turns out to be an endless story again? (as always :D )

well, guess I need one "simple" formulae only, but which?
The actual one gives this only:

2: CORRECTION vertex count (232->229)!
12: CORRECTION vertex count (160->155)!
21: CORRECTION vertex count (280->277)!

yeah, whole life is only a formulae :D (S. Stallone)

0. -64, addrFI: 2f80, vStart: 1230 CORRECTION vertex count (344->340)!
1. -32, addrFI: 5380, vStart: 3610 CORRECTION vertex count (344->338)!
2. 32, addrFI: 6a80, vStart: 5a10 CORRECTION vertex count (232->229)!
3. 32, addrFI: 9280, vStart: 7130 no corr.
4. 8912, addrFI: 11800, vStart: 9c50 --
5. -16, addrFI: 11800, vStart: f530 CORRECTION vertex count (496->491)!
6. 3488, addrFI: 1ab00, vStart: 14510 --
7. 32, addrFI: 1ab00, vStart: 19d60 CORRECTION vertex count (192->188)!
8. 63424, addrFI: 32800, vStart: 1d7f0 --
9. 39808, addrFI: 32800, vStart: 23040 --
10. 16336, addrFI: 32800, vStart: 28c80 --
11. -80, addrFI: 32800, vStart: 2e830 CORRECTION vertex count (912->905)!
12. 48, addrFI: 38b80, vStart: 38290 CORRECTION vertex count (160->155)!
13. 96, addrFI: 39780, vStart: 390f0 no corr.
14. 122800, addrFI: 5d480, vStart: 39c80 --
15. 100048, addrFI: 5d480, vStart: 3f4d0 --
16. 76720, addrFI: 5d480, vStart: 44db0 --
17. 53392, addrFI: 5d480, vStart: 4a8d0 --
18. 30224, addrFI: 5d480, vStart: 503e0 --
19. 6896, addrFI: 5d480, vStart: 55e70 --
20. -16, addrFI: 5d480, vStart: 5b990 CORRECTION vertex count (384->377)!
21. 16, addrFI: 69780, vStart: 68820 CORRECTION vertex count (280->277)!
22. 0, addrFI: 6a580, vStart: 6a10023. 80, addrFI: 6cd80, vStart: 6a810 no corr.
24. 33136, addrFI: 7c580, vStart: 6dae0 --
25. 5680, addrFI: 7c580, vStart: 74410 --
26. 80, addrFI: 7c580, vStart: 7af30 no corr.
27. -16, addrFI: 80480, vStart: 7f8c0 CORRECTION vertex count (168->164)!
28. -48, addrFI: 80c00, vStart: 80a00 CORRECTION vertex count (40->33)!
29. 56784, addrFI: 94880, vStart: 80f00 --
30. 33488, addrFI: 94880, vStart: 86a90 --
31. 9872, addrFI: 94880, vStart: 8c5b0 --
32. -48, addrFI: 94880, vStart: 921e0 CORRECTION vertex count (552->549)!
Last edited by shakotay2 on Sun Jun 07, 2015 3:29 pm, edited 1 time in total.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

Post Reply