SUBSIM Radio Room Forums



SUBSIM: The Web's #1 resource for all submarine & naval simulations since 1997

Go Back   SUBSIM Radio Room Forums > Silent Hunter 3 - 4 - 5 > SH5 Mods Workshop
Forget password? Reset here

Reply
 
Thread Tools Display Modes
Old 10-12-11, 04:19 PM   #76
tonschk
Admiral
 
Join Date: Mar 2007
Posts: 2,200
Downloads: 172
Uploads: 0
Default

Quote:
Originally Posted by TheDarkWraith View Post

New version of the code file at post #1
Good News Thank you TheDarkWraith
__________________
What we do in life echoes in Eternity
tonschk is offline   Reply With Quote
Old 10-12-11, 10:14 PM   #77
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

found another error in the dynamic writing. This error was causing some pointer values to not be written correctly.

Updated the pointer writing so that when a pointer of type str is written it will automatically update all pointers that reference it (type str_reference) so that they point to right location in file.

updated version at post #1
TheDarkWraith is offline   Reply With Quote
Old 10-13-11, 07:34 PM   #78
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

fixed some problems with the dynamic writing. Now it should be working perfectly on any SH5 GR2 file (I had tried it on the King George V and saw that it didn't work correctly).

This new version will now read the extended data strings from the GR2 file. If the extended data is userdefinedproperties:maxproperties it will also read in the values for those strings.

For kicks comment out the pointer_extended_data directive and then look at the resultant GR2 file made (you'll see gaps in the embedded strings - this is where the extended data resides). Try this with the King George V.

Just for a little fun there is a new directive change_exporter_version that will change the exporter revision number when viewed with GrannyViewer.

Using the source code as is without modification will write complete GR2 files that you can open with GrannyViewer to ensure they aren't 'broken' by the app writing the new file. How this works is the entire file is written as read and then the code writes over what it has read. This ensures the code is writing the new GR2 file correctly (by using GrannyViewer or Goblin).

The pointer data text files now also show the extended data strings (and data for them if userdefinedproperties:maxproperties)


New version available at post #1
TheDarkWraith is offline   Reply With Quote
Old 10-13-11, 11:00 PM   #79
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Sat down and really started looking at these pointers and what they were doing. Here's what I've come up with so far (and now I see why I was having so much trouble with the template for the materials )

- The first 26 pointers are always the same except for:
pointer 10. This pointer points to start of art tool info data.
pointer to number of elements, number of elements value
4 bytes unknown
pointer to general, general value
pointer to mesh totals, mesh totals value
pointer to external dependencies, external dependencies value
pointer to scene totals, scene totals value
pointer to external dependencies, external dependencies value
pointer to objects, objects value
pointer to materials, materials value
pointer to used plug-ins, used plug-ins value
pointer to render data, render data value
- now if you take number of elements * 4 you'll end up at next chunk of data (skips all the elements pointers). Coincidentally this offset is the same offset given by first pointer after exporter info pointer
- the 4 pointers before the exporter info pointer are always the same
- first of the 4 pointers associates elements pointer to where the element pointers are located in file
- second of the 4 pointers associates document contents pointer with header pointer
- third of the 4 pointers associates extended data pointer with document contents pointer
- the last of the 4 pointers associates section start with art tool info
from art tool name pointer
art tool major revision
art tool minor revision
art tool pointer size
units per meter
origin (Vector 3)
right vector (Vector 3)
up vector (Vector 3)
back vector (Vector 3)
(if you skip 4 more bytes you're at the third of the 4 pointers)
- First pointer after the pointer that reads the Exporter info points to the location in file where the actual version info resides. You need to read 4 bytes (usually 0x0) first then you get the version info
- Next pointer after the pointer that reads the Exporter info points to the location in the file where the from art tool name is found
- if the GR2 file has textures then those pointers come next:
- next pointer points to location where pointer is stored for location of the textures in the file
this location where the textures are located:
take 4 * number of textures and those are the bytes to skip to get to first texture (those skipped bytes are pointers to those textures)
from filename
texture type
width
height
encoding
subformat
bytes per pixel
layout.shift for component (4 X 4 bytes)
layout.bits for component (4 X 4 bytes)
pointer to images
pointer to extended data
8 bytes uknown
- below repeats for number of textures:
next pointer points to the texture name in the embedded string
next pointer points to start of texture data in file
- next pointer marks the end of the textures and start of the materials
(there will be number of materials * 4 bytes before the first material - these bytes skipped are the pointers to each material)
now you can have a material with no texture, material with texture, etc. so next is:


Material with texture and no maps pointer:
next pointer points to first material
next pointer points to the texture the material uses
next pointer points to the something in the elements (mtl.dlt)
next pointer points to the bitmap string
next pointer points to the filename string
next pointer points to the typename string
next pointer points to the pointer for this materials extended data (with value of where extended data starts)
next pointer points to place in materials where pointer to this material resides (and places pointer to the material there)


- Material breakdowns:

Material with texture and no maps:
2 X 4 bytes unknown
pointer to material name in embedded strings
number of maps
pointer to texture
pointer to extended data
Clip U offset
Clip V offset
Clip U Width
Clip V Width
Jitter placement
UseJitter
Apply
CropPlace
filtering
MonoOutput
rgbOutput
AlphaSource
PreMultAlpha
pointer to bitmap string
pointer to filename string
StartTime
PlayBackRate
EndCondition
TieTimetoMatIDs
pointer to typename string
3X3 Matrix UVW transform
Vector3 UVW offset
UVW tiling
UVW Source
UVW Channel
Blur
BlurOffset
NoiseAmount
NoiseSize
NoiseLevel
NoisePhase
HideMapBack
UseRealWorldScale
TheDarkWraith is offline   Reply With Quote
Old 10-14-11, 07:29 PM   #80
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

had lots of time today to work on this. Took a really long, hard look at the pointer data. Man it answered many questions I had....the saying goes 'the proof is in the pudding' except for this it's 'the proof is in the pointers'.

In order to do this hard, long look at the pointers I had to make a GR2 dumper to dump it. I've got it reading everything to just before it starts checking for textures:

The results generated are dynamic based on what it reads from the pointers. You just have to define some things about the pointers (already done in app code) then it's autonomous.

The 0xx (0xx) is offset in section (offset in file). If this format isn't shown then it's the offset in file shown.

Results from NBB_King_GeorgeV.gr2:

Current position in file is 0x0
Reading file header data starting at 0x0
Magic string=)ÞlÀº¤S+%õ·¥öfâî 0x10
File list start offset (from file beginning)=0x1C8 0x14 where the file list header starts
Unknown1=0x0 0x18
Unknown2=0x0 0x1C
Unknown3=0x0 0x20
Current position in file is 0x20

Reading info header data starting at 0x20
File format revision=0x7 0x24
File size in bytes=6763168 0x28
CRC value=0xD62ADCA2 0x2C
Bytes from offset to start of sections=0x48 0x30 bytes from start of this to first section
Number of sections=8 0x34
Root object type (?)=0x6 0x38
Root object offset (?)=0x3620 0x3C
Unknown1=0x0 0x40
Unknown2=0x0 0x44
Tag=0x80000032 0x48
Current position in file is 0x68

Reading section 0 (arttoolinfo) data starting at 0x68
Unknown=0x0 0x6C always 0x0
Section file offset=0x1C8 0x70 where this section starts in the file
Compressed size=101048 0x74 compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=101048 0x78 compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0x7C what the alignment boundary is in the file
Start of data fileoffset=0x14898 0x80 start of embedded strings
Start of data fileoffset2=0x14898 0x84 start of embedded strings
Pointers file offset=0x66ACE4 0x88 where the pointers for this section are located
Number of pointers=2229 0x8C
Pointer to unknown=0x6732A0 0x90
Unknown2=0x0 0x94
Current position in file is 0x94

Reading section 1 (unknown1) data starting at 0x94
Unknown=0x0 0x98 always 0x0
Section file offset=0x18C80 0x9C where this section starts in the file
Compressed size=5930432 0xA0 compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=5930432 0xA4 compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0xA8 what the alignment boundary is in the file
Start of data fileoffset=0x5A7DC0 0xAC start of embedded strings
Start of data fileoffset2=0x5A7DC0 0xB0 start of embedded strings
Pointers file offset=0x671560 0xB4 where the pointers for this section are located
Number of pointers=0 0xB8
Pointer to unknown=0x6732A0 0xBC
Unknown2=0x0 0xC0
Current position in file is 0xC0

Reading section 2 (unknown2) data starting at 0xC0
Unknown=0x0 0xC4 always 0x0
Section file offset=0x5C0A40 0xC8 where this section starts in the file
Compressed size=677508 0xCC compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=677508 0xD0 compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0xD4 what the alignment boundary is in the file
Start of data fileoffset=0xA5684 0xD8 start of embedded strings
Start of data fileoffset2=0xA5684 0xDC start of embedded strings
Pointers file offset=0x671560 0xE0 where the pointers for this section are located
Number of pointers=0 0xE4
Pointer to unknown=0x6732A0 0xE8
Unknown2=0x0 0xEC
Current position in file is 0xEC

Reading section 3 (unknown3) data starting at 0xEC
Unknown=0x0 0xF0 always 0x0
Section file offset=0x6660C4 0xF4 where this section starts in the file
Compressed size=0 0xF8 compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=0 0xFC compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0x100 what the alignment boundary is in the file
Start of data fileoffset=0x0 0x104 start of embedded strings
Start of data fileoffset2=0x0 0x108 start of embedded strings
Pointers file offset=0x671560 0x10C where the pointers for this section are located
Number of pointers=0 0x110
Pointer to unknown=0x6732A0 0x114
Unknown2=0x0 0x118
Current position in file is 0x118

Reading section 4 (unknown4) data starting at 0x118
Unknown=0x0 0x11C always 0x0
Section file offset=0x6660C4 0x120 where this section starts in the file
Compressed size=0 0x124 compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=0 0x128 compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0x12C what the alignment boundary is in the file
Start of data fileoffset=0x0 0x130 start of embedded strings
Start of data fileoffset2=0x0 0x134 start of embedded strings
Pointers file offset=0x671560 0x138 where the pointers for this section are located
Number of pointers=0 0x13C
Pointer to unknown=0x6732A0 0x140
Unknown2=0x0 0x144
Current position in file is 0x144

Reading section 5 (unknown5) data starting at 0x144
Unknown=0x0 0x148 always 0x0
Section file offset=0x6660C4 0x14C where this section starts in the file
Compressed size=0 0x150 compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=0 0x154 compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0x158 what the alignment boundary is in the file
Start of data fileoffset=0x0 0x15C start of embedded strings
Start of data fileoffset2=0x0 0x160 start of embedded strings
Pointers file offset=0x671560 0x164 where the pointers for this section are located
Number of pointers=0 0x168
Pointer to unknown=0x6732A0 0x16C
Unknown2=0x0 0x170
Current position in file is 0x170

Reading section 6 (unknown6) data starting at 0x170
Unknown=0x0 0x174 always 0x0
Section file offset=0x6660C4 0x178 where this section starts in the file
Compressed size=19488 0x17C compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=19488 0x180 compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0x184 what the alignment boundary is in the file
Start of data fileoffset=0x4C20 0x188 start of embedded strings
Start of data fileoffset2=0x4C20 0x18C start of embedded strings
Pointers file offset=0x671560 0x190 where the pointers for this section are located
Number of pointers=624 0x194
Pointer to unknown=0x6732A0 0x198
Unknown2=0x0 0x19C
Current position in file is 0x19C

Reading section 7 (unknown7) data starting at 0x19C
Unknown=0x0 0x1A0 always 0x0
Section file offset=0x66ACE4 0x1A4 where this section starts in the file
Compressed size=0 0x1A8 compressed size and uncompressed sizes should equal for SH5 GR2s
Uncompressed size=0 0x1AC compressed size and uncompressed sizes should equal for SH5 GR2s
Alignment=0x4 0x1B0 what the alignment boundary is in the file
Start of data fileoffset=0x0 0x1B4 start of embedded strings
Start of data fileoffset2=0x0 0x1B8 start of embedded strings
Pointers file offset=0x6732A0 0x1BC where the pointers for this section are located
Number of pointers=0 0x1C0
Pointer to unknown=0x6732A0 0x1C4
Unknown2=0x0 0x1C8
Current position in file is 0x1C8

File info offset at 0x8 (0x1D0)
Number of textures=8 0xC (0x1D4)
Number of materials=17 0x14 (0x1DC)
Number of skeletons=1 0x1C (0x1E4)
Number of vertex datas=47 0x24 (0x1EC)
Number of tritopologies=47 0x2C (0x1F4)
Number of meshes=47 0x34 (0x1FC)
Number of models=1 0x3C (0x204)
Number of trackgroups=0 0x44 (0x20C)
Number of animations=0 0x4C (0x214)
Number of unknown=0 0x54 (0x21C)
Current position in file is 0x220
Pointer 0 is type str with offsetinsectiondata of 0x5C (0x224) and unknown of 0x0 and offsetinsectionvalue of 0x14898 (0x14A60)
Pointer 0 updates the pointer to ArtToolInfo:FromArtTooFromName with pointer to embedded string for it

ArtToolInfo offset is 0x58 (0x220)
FromArtToolName=3D Studio MAX 0x5C (0x224) embedded string from 0x14898 (0x14A60)
ArtToolMajorRevision=10 0x60 (0x228)
ArtToolMinorRevision=0 0x64 (0x22C)
ArtToolPointerSize=0 0x68 (0x230)
UnitsPerMeter=0.100000 0x6C (0x234)
Origin=0.000000 0.000000 0.000000 0x70 (0x238)
RightVector=1.000000 0.000000 0.000000 0x7C (0x244)
UpVector=0.000000 1.000000 0.000000 0x88 (0x250)
BackVector=0.000000 0.000000 -1.000000 0x94 (0x25C)
Current position in file is 0x268
Pointer 1 is type pointer with offsetinsectiondata of 0xA0 (0x268) and unknown of 0x6 and offsetinsectionvalue of 0x0 (0x1C8)
Pointer 1 always points to ArtToolInfo:? pointer
Based on this pointer then:
ArtToolInfo:ExtendedData pointer is at 0xA4 (0x26C)
ArtToolInfo:ExtendedData:ocumentContents pointer is at 0xA8 (0x270)
ArtToolInfo:ExtendedData:ocumentContents:Headers pointer is at 0xAC (0x274)
ArtToolInfo:ExtendedData:ocumentContents:Element s number of elements is at 0xB0 (0x278)
ArtToolInfo:ExtendedData:ocumentContents:Element s pointer is at 0xB4 (0x27C)
ArtToolInfo:ExtendedData:ocumentContents:Headers data file offset=0xB8 (0x280)
Current position in file is 0x27C

These additional strings don't have pointers associated with them and are for the ArtToolInfo in GrannyViewer (0x14A70)
Additional string 0 is DocumentContents 0x148A8 (0x14A70)
Additional string 1 is Headers 0x148BC (0x14A84)
Additional string 2 is 0 0x148C4 (0x14A8C)
Additional string 3 is 1 0x148C8 (0x14A90)
Additional string 4 is 2 0x148CC (0x14A94)
Additional string 5 is 3 0x148D0 (0x14A98)
Additional string 6 is 4 0x148D4 (0x14A9C)
Additional string 7 is 5 0x148D8 (0x14AA0)
Additional string 8 is 6 0x148DC (0x14AA4)
Additional string 9 is 7 0x148E0 (0x14AA8)
Additional string 10 is 8 0x148E4 (0x14AAC)
Additional string 11 is 9 0x148E8 (0x14AB0)
Additional string 12 is 10 0x148EC (0x14AB4)
Additional string 13 is 11 0x148F0 (0x14AB8)
Additional string 14 is 12 0x148F4 (0x14ABC)
Additional string 15 is 13 0x148F8 (0x14AC0)
Additional string 16 is 14 0x148FC (0x14AC4)
Additional string 17 is 15 0x14900 (0x14AC8)
Additional string 18 is Elements 0x14904 (0x14ACC)
Additional string 19 is Value 0x14910 (0x14AD8)
Current position in file is 0x27C

The following strings are for the ArtToolInfo:ExtendedData:ocumentContents:Headers in GrannyViewer
Their file layout is pointer (4 bytes) then data (4 bytes)
Pointer 2 is type str with offsetinsectiondata of 0xB8 (0x280) and unknown of 0x0 and offsetinsectionvalue of 0x14918 (0x14AE0)
General=3 0xB8 (0x280)
Pointer 3 is type str with offsetinsectiondata of 0xC0 (0x288) and unknown of 0x0 and offsetinsectionvalue of 0x14920 (0x14AE8)
Mesh Totals=2 0xC0 (0x288)
Pointer 4 is type str with offsetinsectiondata of 0xC8 (0x290) and unknown of 0x0 and offsetinsectionvalue of 0x1492C (0x14AF4)
Scene Totals=7 0xC8 (0x290)
Pointer 5 is type str with offsetinsectiondata of 0xD0 (0x298) and unknown of 0x0 and offsetinsectionvalue of 0x1493C (0x14B04)
External Dependencies=13 0xD0 (0x298)
Pointer 6 is type str with offsetinsectiondata of 0xD8 (0x2A0) and unknown of 0x0 and offsetinsectionvalue of 0x14954 (0x14B1C)
Objects=97 0xD8 (0x2A0)
Pointer 7 is type str with offsetinsectiondata of 0xE0 (0x2A8) and unknown of 0x0 and offsetinsectionvalue of 0x1495C (0x14B24)
Materials=5 0xE0 (0x2A8)
Pointer 8 is type str with offsetinsectiondata of 0xE8 (0x2B0) and unknown of 0x0 and offsetinsectionvalue of 0x14968 (0x14B30)
Used Plug-Ins=19 0xE8 (0x2B0)
Pointer 9 is type str with offsetinsectiondata of 0xF0 (0x2B8) and unknown of 0x0 and offsetinsectionvalue of 0x14978 (0x14B40)
Render Data=13 0xF0 (0x2B8)
Current position in file is 0x2C0
Pointer 10 is type pointer_data with offsetinsectiondata of 0xAC (0x274) and unknown of 0x0 and offsetinsectionvalue of 0xB8 (0x280)
Pointer 10 updates ArtToolInfo:ExtendedDataocumentContents:Headers pointer with pointer to where it's data is

number of ArtToolInfo:ExtendedDataocumentContents:Elements =159 0xB0 (0x278)
Current position in file is 0x27C

Current file position adjusted back to after last header value read (0x2C0)

Elements data 0xF8 (0x2C0) number to read=159:
Pointer 11 is type str with offsetinsectiondata of 0xF8 (0x2C0) and unknown of 0x0 and offsetinsectionvalue of 0x14984 (0x14B4C)
3ds Max Version: 10.0 pointer=0xF8 (0x2C0) embedded string=0x14984 (0x14B4C)
Pointer 12 is type str with offsetinsectiondata of 0xFC (0x2C4) and unknown of 0x0 and offsetinsectionvalue of 0x1499C (0x14B64)
Uncompressed pointer=0xFC (0x2C4) embedded string=0x1499C (0x14B64)
Pointer 13 is type str with offsetinsectiondata of 0x100 (0x2C8) and unknown of 0x0 and offsetinsectionvalue of 0x149AC (0x14B74)
Build: Unknown pointer=0x100 (0x2C8) embedded string=0x149AC (0x14B74)
Pointer 14 is type str with offsetinsectiondata of 0x104 (0x2CC) and unknown of 0x0 and offsetinsectionvalue of 0x149BC (0x14B84)
Vertices: 38375 pointer=0x104 (0x2CC) embedded string=0x149BC (0x14B84)
Pointer 15 is type str with offsetinsectiondata of 0x108 (0x2D0) and unknown of 0x0 and offsetinsectionvalue of 0x149CC (0x14B94)
Faces: 30015 pointer=0x108 (0x2D0) embedded string=0x149CC (0x14B94)
Pointer 16 is type str with offsetinsectiondata of 0x10C (0x2D4) and unknown of 0x0 and offsetinsectionvalue of 0x149DC (0x14BA4)
Objects: 47 pointer=0x10C (0x2D4) embedded string=0x149DC (0x14BA4)
Pointer 17 is type str with offsetinsectiondata of 0x110 (0x2D8) and unknown of 0x0 and offsetinsectionvalue of 0x149E8 (0x14BB0)
Shapes: 0 pointer=0x110 (0x2D8) embedded string=0x149E8 (0x14BB0)
Pointer 18 is type str with offsetinsectiondata of 0x114 (0x2DC) and unknown of 0x0 and offsetinsectionvalue of 0x149F4 (0x14BBC)
Lights: 0 pointer=0x114 (0x2DC) embedded string=0x149F4 (0x14BBC)
Pointer 19 is type str with offsetinsectiondata of 0x118 (0x2E0) and unknown of 0x0 and offsetinsectionvalue of 0x14A00 (0x14BC8)
Cameras: 0 pointer=0x118 (0x2E0) embedded string=0x14A00 (0x14BC8)
Pointer 20 is type str with offsetinsectiondata of 0x11C (0x2E4) and unknown of 0x0 and offsetinsectionvalue of 0x14A0C (0x14BD4)
Helpers: 50 pointer=0x11C (0x2E4) embedded string=0x14A0C (0x14BD4)
Pointer 21 is type str with offsetinsectiondata of 0x120 (0x2E8) and unknown of 0x0 and offsetinsectionvalue of 0x14A18 (0x14BE0)
Space Warps: 0 pointer=0x120 (0x2E8) embedded string=0x14A18 (0x14BE0)
Pointer 22 is type str with offsetinsectiondata of 0x124 (0x2EC) and unknown of 0x0 and offsetinsectionvalue of 0x14A28 (0x14BF0)
Total: 97 pointer=0x124 (0x2EC) embedded string=0x14A28 (0x14BF0)
Pointer 23 is type str with offsetinsectiondata of 0x128 (0x2F0) and unknown of 0x0 and offsetinsectionvalue of 0x14A34 (0x14BFC)
3ds Max 2008 pointer=0x128 (0x2F0) embedded string=0x14A34 (0x14BFC)
Pointer 24 is type str_reference with offsetinsectiondata of 0x12C (0x2F4) and unknown of 0x0 and offsetinsectionvalue of 0x14A34 (0x14BFC)
3ds Max 2008 pointer=0x12C (0x2F4) embedded string=0x14A34 (0x14BFC)
Pointer 25 is type str_reference with offsetinsectiondata of 0x130 (0x2F8) and unknown of 0x0 and offsetinsectionvalue of 0x14A34 (0x14BFC)
3ds Max 2008 pointer=0x130 (0x2F8) embedded string=0x14A34 (0x14BFC)
Pointer 26 is type str_reference with offsetinsectiondata of 0x134 (0x2FC) and unknown of 0x0 and offsetinsectionvalue of 0x14A34 (0x14BFC)
3ds Max 2008 pointer=0x134 (0x2FC) embedded string=0x14A34 (0x14BFC)
Pointer 27 is type str with offsetinsectiondata of 0x138 (0x300) and unknown of 0x0 and offsetinsectionvalue of 0x14A44 (0x14C0C)
ship_t04.dds pointer=0x138 (0x300) embedded string=0x14A44 (0x14C0C)
Pointer 28 is type str with offsetinsectiondata of 0x13C (0x304) and unknown of 0x0 and offsetinsectionvalue of 0x14A54 (0x14C1C)
NBB_King_GeorgeV_AO01.dds pointer=0x13C (0x304) embedded string=0x14A54 (0x14C1C)
Pointer 29 is type str with offsetinsectiondata of 0x140 (0x308) and unknown of 0x0 and offsetinsectionvalue of 0x14A70 (0x14C38)
ship_n04.dds pointer=0x140 (0x308) embedded string=0x14A70 (0x14C38)
Pointer 30 is type str with offsetinsectiondata of 0x144 (0x30C) and unknown of 0x0 and offsetinsectionvalue of 0x14A80 (0x14C48)
ship_hull_t03.dds pointer=0x144 (0x30C) embedded string=0x14A80 (0x14C48)
Pointer 31 is type str_reference with offsetinsectiondata of 0x148 (0x310) and unknown of 0x0 and offsetinsectionvalue of 0x14A54 (0x14C1C)
NBB_King_GeorgeV_AO01.dds pointer=0x148 (0x310) embedded string=0x14A54 (0x14C1C)
Pointer 32 is type str with offsetinsectiondata of 0x14C (0x314) and unknown of 0x0 and offsetinsectionvalue of 0x14A94 (0x14C5C)
ship_hull_n02.dds pointer=0x14C (0x314) embedded string=0x14A94 (0x14C5C)
Pointer 33 is type str with offsetinsectiondata of 0x150 (0x318) and unknown of 0x0 and offsetinsectionvalue of 0x14AA8 (0x14C70)
boats_texture.dds pointer=0x150 (0x318) embedded string=0x14AA8 (0x14C70)
Pointer 34 is type str with offsetinsectiondata of 0x154 (0x31C) and unknown of 0x0 and offsetinsectionvalue of 0x14ABC (0x14C84)
boats_ao.dds pointer=0x154 (0x31C) embedded string=0x14ABC (0x14C84)
Pointer 35 is type str with offsetinsectiondata of 0x158 (0x320) and unknown of 0x0 and offsetinsectionvalue of 0x14ACC (0x14C94)
boats_normal.dds pointer=0x158 (0x320) embedded string=0x14ACC (0x14C94)
Pointer 36 is type str with offsetinsectiondata of 0x15C (0x324) and unknown of 0x0 and offsetinsectionvalue of 0x14AE0 (0x14CA8)
NBB_King_GeorgeV pointer=0x15C (0x324) embedded string=0x14AE0 (0x14CA8)
Pointer 37 is type str with offsetinsectiondata of 0x160 (0x328) and unknown of 0x0 and offsetinsectionvalue of 0x14AF4 (0x14CBC)
NBB_King_GeorgeV_hull pointer=0x160 (0x328) embedded string=0x14AF4 (0x14CBC)
Pointer 38 is type str with offsetinsectiondata of 0x164 (0x32C) and unknown of 0x0 and offsetinsectionvalue of 0x14B0C (0x14CD4)
NBB_King_GeorgeV_mast01 pointer=0x164 (0x32C) embedded string=0x14B0C (0x14CD4)
Pointer 39 is type str with offsetinsectiondata of 0x168 (0x330) and unknown of 0x0 and offsetinsectionvalue of 0x14B24 (0x14CEC)
NBB_King_GeorgeV_cables01 pointer=0x168 (0x330) embedded string=0x14B24 (0x14CEC)
Pointer 40 is type str with offsetinsectiondata of 0x16C (0x334) and unknown of 0x0 and offsetinsectionvalue of 0x14B40 (0x14D08)
DMG_col_NBB_King_GeorgeV_mast01 pointer=0x16C (0x334) embedded string=0x14B40 (0x14D08)
Pointer 41 is type str with offsetinsectiondata of 0x170 (0x338) and unknown of 0x0 and offsetinsectionvalue of 0x14B60 (0x14D28)
Reflect_NBB_King_GeorgeV_mast01 pointer=0x170 (0x338) embedded string=0x14B60 (0x14D28)
Pointer 42 is type str with offsetinsectiondata of 0x174 (0x33C) and unknown of 0x0 and offsetinsectionvalue of 0x14B80 (0x14D48)
LNK@1x1_version01#01 pointer=0x174 (0x33C) embedded string=0x14B80 (0x14D48)
Pointer 43 is type str with offsetinsectiondata of 0x178 (0x340) and unknown of 0x0 and offsetinsectionvalue of 0x14B98 (0x14D60)
cfg#FLG_NBB_King_GeorgeV pointer=0x178 (0x340) embedded string=0x14B98 (0x14D60)
Pointer 44 is type str with offsetinsectiondata of 0x17C (0x344) and unknown of 0x0 and offsetinsectionvalue of 0x14BB4 (0x14D7C)
NBB_King_GeorgeV_funnel01 pointer=0x17C (0x344) embedded string=0x14BB4 (0x14D7C)
Pointer 45 is type str with offsetinsectiondata of 0x180 (0x348) and unknown of 0x0 and offsetinsectionvalue of 0x14BD0 (0x14D98)
DMG_col_NBB_King_GeorgeV_cos01 pointer=0x180 (0x348) embedded string=0x14BD0 (0x14D98)
Pointer 46 is type str with offsetinsectiondata of 0x184 (0x34C) and unknown of 0x0 and offsetinsectionvalue of 0x14BF0 (0x14DB8)
Reflect_NBB_King_GeorgeV_funnel01 pointer=0x184 (0x34C) embedded string=0x14BF0 (0x14DB8)
Pointer 47 is type str with offsetinsectiondata of 0x188 (0x350) and unknown of 0x0 and offsetinsectionvalue of 0x14C14 (0x14DDC)
NBB_King_GeorgeV_crane01 pointer=0x188 (0x350) embedded string=0x14C14 (0x14DDC)
Pointer 48 is type str with offsetinsectiondata of 0x18C (0x354) and unknown of 0x0 and offsetinsectionvalue of 0x14C30 (0x14DF8)
NBB_King_GeorgeV_crane02 pointer=0x18C (0x354) embedded string=0x14C30 (0x14DF8)
Pointer 49 is type str with offsetinsectiondata of 0x190 (0x358) and unknown of 0x0 and offsetinsectionvalue of 0x14C4C (0x14E14)
NBB_King_GeorgeV_funnel02 pointer=0x190 (0x358) embedded string=0x14C4C (0x14E14)
Pointer 50 is type str with offsetinsectiondata of 0x194 (0x35C) and unknown of 0x0 and offsetinsectionvalue of 0x14C68 (0x14E30)
DMG_col_NBB_King_GeorgeV_cos02 pointer=0x194 (0x35C) embedded string=0x14C68 (0x14E30)
Pointer 51 is type str with offsetinsectiondata of 0x198 (0x360) and unknown of 0x0 and offsetinsectionvalue of 0x14C88 (0x14E50)
Reflect_NBB_King_GeorgeV_funnel02 pointer=0x198 (0x360) embedded string=0x14C88 (0x14E50)
Pointer 52 is type str with offsetinsectiondata of 0x19C (0x364) and unknown of 0x0 and offsetinsectionvalue of 0x14CAC (0x14E74)
NBB_King_GeorgeV_mast02 pointer=0x19C (0x364) embedded string=0x14CAC (0x14E74)
Pointer 53 is type str with offsetinsectiondata of 0x1A0 (0x368) and unknown of 0x0 and offsetinsectionvalue of 0x14CC4 (0x14E8C)
NBB_King_GeorgeV_cables02 pointer=0x1A0 (0x368) embedded string=0x14CC4 (0x14E8C)
Pointer 54 is type str with offsetinsectiondata of 0x1A4 (0x36C) and unknown of 0x0 and offsetinsectionvalue of 0x14CE0 (0x14EA8)
DMG_col_NBB_King_GeorgeV_mast02 pointer=0x1A4 (0x36C) embedded string=0x14CE0 (0x14EA8)
Pointer 55 is type str with offsetinsectiondata of 0x1A8 (0x370) and unknown of 0x0 and offsetinsectionvalue of 0x14D00 (0x14EC8)
Reflect_NBB_King_GeorgeV_mast02 pointer=0x1A8 (0x370) embedded string=0x14D00 (0x14EC8)
Pointer 56 is type str with offsetinsectiondata of 0x1AC (0x374) and unknown of 0x0 and offsetinsectionvalue of 0x14D20 (0x14EE8)
DMG_col_NBB_King_GeorgeV_hull pointer=0x1AC (0x374) embedded string=0x14D20 (0x14EE8)
Pointer 57 is type str with offsetinsectiondata of 0x1B0 (0x378) and unknown of 0x0 and offsetinsectionvalue of 0x14D40 (0x14F08)
NBB_King_GeorgeV_elice01 pointer=0x1B0 (0x378) embedded string=0x14D40 (0x14F08)
Pointer 58 is type str with offsetinsectiondata of 0x1B4 (0x37C) and unknown of 0x0 and offsetinsectionvalue of 0x14D5C (0x14F24)
aud_propeller01_NBB_King_GeorgeV pointer=0x1B4 (0x37C) embedded string=0x14D5C (0x14F24)
Pointer 59 is type str with offsetinsectiondata of 0x1B8 (0x380) and unknown of 0x0 and offsetinsectionvalue of 0x14D80 (0x14F48)
DMG_Col_NBB_King_GeorgeV_propeller01 pointer=0x1B8 (0x380) embedded string=0x14D80 (0x14F48)
Pointer 60 is type str with offsetinsectiondata of 0x1BC (0x384) and unknown of 0x0 and offsetinsectionvalue of 0x14DA8 (0x14F70)
NBB_King_GeorgeV_elice02 pointer=0x1BC (0x384) embedded string=0x14DA8 (0x14F70)
Pointer 61 is type str with offsetinsectiondata of 0x1C0 (0x388) and unknown of 0x0 and offsetinsectionvalue of 0x14DC4 (0x14F8C)
aud_propeller02_NBB_King_GeorgeV pointer=0x1C0 (0x388) embedded string=0x14DC4 (0x14F8C)
Pointer 62 is type str with offsetinsectiondata of 0x1C4 (0x38C) and unknown of 0x0 and offsetinsectionvalue of 0x14DE8 (0x14FB0)
DMG_Col_NBB_King_GeorgeV_propeller02 pointer=0x1C4 (0x38C) embedded string=0x14DE8 (0x14FB0)
Pointer 63 is type str with offsetinsectiondata of 0x1C8 (0x390) and unknown of 0x0 and offsetinsectionvalue of 0x14E10 (0x14FD8)
NBB_King_GeorgeV_elice03 pointer=0x1C8 (0x390) embedded string=0x14E10 (0x14FD8)
Pointer 64 is type str with offsetinsectiondata of 0x1CC (0x394) and unknown of 0x0 and offsetinsectionvalue of 0x14E2C (0x14FF4)
aud_propeller03_NBB_King_GeorgeV pointer=0x1CC (0x394) embedded string=0x14E2C (0x14FF4)
Pointer 65 is type str with offsetinsectiondata of 0x1D0 (0x398) and unknown of 0x0 and offsetinsectionvalue of 0x14E50 (0x15018)
DMG_Col_NBB_King_GeorgeV_propeller03 pointer=0x1D0 (0x398) embedded string=0x14E50 (0x15018)
Pointer 66 is type str with offsetinsectiondata of 0x1D4 (0x39C) and unknown of 0x0 and offsetinsectionvalue of 0x14E78 (0x15040)
NBB_King_GeorgeV_elice04 pointer=0x1D4 (0x39C) embedded string=0x14E78 (0x15040)
Pointer 67 is type str with offsetinsectiondata of 0x1D8 (0x3A0) and unknown of 0x0 and offsetinsectionvalue of 0x14E94 (0x1505C)
aud_propeller04_NBB_King_GeorgeV pointer=0x1D8 (0x3A0) embedded string=0x14E94 (0x1505C)
Pointer 68 is type str with offsetinsectiondata of 0x1DC (0x3A4) and unknown of 0x0 and offsetinsectionvalue of 0x14EB8 (0x15080)
DMG_Col_NBB_King_GeorgeV_propeller04 pointer=0x1DC (0x3A4) embedded string=0x14EB8 (0x15080)
Pointer 69 is type str with offsetinsectiondata of 0x1E0 (0x3A8) and unknown of 0x0 and offsetinsectionvalue of 0x14EE0 (0x150A8)
NBB_King_GeorgeV_rudder pointer=0x1E0 (0x3A8) embedded string=0x14EE0 (0x150A8)
Pointer 70 is type str with offsetinsectiondata of 0x1E4 (0x3AC) and unknown of 0x0 and offsetinsectionvalue of 0x14EF8 (0x150C0)
DMG_Col_NBB_King_GeorgeV_rudder pointer=0x1E4 (0x3AC) embedded string=0x14EF8 (0x150C0)
Pointer 71 is type str with offsetinsectiondata of 0x1E8 (0x3B0) and unknown of 0x0 and offsetinsectionvalue of 0x14F18 (0x150E0)
NBB_King_GeorgeV_boat04 pointer=0x1E8 (0x3B0) embedded string=0x14F18 (0x150E0)
Pointer 72 is type str with offsetinsectiondata of 0x1EC (0x3B4) and unknown of 0x0 and offsetinsectionvalue of 0x14F30 (0x150F8)
DMG_col_NBB_King_GeorgeV_boat04 pointer=0x1EC (0x3B4) embedded string=0x14F30 (0x150F8)
Pointer 73 is type str with offsetinsectiondata of 0x1F0 (0x3B8) and unknown of 0x0 and offsetinsectionvalue of 0x14F50 (0x15118)
NBB_King_GeorgeV_boat01 pointer=0x1F0 (0x3B8) embedded string=0x14F50 (0x15118)
Pointer 74 is type str with offsetinsectiondata of 0x1F4 (0x3BC) and unknown of 0x0 and offsetinsectionvalue of 0x14F68 (0x15130)
DMG_col_NBB_King_GeorgeV_boat01 pointer=0x1F4 (0x3BC) embedded string=0x14F68 (0x15130)
Pointer 75 is type str with offsetinsectiondata of 0x1F8 (0x3C0) and unknown of 0x0 and offsetinsectionvalue of 0x14F88 (0x15150)
NBB_King_GeorgeV_boat03 pointer=0x1F8 (0x3C0) embedded string=0x14F88 (0x15150)
Pointer 76 is type str with offsetinsectiondata of 0x1FC (0x3C4) and unknown of 0x0 and offsetinsectionvalue of 0x14FA0 (0x15168)
DMG_col_NBB_King_GeorgeV_boat03 pointer=0x1FC (0x3C4) embedded string=0x14FA0 (0x15168)
Pointer 77 is type str with offsetinsectiondata of 0x200 (0x3C8) and unknown of 0x0 and offsetinsectionvalue of 0x14FC0 (0x15188)
NBB_King_GeorgeV_boat02 pointer=0x200 (0x3C8) embedded string=0x14FC0 (0x15188)
Pointer 78 is type str with offsetinsectiondata of 0x204 (0x3CC) and unknown of 0x0 and offsetinsectionvalue of 0x14FD8 (0x151A0)
DMG_col_NBB_King_GeorgeV_boat02 pointer=0x204 (0x3CC) embedded string=0x14FD8 (0x151A0)
Pointer 79 is type str with offsetinsectiondata of 0x208 (0x3D0) and unknown of 0x0 and offsetinsectionvalue of 0x14FF8 (0x151C0)
NBB_King_GeorgeV_boat05 pointer=0x208 (0x3D0) embedded string=0x14FF8 (0x151C0)
Pointer 80 is type str with offsetinsectiondata of 0x20C (0x3D4) and unknown of 0x0 and offsetinsectionvalue of 0x15010 (0x151D8)
NBB_King_GeorgeV_boat07 pointer=0x20C (0x3D4) embedded string=0x15010 (0x151D8)
Pointer 81 is type str with offsetinsectiondata of 0x210 (0x3D8) and unknown of 0x0 and offsetinsectionvalue of 0x15028 (0x151F0)
aud_propeller_NBB_King_GeorgeV pointer=0x210 (0x3D8) embedded string=0x15028 (0x151F0)
Pointer 82 is type str with offsetinsectiondata of 0x214 (0x3DC) and unknown of 0x0 and offsetinsectionvalue of 0x15048 (0x15210)
aud_fore_NBB_King_GeorgeV pointer=0x214 (0x3DC) embedded string=0x15048 (0x15210)
Pointer 83 is type str with offsetinsectiondata of 0x218 (0x3E0) and unknown of 0x0 and offsetinsectionvalue of 0x15064 (0x1522C)
aud_engine_NBB_King_GeorgeV pointer=0x218 (0x3E0) embedded string=0x15064 (0x1522C)
Pointer 84 is type str with offsetinsectiondata of 0x21C (0x3E4) and unknown of 0x0 and offsetinsectionvalue of 0x15080 (0x15248)
cfg#M01_NBB_King_GeorgeV pointer=0x21C (0x3E4) embedded string=0x15080 (0x15248)
Pointer 85 is type str with offsetinsectiondata of 0x220 (0x3E8) and unknown of 0x0 and offsetinsectionvalue of 0x1509C (0x15264)
cfg#M02_NBB_King_GeorgeV pointer=0x220 (0x3E8) embedded string=0x1509C (0x15264)
Pointer 86 is type str with offsetinsectiondata of 0x224 (0x3EC) and unknown of 0x0 and offsetinsectionvalue of 0x150B8 (0x15280)
cfg#M03_NBB_King_GeorgeV pointer=0x224 (0x3EC) embedded string=0x150B8 (0x15280)
Pointer 87 is type str with offsetinsectiondata of 0x228 (0x3F0) and unknown of 0x0 and offsetinsectionvalue of 0x150D4 (0x1529C)
cfg#S02_NBB_King_GeorgeV pointer=0x228 (0x3F0) embedded string=0x150D4 (0x1529C)
Pointer 88 is type str with offsetinsectiondata of 0x22C (0x3F4) and unknown of 0x0 and offsetinsectionvalue of 0x150F0 (0x152B8)
cfg#S03_NBB_King_GeorgeV pointer=0x22C (0x3F4) embedded string=0x150F0 (0x152B8)
Pointer 89 is type str with offsetinsectiondata of 0x230 (0x3F8) and unknown of 0x0 and offsetinsectionvalue of 0x1510C (0x152D4)
cfg#S06_NBB_King_GeorgeV pointer=0x230 (0x3F8) embedded string=0x1510C (0x152D4)
Pointer 90 is type str with offsetinsectiondata of 0x234 (0x3FC) and unknown of 0x0 and offsetinsectionvalue of 0x15128 (0x152F0)
cfg#S05_NBB_King_GeorgeV pointer=0x234 (0x3FC) embedded string=0x15128 (0x152F0)
Pointer 91 is type str with offsetinsectiondata of 0x238 (0x400) and unknown of 0x0 and offsetinsectionvalue of 0x15144 (0x1530C)
cfg#S04_NBB_King_GeorgeV pointer=0x238 (0x400) embedded string=0x15144 (0x1530C)
Pointer 92 is type str with offsetinsectiondata of 0x23C (0x404) and unknown of 0x0 and offsetinsectionvalue of 0x15160 (0x15328)
cfg#S01_NBB_King_GeorgeV pointer=0x23C (0x404) embedded string=0x15160 (0x15328)
Pointer 93 is type str with offsetinsectiondata of 0x240 (0x408) and unknown of 0x0 and offsetinsectionvalue of 0x1517C (0x15344)
cfg#A05_NBB_King_GeorgeV pointer=0x240 (0x408) embedded string=0x1517C (0x15344)
Pointer 94 is type str with offsetinsectiondata of 0x244 (0x40C) and unknown of 0x0 and offsetinsectionvalue of 0x15198 (0x15360)
cfg#A06_NBB_King_GeorgeV pointer=0x244 (0x40C) embedded string=0x15198 (0x15360)
Pointer 95 is type str with offsetinsectiondata of 0x248 (0x410) and unknown of 0x0 and offsetinsectionvalue of 0x151B4 (0x1537C)
cfg#N01_NBB_King_GeorgeV pointer=0x248 (0x410) embedded string=0x151B4 (0x1537C)
Pointer 96 is type str with offsetinsectiondata of 0x24C (0x414) and unknown of 0x0 and offsetinsectionvalue of 0x151D0 (0x15398)
cfg#H01_NBB_King_GeorgeV pointer=0x24C (0x414) embedded string=0x151D0 (0x15398)
Pointer 97 is type str with offsetinsectiondata of 0x250 (0x418) and unknown of 0x0 and offsetinsectionvalue of 0x151EC (0x153B4)
NBB_King_GeorgeV_siajB pointer=0x250 (0x418) embedded string=0x151EC (0x153B4)
Pointer 98 is type str with offsetinsectiondata of 0x254 (0x41C) and unknown of 0x0 and offsetinsectionvalue of 0x15204 (0x153CC)
NBB_King_GeorgeV_siajF pointer=0x254 (0x41C) embedded string=0x15204 (0x153CC)
Pointer 99 is type str with offsetinsectiondata of 0x258 (0x420) and unknown of 0x0 and offsetinsectionvalue of 0x1521C (0x153E4)
NBB_King_GeorgeV_ShipWake pointer=0x258 (0x420) embedded string=0x1521C (0x153E4)
Pointer 100 is type str with offsetinsectiondata of 0x25C (0x424) and unknown of 0x0 and offsetinsectionvalue of 0x15238 (0x15400)
cfg#A01_NBB_King_GeorgeV pointer=0x25C (0x424) embedded string=0x15238 (0x15400)
Pointer 101 is type str with offsetinsectiondata of 0x260 (0x428) and unknown of 0x0 and offsetinsectionvalue of 0x15254 (0x1541C)
cfg#A02_NBB_King_GeorgeV pointer=0x260 (0x428) embedded string=0x15254 (0x1541C)
Pointer 102 is type str with offsetinsectiondata of 0x264 (0x42C) and unknown of 0x0 and offsetinsectionvalue of 0x15270 (0x15438)
cfg#A04_NBB_King_GeorgeV pointer=0x264 (0x42C) embedded string=0x15270 (0x15438)
Pointer 103 is type str with offsetinsectiondata of 0x268 (0x430) and unknown of 0x0 and offsetinsectionvalue of 0x1528C (0x15454)
cfg#A03_NBB_King_GeorgeV pointer=0x268 (0x430) embedded string=0x1528C (0x15454)
Pointer 104 is type str with offsetinsectiondata of 0x26C (0x434) and unknown of 0x0 and offsetinsectionvalue of 0x152A8 (0x15470)
cfg#A07_NBB_King_GeorgeV pointer=0x26C (0x434) embedded string=0x152A8 (0x15470)
Pointer 105 is type str with offsetinsectiondata of 0x270 (0x438) and unknown of 0x0 and offsetinsectionvalue of 0x152C4 (0x1548C)
cfg#L03_NBB_King_GeorgeV pointer=0x270 (0x438) embedded string=0x152C4 (0x1548C)
Pointer 106 is type str with offsetinsectiondata of 0x274 (0x43C) and unknown of 0x0 and offsetinsectionvalue of 0x152E0 (0x154A8)
cfg#L04_NBB_King_GeorgeV pointer=0x274 (0x43C) embedded string=0x152E0 (0x154A8)
Pointer 107 is type str with offsetinsectiondata of 0x278 (0x440) and unknown of 0x0 and offsetinsectionvalue of 0x152FC (0x154C4)
cfg#C01_NBB_King_GeorgeV pointer=0x278 (0x440) embedded string=0x152FC (0x154C4)
Pointer 108 is type str with offsetinsectiondata of 0x27C (0x444) and unknown of 0x0 and offsetinsectionvalue of 0x15318 (0x154E0)
cfg#A10_NBB_King_GeorgeV pointer=0x27C (0x444) embedded string=0x15318 (0x154E0)
Pointer 109 is type str with offsetinsectiondata of 0x280 (0x448) and unknown of 0x0 and offsetinsectionvalue of 0x15334 (0x154FC)
cfg#A09_NBB_King_GeorgeV pointer=0x280 (0x448) embedded string=0x15334 (0x154FC)
Pointer 110 is type str with offsetinsectiondata of 0x284 (0x44C) and unknown of 0x0 and offsetinsectionvalue of 0x15350 (0x15518)
cfg#L05_NBB_King_GeorgeV pointer=0x284 (0x44C) embedded string=0x15350 (0x15518)
Pointer 111 is type str with offsetinsectiondata of 0x288 (0x450) and unknown of 0x0 and offsetinsectionvalue of 0x1536C (0x15534)
cfg#L06_NBB_King_GeorgeV pointer=0x288 (0x450) embedded string=0x1536C (0x15534)
Pointer 112 is type str with offsetinsectiondata of 0x28C (0x454) and unknown of 0x0 and offsetinsectionvalue of 0x15388 (0x15550)
cfg#L01_NBB_King_GeorgeV pointer=0x28C (0x454) embedded string=0x15388 (0x15550)
Pointer 113 is type str with offsetinsectiondata of 0x290 (0x458) and unknown of 0x0 and offsetinsectionvalue of 0x153A4 (0x1556C)
cfg#L02_NBB_King_GeorgeV pointer=0x290 (0x458) embedded string=0x153A4 (0x1556C)
Pointer 114 is type str with offsetinsectiondata of 0x294 (0x45C) and unknown of 0x0 and offsetinsectionvalue of 0x153C0 (0x15588)
cfg#S07_NBB_King_GeorgeV pointer=0x294 (0x45C) embedded string=0x153C0 (0x15588)
Pointer 115 is type str with offsetinsectiondata of 0x298 (0x460) and unknown of 0x0 and offsetinsectionvalue of 0x153DC (0x155A4)
cfg#S08_NBB_King_GeorgeV pointer=0x298 (0x460) embedded string=0x153DC (0x155A4)
Pointer 116 is type str with offsetinsectiondata of 0x29C (0x464) and unknown of 0x0 and offsetinsectionvalue of 0x153F8 (0x155C0)
cfg#X01_NBB_King_GeorgeV pointer=0x29C (0x464) embedded string=0x153F8 (0x155C0)
Pointer 117 is type str with offsetinsectiondata of 0x2A0 (0x468) and unknown of 0x0 and offsetinsectionvalue of 0x15414 (0x155DC)
cfg#X02_NBB_King_GeorgeV pointer=0x2A0 (0x468) embedded string=0x15414 (0x155DC)
Pointer 118 is type str with offsetinsectiondata of 0x2A4 (0x46C) and unknown of 0x0 and offsetinsectionvalue of 0x15430 (0x155F8)
cfg#A08_NBB_King_GeorgeV pointer=0x2A4 (0x46C) embedded string=0x15430 (0x155F8)
Pointer 119 is type str with offsetinsectiondata of 0x2A8 (0x470) and unknown of 0x0 and offsetinsectionvalue of 0x1544C (0x15614)
cfg#A12_NBB_King_GeorgeV pointer=0x2A8 (0x470) embedded string=0x1544C (0x15614)
Pointer 120 is type str with offsetinsectiondata of 0x2AC (0x474) and unknown of 0x0 and offsetinsectionvalue of 0x15468 (0x15630)
cfg#A13_NBB_King_GeorgeV pointer=0x2AC (0x474) embedded string=0x15468 (0x15630)
Pointer 121 is type str with offsetinsectiondata of 0x2B0 (0x478) and unknown of 0x0 and offsetinsectionvalue of 0x15484 (0x1564C)
cfg#A14_NBB_King_GeorgeV pointer=0x2B0 (0x478) embedded string=0x15484 (0x1564C)
Pointer 122 is type str with offsetinsectiondata of 0x2B4 (0x47C) and unknown of 0x0 and offsetinsectionvalue of 0x154A0 (0x15668)
cfg#A11_NBB_King_GeorgeV pointer=0x2B4 (0x47C) embedded string=0x154A0 (0x15668)
Pointer 123 is type str with offsetinsectiondata of 0x2B8 (0x480) and unknown of 0x0 and offsetinsectionvalue of 0x154BC (0x15684)
Reflect_NBB_King_GeorgeV_hull pointer=0x2B8 (0x480) embedded string=0x154BC (0x15684)
Pointer 124 is type str with offsetinsectiondata of 0x2BC (0x484) and unknown of 0x0 and offsetinsectionvalue of 0x154DC (0x156A4)
cfg#O01_NBB_King_GeorgeV pointer=0x2BC (0x484) embedded string=0x154DC (0x156A4)
Pointer 125 is type str with offsetinsectiondata of 0x2C0 (0x488) and unknown of 0x0 and offsetinsectionvalue of 0x154F8 (0x156C0)
LNK@1x10_version01#01 pointer=0x2C0 (0x488) embedded string=0x154F8 (0x156C0)
Pointer 126 is type str with offsetinsectiondata of 0x2C4 (0x48C) and unknown of 0x0 and offsetinsectionvalue of 0x15510 (0x156D8)
LNK@1x10x6_version01#01 pointer=0x2C4 (0x48C) embedded string=0x15510 (0x156D8)
Pointer 127 is type str with offsetinsectiondata of 0x2C8 (0x490) and unknown of 0x0 and offsetinsectionvalue of 0x15528 (0x156F0)
LNK@1x20_version01#01 pointer=0x2C8 (0x490) embedded string=0x15528 (0x156F0)
Pointer 128 is type str with offsetinsectiondata of 0x2CC (0x494) and unknown of 0x0 and offsetinsectionvalue of 0x15540 (0x15708)
LNK@1x50_version01#01 pointer=0x2CC (0x494) embedded string=0x15540 (0x15708)
Pointer 129 is type str with offsetinsectiondata of 0x2D0 (0x498) and unknown of 0x0 and offsetinsectionvalue of 0x15558 (0x15720)
LNK@2x2_version01#01 pointer=0x2D0 (0x498) embedded string=0x15558 (0x15720)
Pointer 130 is type str with offsetinsectiondata of 0x2D4 (0x49C) and unknown of 0x0 and offsetinsectionvalue of 0x15570 (0x15738)
LNK@1x20x10_version01#01 pointer=0x2D4 (0x49C) embedded string=0x15570 (0x15738)
Pointer 131 is type str with offsetinsectiondata of 0x2D8 (0x4A0) and unknown of 0x0 and offsetinsectionvalue of 0x1558C (0x15754)
LNK@1x10x6_version01#02 pointer=0x2D8 (0x4A0) embedded string=0x1558C (0x15754)
Pointer 132 is type str with offsetinsectiondata of 0x2DC (0x4A4) and unknown of 0x0 and offsetinsectionvalue of 0x155A4 (0x1576C)
Particle View 01 pointer=0x2DC (0x4A4) embedded string=0x155A4 (0x1576C)
Pointer 133 is type str with offsetinsectiondata of 0x2E0 (0x4A8) and unknown of 0x0 and offsetinsectionvalue of 0x155B8 (0x15780)
DMG pointer=0x2E0 (0x4A8) embedded string=0x155B8 (0x15780)
Pointer 134 is type str with offsetinsectiondata of 0x2E4 (0x4AC) and unknown of 0x0 and offsetinsectionvalue of 0x155BC (0x15784)
NCL_Bartolomeo_tex pointer=0x2E4 (0x4AC) embedded string=0x155BC (0x15784)
Pointer 135 is type str with offsetinsectiondata of 0x2E8 (0x4B0) and unknown of 0x0 and offsetinsectionvalue of 0x155D0 (0x15798)
AO pointer=0x2E8 (0x4B0) embedded string=0x155D0 (0x15798)
Pointer 136 is type str with offsetinsectiondata of 0x2EC (0x4B4) and unknown of 0x0 and offsetinsectionvalue of 0x155D4 (0x1579C)
Boats pointer=0x2EC (0x4B4) embedded string=0x155D4 (0x1579C)
Pointer 137 is type str with offsetinsectiondata of 0x2F0 (0x4B8) and unknown of 0x0 and offsetinsectionvalue of 0x155DC (0x157A4)
Standard_3 pointer=0x2F0 (0x4B8) embedded string=0x155DC (0x157A4)
Pointer 138 is type str with offsetinsectiondata of 0x2F4 (0x4BC) and unknown of 0x0 and offsetinsectionvalue of 0x155E8 (0x157B0)
CustAttribContainer.dlo pointer=0x2F4 (0x4BC) embedded string=0x155E8 (0x157B0)
Pointer 139 is type str with offsetinsectiondata of 0x2F8 (0x4C0) and unknown of 0x0 and offsetinsectionvalue of 0x15600 (0x157C8)
ViewportManager.gup pointer=0x2F8 (0x4C0) embedded string=0x15600 (0x157C8)
Pointer 140 is type str with offsetinsectiondata of 0x2FC (0x4C4) and unknown of 0x0 and offsetinsectionvalue of 0x15614 (0x157DC)
mrMaterialAttribs.gup pointer=0x2FC (0x4C4) embedded string=0x15614 (0x157DC)
Pointer 141 is type str with offsetinsectiondata of 0x300 (0x4C8) and unknown of 0x0 and offsetinsectionvalue of 0x1562C (0x157F4)
mtlgen.dlt pointer=0x300 (0x4C8) embedded string=0x1562C (0x157F4)
Pointer 142 is type str with offsetinsectiondata of 0x304 (0x4CC) and unknown of 0x0 and offsetinsectionvalue of 0x15638 (0x15800)
mtl.dlt pointer=0x304 (0x4CC) embedded string=0x15638 (0x15800)
Pointer 143 is type str with offsetinsectiondata of 0x308 (0x4D0) and unknown of 0x0 and offsetinsectionvalue of 0x15640 (0x15808)
normalrender.dlt pointer=0x308 (0x4D0) embedded string=0x15640 (0x15808)
Pointer 144 is type str with offsetinsectiondata of 0x30C (0x4D4) and unknown of 0x0 and offsetinsectionvalue of 0x15654 (0x1581C)
samplers.dlh pointer=0x30C (0x4D4) embedded string=0x15654 (0x1581C)
Pointer 145 is type str with offsetinsectiondata of 0x310 (0x4D8) and unknown of 0x0 and offsetinsectionvalue of 0x15664 (0x1582C)
ctrl.dlc pointer=0x310 (0x4D8) embedded string=0x15664 (0x1582C)
Pointer 146 is type str with offsetinsectiondata of 0x314 (0x4DC) and unknown of 0x0 and offsetinsectionvalue of 0x15670 (0x15838)
EPoly.dlo pointer=0x314 (0x4DC) embedded string=0x15670 (0x15838)
Pointer 147 is type str with offsetinsectiondata of 0x318 (0x4E0) and unknown of 0x0 and offsetinsectionvalue of 0x1567C (0x15844)
particleview.dlo pointer=0x318 (0x4E0) embedded string=0x1567C (0x15844)
Pointer 148 is type str with offsetinsectiondata of 0x31C (0x4E4) and unknown of 0x0 and offsetinsectionvalue of 0x15690 (0x15858)
kernel.dlk pointer=0x31C (0x4E4) embedded string=0x15690 (0x15858)
Pointer 149 is type str with offsetinsectiondata of 0x320 (0x4E8) and unknown of 0x0 and offsetinsectionvalue of 0x1569C (0x15864)
rend.dlr pointer=0x320 (0x4E8) embedded string=0x1569C (0x15864)
Pointer 150 is type str with offsetinsectiondata of 0x324 (0x4EC) and unknown of 0x0 and offsetinsectionvalue of 0x156A8 (0x15870)
Ac*******s.dlu pointer=0x324 (0x4EC) embedded string=0x156A8 (0x15870)
Pointer 151 is type str with offsetinsectiondata of 0x328 (0x4F0) and unknown of 0x0 and offsetinsectionvalue of 0x156B8 (0x15880)
InstanceMgr.dlu pointer=0x328 (0x4F0) embedded string=0x156B8 (0x15880)
Pointer 152 is type str with offsetinsectiondata of 0x32C (0x4F4) and unknown of 0x0 and offsetinsectionvalue of 0x156C8 (0x15890)
SceneEffectLoader.dlu pointer=0x32C (0x4F4) embedded string=0x156C8 (0x15890)
Pointer 153 is type str with offsetinsectiondata of 0x330 (0x4F8) and unknown of 0x0 and offsetinsectionvalue of 0x156E0 (0x158A8)
reactor.dlc pointer=0x330 (0x4F8) embedded string=0x156E0 (0x158A8)
Pointer 154 is type str with offsetinsectiondata of 0x334 (0x4FC) and unknown of 0x0 and offsetinsectionvalue of 0x156EC (0x158B4)
ParamEditor.gup pointer=0x334 (0x4FC) embedded string=0x156EC (0x158B4)
Pointer 155 is type str with offsetinsectiondata of 0x338 (0x500) and unknown of 0x0 and offsetinsectionvalue of 0x156FC (0x158C4)
BitmapProxies.dlu pointer=0x338 (0x500) embedded string=0x156FC (0x158C4)
Pointer 156 is type str with offsetinsectiondata of 0x33C (0x504) and unknown of 0x0 and offsetinsectionvalue of 0x15710 (0x158D8)
biped.dlc pointer=0x33C (0x504) embedded string=0x15710 (0x158D8)
Pointer 157 is type str with offsetinsectiondata of 0x340 (0x508) and unknown of 0x0 and offsetinsectionvalue of 0x1571C (0x158E4)
User Name=CRus pointer=0x340 (0x508) embedded string=0x1571C (0x158E4)
Pointer 158 is type str with offsetinsectiondata of 0x344 (0x50C) and unknown of 0x0 and offsetinsectionvalue of 0x1572C (0x158F4)
Computer Name=BUC-WKS-PR110 pointer=0x344 (0x50C) embedded string=0x1572C (0x158F4)
Pointer 159 is type str with offsetinsectiondata of 0x348 (0x510) and unknown of 0x0 and offsetinsectionvalue of 0x15748 (0x15910)
Render Width=800 pointer=0x348 (0x510) embedded string=0x15748 (0x15910)
Pointer 160 is type str with offsetinsectiondata of 0x34C (0x514) and unknown of 0x0 and offsetinsectionvalue of 0x1575C (0x15924)
Render Height=600 pointer=0x34C (0x514) embedded string=0x1575C (0x15924)
Pointer 161 is type str with offsetinsectiondata of 0x350 (0x518) and unknown of 0x0 and offsetinsectionvalue of 0x15770 (0x15938)
Render Aspect=1.00 pointer=0x350 (0x518) embedded string=0x15770 (0x15938)
Pointer 162 is type str with offsetinsectiondata of 0x354 (0x51C) and unknown of 0x0 and offsetinsectionvalue of 0x15784 (0x1594C)
Renderer ClassIDA=1 pointer=0x354 (0x51C) embedded string=0x15784 (0x1594C)
Pointer 163 is type str with offsetinsectiondata of 0x358 (0x520) and unknown of 0x0 and offsetinsectionvalue of 0x15798 (0x15960)
Renderer ClassIDB=0 pointer=0x358 (0x520) embedded string=0x15798 (0x15960)
Pointer 164 is type str with offsetinsectiondata of 0x35C (0x524) and unknown of 0x0 and offsetinsectionvalue of 0x157AC (0x15974)
Renderer Name=Default Scanline Renderer pointer=0x35C (0x524) embedded string=0x157AC (0x15974)
Pointer 165 is type str with offsetinsectiondata of 0x360 (0x528) and unknown of 0x0 and offsetinsectionvalue of 0x157D4 (0x1599C)
Animation Start=0 pointer=0x360 (0x528) embedded string=0x157D4 (0x1599C)
Pointer 166 is type str with offsetinsectiondata of 0x364 (0x52C) and unknown of 0x0 and offsetinsectionvalue of 0x157E8 (0x159B0)
Animation End=0 pointer=0x364 (0x52C) embedded string=0x157E8 (0x159B0)
Pointer 167 is type str with offsetinsectiondata of 0x368 (0x530) and unknown of 0x0 and offsetinsectionvalue of 0x157F8 (0x159C0)
Render Flags=32 pointer=0x368 (0x530) embedded string=0x157F8 (0x159C0)
Pointer 168 is type str with offsetinsectiondata of 0x36C (0x534) and unknown of 0x0 and offsetinsectionvalue of 0x15808 (0x159D0)
Scene Flags=57032 pointer=0x36C (0x534) embedded string=0x15808 (0x159D0)
Pointer 169 is type str with offsetinsectiondata of 0x370 (0x538) and unknown of 0x0 and offsetinsectionvalue of 0x1581C (0x159E4)
RenderElements=1 pointer=0x370 (0x538) embedded string=0x1581C (0x159E4)
Pointer 170 is type pointer_data with offsetinsectiondata of 0xB4 (0x27C) and unknown of 0x0 and offsetinsectionvalue of 0xF8 (0x2C0)
Pointer 170 updates ArtToolInfo:ExtendedDataocumentContents:Elements pointer with pointer to start of element pointers in file
Current position in file is 0x53C

Pointer 171 is type pointer_data with offsetinsectiondata of 0xA8 (0x270) and unknown of 0x0 and offsetinsectionvalue of 0xAC (0x274)
Pointer 171 associates ArtToolInfo:ExtendedDataocumentContents with ArtToolInfo:ExtendedDataocumentContents:Headers
Current position in file is 0x53C

Pointer 172 is type pointer_data with offsetinsectiondata of 0xA4 (0x26C) and unknown of 0x0 and offsetinsectionvalue of 0xA8 (0x270)
Pointer 172 associates ArtToolInfo:ExtendedData with ArtToolInfo:ExtendedDataocumentContents
Current position in file is 0x53C

Pointer 173 is type pointer_data with offsetinsectiondata of 0x0 (0x1C8) and unknown of 0x0 and offsetinsectionvalue of 0x5C (0x224)
Pointer 173 associates start of section 0 with ArtToolInfo:FromArtToolName pointer
Current position in file is 0x53C

Pointer 174 is type str with offsetinsectiondata of 0x374 (0x53C) and unknown of 0x0 and offsetinsectionvalue of 0x15830 (0x159F8)
Pointer 174 points to the exporter info
Exporter info section offset is 0x53C (0x704)
ExporterName=Granny Standard Exporter, SDK version 2.8.3.0 0x374 (0x53C) embedded string from 0x15830 (0x159F8)
ExporterMajorRevision=2 0x378 (0x540)
ExporterMinorRevision=8 0x37C (0x544)
ExporterCustomization=0 0x380 (0x548)
ExporterBuildNumber=3 0x384 (0x54C)
Current position in file is 0x550

Last edited by TheDarkWraith; 10-14-11 at 08:00 PM.
TheDarkWraith is offline   Reply With Quote
Old 10-15-11, 12:53 PM   #81
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

new version of the C# code file available at post #1
TheDarkWraith is offline   Reply With Quote
Old 10-16-11, 01:17 AM   #82
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Today was a good day After hours upon hours of looking over these pointers in the GR2 file, comparing things to GrannyViewer, and a bit of dumb luck it finally hit me It all makes perfect sense now.

The contents of this file will tell all: http://www.megaupload.com/?d=Q0F2M1ZG

I have to figure out how to read the mesh binding pointers correctly and then I'll have access to the vertex datas, meshes, and everything related to the mesh bindings. I know where the pointers are I'm just not reading the correct offsets yet. You'll see in the file.

I found the pointers to the bones extended data and I can read them now I just have to write the code for reading it's pointers (the bones extended data is a pointer to another 'place' that has data and more pointers. It's these pointers that I have to decipher now which won't be too hard).

Haven't looked at the textures or materials but they will be easy to do since it all finally clicked.

Perserverance....don't ever give up

All this was done WITHOUT using the granny2.dll. I'm reading the file via the code I have been posting here

TheDarkWraith is offline   Reply With Quote
Old 10-16-11, 03:29 AM   #83
Trevally.
Navy Seal
 
Join Date: Apr 2007
Location: AN1536 (Orkney)
Posts: 5,451
Downloads: 166
Uploads: 28


Default

great work TDW
__________________
Trevally Mods for SH5
Trevally. is offline   Reply With Quote
Old 10-16-11, 06:25 AM   #84
lesec74
Ensign
 
Join Date: Mar 2010
Location: france(alps)
Posts: 230
Downloads: 259
Uploads: 0
Default

hello trevally and tdw,

I know anything in GR2 file, can you explain sqimply what is it?your beautiful work for all the community is perhaps one day, a new playable sub?

sorry for my english

and many,many thanks
lesec74 is offline   Reply With Quote
Old 10-16-11, 08:15 AM   #85
tonschk
Admiral
 
Join Date: Mar 2007
Posts: 2,200
Downloads: 172
Uploads: 0
Default

Well done TheDarkWraith
__________________
What we do in life echoes in Eternity
tonschk is offline   Reply With Quote
Old 10-16-11, 01:17 PM   #86
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Got the mesh bindings sorted out:

Model found at 0x1477C (0x14944)
Model name=NBB_King_GeorgeV
Flags=0 0x14788 (0x14950)
Origin=0.000000, 0.000000, 0.000000 0x1478C (0x14954)
Rotation (quaternion)=0.000000, 0.000000, 0.000000, 1.000000 0x14798 (0x14960)
Scale=1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 0x147A8 (0x14970)
Number of mesh bindings=47 0x147CC (0x14994)
Mesh bindings start at 0x147DC (0x149A4)
Mesh binding 0 pointer (0x146D4) found at 0x147DC (0x149A4)
Mesh binding 1 pointer (0x14468) found at 0x147E0 (0x149A8)
Mesh binding 2 pointer (0x141FC) found at 0x147E4 (0x149AC)
Mesh binding 3 pointer (0x13F90) found at 0x147E8 (0x149B0)
Mesh binding 4 pointer (0x13D24) found at 0x147EC (0x149B4)
Mesh binding 5 pointer (0x13AB8) found at 0x147F0 (0x149B8)
Mesh binding 6 pointer (0x1384C) found at 0x147F4 (0x149BC)
Mesh binding 7 pointer (0x135E0) found at 0x147F8 (0x149C0)
Mesh binding 8 pointer (0x13374) found at 0x147FC (0x149C4)
Mesh binding 9 pointer (0x13108) found at 0x14800 (0x149C8)
Mesh binding 10 pointer (0x12E9C) found at 0x14804 (0x149CC)
Mesh binding 11 pointer (0x12C30) found at 0x14808 (0x149D0)
Mesh binding 12 pointer (0x129C4) found at 0x1480C (0x149D4)
Mesh binding 13 pointer (0x12758) found at 0x14810 (0x149D8)
Mesh binding 14 pointer (0x124EC) found at 0x14814 (0x149DC)
Mesh binding 15 pointer (0x12280) found at 0x14818 (0x149E0)
Mesh binding 16 pointer (0x12014) found at 0x1481C (0x149E4)
Mesh binding 17 pointer (0x11DA8) found at 0x14820 (0x149E8)
Mesh binding 18 pointer (0x11B3C) found at 0x14824 (0x149EC)
Mesh binding 19 pointer (0x118D0) found at 0x14828 (0x149F0)
Mesh binding 20 pointer (0x11664) found at 0x1482C (0x149F4)
Mesh binding 21 pointer (0x113F8) found at 0x14830 (0x149F8)
Mesh binding 22 pointer (0x1118C) found at 0x14834 (0x149FC)
Mesh binding 23 pointer (0x10F20) found at 0x14838 (0x14A00)
Mesh binding 24 pointer (0x10CB4) found at 0x1483C (0x14A04)
Mesh binding 25 pointer (0x10A48) found at 0x14840 (0x14A08)
Mesh binding 26 pointer (0x107DC) found at 0x14844 (0x14A0C)
Mesh binding 27 pointer (0x10570) found at 0x14848 (0x14A10)
Mesh binding 28 pointer (0x10304) found at 0x1484C (0x14A14)
Mesh binding 29 pointer (0x10098) found at 0x14850 (0x14A18)
Mesh binding 30 pointer (0xFE2C) found at 0x14854 (0x14A1C)
Mesh binding 31 pointer (0xFBC0) found at 0x14858 (0x14A20)
Mesh binding 32 pointer (0xF954) found at 0x1485C (0x14A24)
Mesh binding 33 pointer (0xF6E8) found at 0x14860 (0x14A28)
Mesh binding 34 pointer (0xF47C) found at 0x14864 (0x14A2C)
Mesh binding 35 pointer (0xF210) found at 0x14868 (0x14A30)
Mesh binding 36 pointer (0xEFA4) found at 0x1486C (0x14A34)
Mesh binding 37 pointer (0xED38) found at 0x14870 (0x14A38)
Mesh binding 38 pointer (0xEACC) found at 0x14874 (0x14A3C)
Mesh binding 39 pointer (0xE85C) found at 0x14878 (0x14A40)
Mesh binding 40 pointer (0xE5F0) found at 0x1487C (0x14A44)
Mesh binding 41 pointer (0xE384) found at 0x14880 (0x14A48)
Mesh binding 42 pointer (0xE118) found at 0x14884 (0x14A4C)
Mesh binding 43 pointer (0xDEAC) found at 0x14888 (0x14A50)
Mesh binding 44 pointer (0xDC40) found at 0x1488C (0x14A54)
Mesh binding 45 pointer (0xD9D4) found at 0x14890 (0x14A58)
Mesh binding 46 pointer (0xD768) found at 0x14894 (0x14A5C)
There is no extended data associated with this model

Now I have to write classes for mesh, Primary VertexData, Primary Topology (which is a tritopology group), materials, and textures and then I can finally release my viewer/editor so that everyone can test it.

Since it uses no external dll files (granny2.dll) RAD games (aka the maker of Granny) can kiss my you know what!! There's nothing they can do

I do have to say that Privateer provided the information to overcome that last stumbling block I was having with reading/deciphering the GR2 file. I needed something, just one little tiny bit of information, that told me how to read the beginning of the file. The first version of the template for 010 editor gave me that last piece of the puzzle.

Now taking this GR2 file apart for it's information is pretty easy now. Editing it's contents (like the extended data for items, changing vertex positions, changing texture coordinate positions, and the likes) can be easily done. What will be very hard to do is adding new content to the file or removing content (say verticies for example). The reason is because of the pointers. The pointers are used to 'build' an item, menu, model, etc. There is a specific way it has to be done and it will take some time to figure out all the algorithms. This is where we need people to start looking it over/figuring out the algorithms. The more people working on this the faster it will be achieved.

I do have to say that I'm a little disappointed in the fact that no-one wanted to help in my little open-source project. There were quite a few that downloaded the source code but I never heard one comment/suggestion/etc. from them. I had a few comments that I was living in a 'fantasy' and the likes but I think those that made those comments will be eating their words soon (crow tastes good doesn't it?) Consider open-source project closed now in the fact that no new source code will be released.


Last edited by TheDarkWraith; 10-16-11 at 01:52 PM.
TheDarkWraith is offline   Reply With Quote
Old 10-16-11, 04:13 PM   #87
Kaicokid
Watch
 
Join Date: Dec 2009
Posts: 20
Downloads: 91
Uploads: 0
Well done DW.You (and Privateer) are keeping SH alive. I don't know anything about computer programming or modding but I bet there are many like me, who brought SH5 SOME time back only to find the game unplayable,following your efforts with MUCH interest.Hope to return to playing SH5 in the not to distant future.Thankyou.
Kaicokid is offline   Reply With Quote
Old 10-16-11, 04:25 PM   #88
Echolot
Seasoned Skipper
 
Join Date: Mar 2010
Location: Berlin, Germany
Posts: 718
Downloads: 567
Uploads: 0
Quote:
Well done DW.You (and Privateer) are keeping SH alive. I don't know anything about computer programming or modding but I bet there are many like me, who brought SH5 SOME time back only to find the game unplayable,following your efforts with MUCH interest.Hope to return to playing SH5 in the not to distant future.Thankyou.
Same here. Thank you TDW and Privateer, Anvart, Pintea and all involved poeple.

Keep up the good work.

Regards.

Echolt.
Echolot is offline   Reply With Quote
Old 10-16-11, 04:36 PM   #89
THE_MASK
Ace of the deep .
 
THE_MASK's Avatar
 
Join Date: Jan 2006
Posts: 9,225
Downloads: 901
Uploads: 73


Default

Well , i find it hard to mod a text file
Your efforts are appreciated .
THE_MASK is offline   Reply With Quote
Old 10-17-11, 12:24 AM   #90
TheDarkWraith
Black Magic
 
Join Date: Jun 2007
Posts: 11,962
Downloads: 147
Uploads: 5


Default

Got tripped up with these pointers to pointers for awhile. After that was sorted out I wasn't using the correct section to read the vertex data so I was pulling my hair out for hours on that one That ate most of my time thus I'll have to finish coding the mesh class later. The mesh class does read the vertex data though:

.....
Bone 10 0xB70 (0xD38)
Bone found at 0xB70 (0xD38)
Bone name=Dmg_Col_LifeBoat
Parent index=1 0xB74 (0xD3C)
Flags=3 0xB78 (0xD40)
Origin=0.000000, -0.051135, 0.000000 0xB7C (0xD44)
Rotation (quaternion)=0.000000, 1.000000, 0.000000, 0.000000 0xB88 (0xD50)
Scale=1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 0xB98 (0xD60)
Inverse world transform=1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.051135 0.000000 1.000000 0xBBC (0xD84)
LOD error=0.999214 0xBFC (0xDC4)
Extended data found!

Mesh found at 0x149C (0x1664)
Mesh name=LifeBoat_Hull 0x149C (0x1664)

PrimaryVertexData found at 0x1138 (0x1300)
Unknown=0x0 0x1138 (0x1300)
Number of verticies=2385 0x113C (0x1304)
Verticies pointer points to 0x7440 (0x7608)
Number of vertex component names=6 0x1144 (0x130C)
VertexComponentNames pointer points to 0x1154 (0x131C)
Vertex component names:
Position 0x2F68 (0x3130)
Normal 0x2F74 (0x313C)
Tangent 0x2F7C (0x3144)
Binormal 0x2F84 (0x314C)
TextureCoordinates0 0x2F90 (0x3158)
TextureCoordinates1 0x2FA4 (0x316C)

Verticies:

Vertex 0 0x7440 (0xAC88)
Position: -0.094747 0.006515 -0.195843 0x7440 (0xAC88)
Normal: 0.000000 1.000000 0.000000 0x744C (0xAC94)
Tangent: 0.000000 0.000000 1.000000 0x7458 (0xACA0)
Binormal: -1.000000 0.000000 0.000000 0x7464 (0xACAC)
TextureCoordinates0: 0.974552 0.014070 0x7470 (0xACB8)
TextureCoordinates1: 0.000000 0.000000 0x7478 (0xACC0)

Vertex 1 0x7480 (0xACC8)
Position: -0.094747 0.006515 0.195843 0x7480 (0xACC8)
Normal: 0.000000 1.000000 0.000000 0x748C (0xACD4)
Tangent: 0.000000 0.000000 1.000000 0x7498 (0xACE0)
Binormal: -1.000000 0.000000 0.000000 0x74A4 (0xACEC)
TextureCoordinates0: 0.026402 0.014070 0x74B0 (0xACF8)
TextureCoordinates1: 0.000000 0.000000 0x74B8 (0xAD00)

Vertex 2 0x74C0 (0xAD08)
Position: 0.052104 0.025124 0.153895 0x74C0 (0xAD08)
Normal: -0.972281 0.233325 0.015127 0x74CC (0xAD14)
Tangent: 0.231642 0.952429 0.198043 0x74D8 (0xAD20)
Binormal: 0.031801 0.196058 -0.980077 0x74E4 (0xAD2C)
TextureCoordinates0: 0.845590 0.547377 0x74F0 (0xAD38)
TextureCoordinates1: 0.000000 0.000000 0x74F8 (0xAD40)

Vertex 3 0x7500 (0xAD48)
Position: 0.000000 0.006515 -0.195843 0x7500 (0xAD48)
Normal: 0.000000 1.000000 0.000000 0x750C (0xAD54)
Tangent: 0.000000 0.000000 1.000000 0x7518 (0xAD60)
Binormal: -1.000000 0.000000 0.000000 0x7524 (0xAD6C)
TextureCoordinates0: 0.974552 0.243417 0x7530 (0xAD78)
TextureCoordinates1: 0.000000 0.000000 0x7538 (0xAD80)
....

this was from the CMD_smallboat.gr2 at it's more managable to use while trying to sort this crap out.

TheDarkWraith is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 03:58 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 1995- 2024 Subsim®
"Subsim" is a registered trademark, all rights reserved.