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

research on an obj to vkm converter

Post questions about game models here, or help out others!
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

@shahkotay2

yea .. as i said armor is a bit tricky. can i proposed few vkm file that dont have any animations. i supply the vkm and u show me what address that i need to fill with 0

1 - Mask : iron_msk.vkm
2 - Armwear Right (iron_brr.vkm) | Armwear Left (iron_brl.vkm)
3 - Footwear Right (iron_grr.vkm) | Footwear Left (iron_grl.vkm)
4 - Saber (iron_sbr.vkm)
5 - Staff (iron_stf.vkm)
6 - Sword (iron_swd.vkm)
7 - Bow (iron_bow.vkm)
8 - Shoulderpad Right : iron_spr.vkm | Shoulderpad Left : iron_spl.vkm

here is the link to the file : https://www.fungwan-online.com/vkm.zip
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: research on an obj to vkm converter

Post by shakotay2 »

thanks -
you can get the address after the face indices (0x29E4) from the
iron_sbr.vkm.obj the FungWang extractor exports:
...
f 202/202/202 203/203/203 200/200/200
# 29e4:
# face index min/max: 1 / 203

I'd suggest to zero out the vkm section from 0x2EA0 to 0x2F9F
and in a second step to 0x368F, for example.

btw: seems there's a small bug with the exporter concerning the sabre
iron_sabre.jpg
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?"
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

I have edited the iron_sbr.vkm as per instructed and i did not notice any changes with the model. i have attached the file that i edited with this post. in the zip file i also include the texture file for the mesh. (wsb0005l.dds).
refer the file below
https://www.fungwan-online.com/saber.zip

thanks
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: research on an obj to vkm converter

Post by shakotay2 »

what happens when you fill in zeroes from 0x2EA0 'til the end of the vkm?

(If the mesh appears to be unchanged pay attention to the texture shading.)
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?"
User avatar
WazerHD
n00b
Posts: 11
Joined: Mon Oct 13, 2014 3:20 pm
Has thanked: 2 times

Re: research on an obj to vkm converter

Post by WazerHD »

shakotay2 wrote:what happens when you fill in zeroes from 0x2EA0 'til the end of the vkm?

(If the mesh appears to be unchanged pay attention to the texture shading.)
I've worked on the shading before. I Replace the hexes from shiny shader to non-shiny shader.
kinda replace it like this;
Image

and replace it to this;

Image

If i miss even 1 zeros, the game gonna crash. no idea why.
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: research on an obj to vkm converter

Post by shakotay2 »

WazerHD wrote:If i miss even 1 zeros, the game gonna crash. no idea why.
that's the reason why we need a full format description

Meanwhile I've got the section start addresses
for Sabre:
0x29f4, 0x2c18

for PC18Body:
0x6095, 0xf314, 0x10834, 0x10b10, 0x155b2

which gives a good start for further analysing.

Headerbytes from offset 0x0C to 0x17 still unknown.
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?"
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

Sorry.. its been awhile .. can we continue on this? anything that i can do to help.
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

I have analyzed the vkm structure and this is my findings. i am using 1 Sword006.vkm and ZKSword.vkm (Edited based from Sword006.vkm). Here is the links for the diff file :-

https://www.diffnow.com/?report=f2mn9

what i have found is

1) Headerbyte from 0x00 to 0x17 is all the same for all vkm file. below is the example

Image

Image

Image


2) On 0x18, when i tried to change the value, game load the mesh file but game would not load the dds file

- here is the original value on zksword.dds @ 0x18 value is 12688 , the dds load fine

Image

Image

- when i change the value to the original Sword006.vkm @0x18 which is 3496 - the sword did not load the dds but the game still load fine

Original Sword006.vkm
Image

After Edit
Image

Image

3) from 0x5D to 0x73 is the same, but other type of weapon such as bow or saber is using different value

- Sword 0x5D to 0x73
Image

- Mask 0x5d to 0x73
Image

- Bow 0x5d to 0x73
Image

4) from 0x74 is the mesh file i presume?

5) and on zksword.vkm called the dds at 000031C8, but the Sword006.vkm called the dds at 00000DE0.

6) On your post at posting.php?mode=quote&f=16&p=112364 , the extractor u have done is perfect, the mesh is indeed like that, when we put alpha dds, it will go invisible.

Image

so far this is what i have manage to find out.
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

shakotay2 wrote:
btw: you could try to increase a known block (vertex or face indices) by adding zero bytes at its end,
then adjust all blockaddresses.
Keep in mind to change the size of the increased block, too!
Then see whether the changed vkm is loaded successfully by the game.
i`m sorry, can u please point me to the address where i need to add zero bytes. really struggling to find the address of the known block (vertex or face indices)
shakotay2 wrote: what is the size? 0x927F for example
address size
0x6091 + 0x927F
0xF310 + 0x1520
0x10830 + 0x2DC
-----------------------------------------

Another thing is to compare the blockaddresses/sizes of the zksword to the sword and understand what was changed.
btw: a "byte to byte comparision" doesn't make sense! In most cases this works only when the file size doesn't change.
0x6091 + 0x927F -> 0xF310 right. so does this mean the blockaddress is 0xF310 ?
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: research on an obj to vkm converter

Post by shakotay2 »

faridkamil wrote:i`m sorry, can u please point me to the address where i need to add zero bytes. really struggling to find the address of the known block (vertex or face indices)
You could use hex2obj to get an idea of the start/stop addresses: (PC18Body.vkm)
PC18body_vkm.JPG
vertex start 0x78: 0x78 + 44 x 307 = 0x6D4
(vertices of 2nd submesh?)
0x353B last byte of vertex block

FIs start address: 0x3540 +1230 (dec.) x4= 0x4878

0x4877 last byte of first FIs' block

0x6091 + 0x927F -> 0xF310 right. so does this mean the blockaddress is 0xF310 ?
yep; add 4 bytes -> 0xF314 to get the start of sections which we got 16 months (!) ago, see some posts above.
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?"
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

Hi,
btw: you could try to increase a known block (vertex or face indices) by adding zero bytes at its end,
then adjust all blockaddresses.
I have added 3 0 bytes at zksword.vkm ending of a known block as per picture below

Image

and i have change the headerbytes from 3190 to 3193

Image

and the game loads fine, both mesh and texture. if i dont change the headerbytes the game load fine, mesh load fine but it did not load the texture
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: research on an obj to vkm converter

Post by shakotay2 »

3 weeks ago I managed to create some ugly obj2vkm converter.
It does handle static objects with a single mesh only and there's no plans to extend it on characters:
FungWan-vkm.zip
Bounding boxes are supposed to reside at offset 0x005C in the vkm file, but not sure.
So I decided not to update them when injecting the required test.obj into the base vkm (view obj2vkm_readme.txt).
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?"
faridkamil
n00b
Posts: 12
Joined: Tue Aug 11, 2015 4:17 pm
Has thanked: 4 times
Been thanked: 2 times

Re: research on an obj to vkm converter

Post by faridkamil »

shakotay2 wrote:3 weeks ago I managed to create some ugly obj2vkm converter.
It does handle static objects with a single mesh only and there's no plans to extend it on characters:
FungWan-vkm.zip
Bounding boxes are supposed to reside at offset 0x005C in the vkm file, but not sure.
So I decided not to update them when injecting the required test.obj into the base vkm (view obj2vkm_readme.txt).

Thank you so much to shakotay2 for your effort in helping our fungwan community. if any of the fungwan player who have knowledge of 3d and want to use this converter and needs help on using this converter can message me via whatsapp or message me (GM)Goku ingame.
Post Reply