Important information: this site is currently scheduled to go offline indefinitely by end of the year.

(Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post questions about game models here, or help out others!
Mrblue630
beginner
Posts: 23
Joined: Sat Dec 01, 2018 6:15 am
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by Mrblue630 »

Just found them on Twitter. Hope someone puts them to good use to get these formats better!
Mrblue630
beginner
Posts: 23
Joined: Sat Dec 01, 2018 6:15 am
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by Mrblue630 »

Bump, read end of Page 4 for .pdb files which most likely give info on how to better reverse engineer the CS:HRTR .x models
IronArthur
beginner
Posts: 25
Joined: Wed Aug 05, 2015 2:25 pm
Been thanked: 14 times

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by IronArthur »

Mrblue630 wrote: Fri Jul 23, 2021 3:47 am Bump, read end of Page 4 for .pdb files which most likely give info on how to better reverse engineer the CS:HRTR .x models
What software do you use to read the pdb content?
Mrblue630
beginner
Posts: 23
Joined: Sat Dec 01, 2018 6:15 am
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by Mrblue630 »

Any text editor program seems to work, shows symbols and function names. I think you're meant to attach it to the executable for CS HRTR to use for debugging, though I'd have no idea how
IronArthur
beginner
Posts: 25
Joined: Wed Aug 05, 2015 2:25 pm
Been thanked: 14 times

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by IronArthur »

Ok.

I've been trying to extract structures with some pdb dumpers with no luck so far, that's why I was asking.

I'll look into it if there is something interesting.
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4291
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1151 times
Been thanked: 2244 times

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by shakotay2 »

Afaik .pdb is the symbol table, you load the exe into a debugger (windbg, IDA, OllyDbg) then usually the symbol table is loaded and you can see data types, set break points, etc.
Here are the symbols of a 3D tools of mine in x32dbg (successor of OllyDbg?) :
.
pdb-symbols.png
You do not have the required permissions to view the files attached to this post.
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
IronArthur
beginner
Posts: 25
Joined: Wed Aug 05, 2015 2:25 pm
Been thanked: 14 times

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by IronArthur »

I get how you do it with an exe file, but what file you open on a debugger (ida or ghidra) of an xbox1 game?
Mrblue630
beginner
Posts: 23
Joined: Sat Dec 01, 2018 6:15 am
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by Mrblue630 »

shakotay2 wrote: Fri Jul 23, 2021 6:10 pm Afaik .pdb is the symbol table, you load the exe into a debugger (windbg, IDA, OllyDbg) then usually the symbol table is loaded and you can see data types, set break points, etc.
Here are the symbols of a 3D tools of mine in x32dbg (successor of OllyDbg?) :
.
pdb-symbols.png
Would this be useful for refining existing model plugins/converters for CS?
User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 4291
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 1151 times
Been thanked: 2244 times

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by shakotay2 »

IronArthur wrote: Fri Jul 23, 2021 11:38 pm, but what file you open on a debugger (ida or ghidra) of an xbox1 game?
well, I guess you'll need the XBox360 SDK?

------------------------------
Mrblue630 wrote: Sat Jul 24, 2021 12:52 pmWould this be useful for refining existing model plugins/converters for CS?
Usually we don't have access to the .pdb files of those plugins/converters. You'll need the source code, if any (from github or other repos).
Tuts: a) Bigchillghost, viewtopic.php?f=29&t=17889
b) Extracting simple models: http://forum.xentax.com/viewtopic.php?f=29&t=10894
"Quoting the whole thing. Would u ever stop this nonsense?"
Mrblue630
beginner
Posts: 23
Joined: Sat Dec 01, 2018 6:15 am
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by Mrblue630 »

I've got the CS HRTR xbe, which is what it's meant for. plus noesis plugin for model importers, so could that be used to refine said plugin?
DeeAreEss
ultra-n00b
Posts: 2
Joined: Wed Jul 28, 2021 6:56 pm
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by DeeAreEss »

DesertPlah wrote: Tue Dec 24, 2019 7:10 am Hi!

I'm resurrecting this topic because I'm a big fan of CS, and also own a 3d printer. Can you guess what I'm going to all next?

Can anyone share some of the work they've done so far re: models?
Same here (well, 3d printing and using them in Tabletop Simulator...)

Being a sucker for dirigibles in general, the zeppelins in CS:HRTR are what I'm particularly interested in. I've looked through the thread and tried to replicate the steps to get the various .x and .tga files from the various scene files like what IronArthur did with Chicago. Each zeppelin's .x file contains the data for the main envelop, rudder fins, and gondola; there's a stock selection of engines and gun turrets in separate .x files that are then added on as needed. From what I can gather instructions for assembling all the pieces correctly are kept in the corresponding .db files located in the data folder. I've started going through them in my hex editor, but if anyone already knows the .db file specification that would greatly help.

Of course if anyone's already gotten all the zeps extracted and assembled, please let me know before I needlessly reinvent any wheels. Cheers!
IronArthur
beginner
Posts: 25
Joined: Wed Aug 05, 2015 2:25 pm
Been thanked: 14 times

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by IronArthur »

The same as the last time someone asked if i have a dump of all the models no i don´t have any backup or something like that.

I´m digging through my all code that extracted the CS game files (4 years ago at least), and i think the structure of a map bin file is "easy", it´s a package of items:

typedef struct{
int TypeOfItem; //1 Object 2 Texture 4 Animation 5 Cinematics 6 Audio
int FilenameLength;
BYTE Filename[FilenameLength];
int size;
byte dataofitem[size];
} entry;

For the items itself you only need the .x files ( type 1) and textures (type 2). The type 1 file already have the position/rotation matrix defined on the file.

So to extract all the zeppelin's models you need to find a map that has the zeppelin with the correct attachments and the extract that part of the bin file.

I may try at some point to upgrade the noesis plugins to include the map bin files, but i don't know how it will behave with that many submodels. My current reader it's made with Unity.
DeeAreEss
ultra-n00b
Posts: 2
Joined: Wed Jul 28, 2021 6:56 pm
Has thanked: 1 time

Re: (Xbox) Crimson Skies High Road to Revenge plane models (.x)

Post by DeeAreEss »

IronArthur wrote: Fri Jul 30, 2021 12:04 pm I´m digging through my all code that extracted the CS game files (4 years ago at least), and i think the structure of a map bin file is "easy", it´s a package of items:
IronArthur wrote: Fri Jul 30, 2021 12:04 pm For the items itself you only need the .x files ( type 1) and textures (type 2). The type 1 file already have the position/rotation matrix defined on the file.

So to extract all the zeppelin's models you need to find a map that has the zeppelin with the correct attachments and the extract that part of the bin file.
Just to make sure I'm understanding you correctly: Are you saying that the zeppelin .x file would have the position/rotation matrices for all its attachments, or that the .bin file is handling creating all the instances of these component models then setting each one's position/rotation values relative to the zeppelin to which it's attached?
Post Reply