For some reason I can't convert Kingdoms meshes to ms3d. Here's what I get with GOAT 1.1:
Attachment 85519
GOM's converter doesn't work either.![]()
For some reason I can't convert Kingdoms meshes to ms3d. Here's what I get with GOAT 1.1:
Attachment 85519
GOM's converter doesn't work either.![]()
Is that order_spearmen or a siege engine as the .dos box suggests?
It is order_spearmen from teutonic.
After some testing I've found that GOAT can convert some of my Kingdoms meshes but not the most of them. And they all seem to be siege engines even the ones that convert.
I've tried just about everything with no luck so any help would be greatly appreciated.
The problem is "packer-unpacker" , you are trying to convert packed mesh to ms3d .
If I do like you, I will get the same result
Attachment 85887
You must previously unpacker order_spearmen_lood0.mesh
(very interesting task)
With a order_spearmen_lod0 unpack, you "walk through" the GOAT, you will get this.
Attachment 85888
Your order_spearmen_lod0
Attachment 85889Attachment 85890
PD I've been away too long time
I too am trying to convert Kingdoms meshes to MS3D and have failed with GrumpyOldMan's converter and both KE converters (GOAT and the earlier, ASCII-producing one).
How do you 'unpack' a .MESH that has been unpacked from the Kingdom's data packs? The CA unpacker tool that generates the .MESH files in the first place won't further unpack what it creates, so I'm not sure what the missing step is that you talk about. Your help is appreciated!
Welcome back Argantonio! Major developments in the 'world modified' thread.
Thank you. Now if someone would tell me what I need to do to be able to convert my mesh files.![]()
I have personnaly requested/begged Argantonio to help me with this and he said he'll be happy to show me how to unpack the mesh files for kingdoms. Just be a little patient and he'll likely post a thread here or if it's somewhere else I'll put a link up for you! Soon my friends.......
"A dark age indeed, no plumbing! No electricity! No nothing! Oh, hang it all." Merlin.
I try to explain how to unpack Kingdom files.
Is a manual method that requires a hex editor, is based on knowledge of the structure of
binary file pack.
File packs are equal in MTWII and Kingdoms , Empire file pack are different.
The procedure is tedious, and limited to one file at a time to unpack.
I think it should be easy to construct a tool , but I do not have the knowledge to do.
I want to explain the structure of a pack file , and how to unpack any packed file MTWII or
Kingdoms .
The construction of the file pack is simple, consisting of three initial data, two sets
of numbers, a long string of readable text ( with names of every files packed), and all
files packed.
The header data are
1) Number of files packed
2) Length of string the legible text ( names of all packed file)
3) Relative Offset position in every file pack "interruptions"
The first set of numbers, is the cumulative length of the legible text .
The total length is the second number header data .
The second set of numbers, are what I call "interruptions".
When a packed file is unpack at one time, just an interruption in the end, and the
number that appears in the series is equal to the length of the packed file.
If file pack is bigger, exe "cut" more times, as numbers appear in the series.
For example, a file packed weighs 100.000 with four interruptions, will have four numbers
in the serie ( Example 25000, 30000, 30000 and 15000), sum is 100.000.
These interruptions, show the relationship between the executable and binary files, if we
go to the subroutine 00EEDA90 ( when the files are unpacked) , we found the interruption
is the sequence 11 00 00 (magic number).
We Read now legible text information (names of packed files), it is known that information before the legible text are 4 numbers:
1) Inicial Offset position of file pack.
2) Number of interruption sequence (Important NOt number of interruptions in this file).
3) Size of file unpack
4) Size of file packed
Example:
Imagine 3 files packed of equal size ( 2000) , first with a 1 interruption (2000), second
with 4 interruptions ( 500, 500, 500 , 500) and third with 2 interruptions (1000 , 1000).
The haeder number of interruptions will be 7 in the second series are seven numbers ,
2000,500,500,500,500,1000,1000 .
And the Number of interruption sequence before the text (names of files packed) will
appear 0 first file ,2 second file ,5 third file
How to do it
1) Open Teutonic.pack , search one name file , mangonel.mesh
read 4 numbers (fig01)
1BE4DD0E 7A1A0000 D3D30200 98B60100 ( red lines)
mods/teutonic/data/siege_engines/mangonel.mesh
in decimal notation
249422875 6778 185299 112280
Attachment 86797
2) Go to Initial Offset, Go to Initial Offset + Size of file packed , makes a block with
file packed , copy ,
we are extract a packed file. easy. (fig2)
249422875 , 249422875 + 112280 = 249535155
Attachment 86798
(...)
Patience...
The number of interruptions of a packed file , is the second number before text name of
packed file , rest the second number before text name of BEFORE packed file.
in mangonel.mesh 7A1A0000h 6778
Attachment 86799
We need read same number in next text name file packed
...mangonel.modelreferncepoints ( fig1 , blue line) 7D1A0000 6781
Easy only rest , 6781-6778= 3
!!!3 are the interruptions of mangonel.mesh packed file!!!
We need to discover the position of them , there are in the second set of numbers , in
position 6778-6779-6780 The numbers are ordenated , every 4 bytes.
Attachment 86800
Go to Header of teutonic.pack remenber second number 00D00600 ( 446464) (fig3)
length of string the legible text ( names of all packed file) is 446464 , run for first
set of numbers (acumulative string length of the text legible) till most nearly lenght,
Attachment 86801
(fig4) 446364 offset 18476 is the position of first interruption ( yellow circle)( begining of second
set)
Attachment 86802
The numbers are ordenated , every 4 bytes. In position 6778-6779-6780 we read (fig 5)
46820000 D7AB0000 7B880000
in decimal
33350 43991 34939
Obviously 33350 + 43991 + 34939 = 112280 size of packed file.
Attachment 86926
4)Use file "custom" pack ,UUP.pack,paste the packed file ( mangonel.mesh) at the end
after data/unppackedfile/fileunppack.bin offset 3511. (fig 6)
Attachment 86804
Go to Offset 872 , ( end number 0-165 serie, UUP permits 166 interruptions) , cut 3 x4
bytes =12 bytes (fig7)
Attachment 86805
paste the numbers 46820000 D7AB0000 7B880000 (Relative Offset position of
interruptions).(fig8)
Attachment 86806
Modified the size of unpack and pack file D3D30200 98B60100 ( fig9)
Attachment 86807
And change number of interruption A5 ( 1 interruption) for A3 ( 3 interruptions)
Finish.
in UPP.rar ( UUP.pack)
5) Put the UUP.pack , custon pack in packs folder of MTWII ( let alone this file in
folder)
6) Open your tools folder/unpacker ,run list_contents
7) in pack_contents.txt appear data/unppackedfile/fileunppack.bin
7) run unpack_certain_files
8) Open folder new data/unppackedfile/, your file unppack is here , change name file....
GOAT and mangonel.ms3d
Attachment 86808
Last edited by Argantonio; May 02, 2010 at 06:52 AM.
Thanks Argantonio!
Everyone should rep Argantonio until he can't get up for 10 minutes!
"A dark age indeed, no plumbing! No electricity! No nothing! Oh, hang it all." Merlin.
Thanks for taking the time to explain that. Might take a bit to work through it all, but you've laid it out very clearly. Much appreciated! I'm sure I'll be back with any questions as needed, or to give more thanks once I've had success. Once I'm able to toss around 'rep', some will be on your way, Argantonio.
For Argantonio![]()
Last edited by colesy606; May 01, 2010 at 12:34 PM.
"A dark age indeed, no plumbing! No electricity! No nothing! Oh, hang it all." Merlin.
Here's my complete ms3d mangonel file! All credit to Argantonio, we've worked at various times throughout the day on this.
Thanks Argantonio!![]()
"A dark age indeed, no plumbing! No electricity! No nothing! Oh, hang it all." Merlin.
I have the exact same problem. Could use some help too.
Attachment 87134
Last edited by Damphair; May 02, 2010 at 03:30 AM.
You are right.
colesy606 has been achieved. He showed to me that I have different numbers in my pack.
But never mind, make these corrections
But the essential are equal.
The offset of your
mods/teutonic/data/siege_engines/mangonel.mesh is 147072
and mine
mods/teutonic/data/siege_engines/mangonel.mesh is 146988
84 bytes difference
Try this
go to offset 1876 + 84 = 18560
you must see the first interruption C5A10000
right
The interruption are 3 , Ok (-3) colesy606 Good Observation
6781 (7D1A) x 4= 27124
Go to Offset , current position 27124
The interruptions must be there ,
46820000D7AB00007B880000
For the one, the only.........Argantonio!![]()
Last edited by colesy606; May 09, 2010 at 03:13 PM. Reason: Gran Argantonio
"A dark age indeed, no plumbing! No electricity! No nothing! Oh, hang it all." Merlin.