Silkroad Wold Map Editing

01/31/2011 22:26 paxemuman#1
-
01/31/2011 22:51 Kape7#2
Ni worked on it some time ago. If you are interested:

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

At the end I can tell you, it's worthless, you can edit and move the map files, but if the navemesh files doesn't fit the map files you will get strange errors, blocked invisible paths and flying characters. If Joymax don't release their tools or a person with high knowldegde on reverse enginnery do a tool for manage the navemesh and the map files you won't succeed at editing maps.
02/01/2011 00:01 paxemuman#3
-
02/01/2011 14:02 npcdoom#4
Sorry to spoil your fun but editing the navmesh files wont do it that just for collision stuff and they generated from the other map files.
02/01/2011 14:08 vorosmihaly#5
well,why would we edit the maps? aren't they good enough?:D
02/01/2011 14:23 paxemuman#6
-
02/01/2011 15:14 npcdoom#7
Let me explain better, you need to edit the map files .m, .o and something else i dont remember right now. with those files u generate the navmesh files and another bunch of files and thats just to move things around and having a consistent map (collision + view wise).

To be able to insert new objects, you need to edit or add the model files .bsr,.bsm,etc, including writing exporters from the modeller app to sro files and do the above all over again.

And the pk2 reader/writer its just to add files to the pk2 wont help you with the rest and doing this by hand its just plain stupid.

:mofo:

But if someone want to dive into this stuff i recommend u read about matrix and transformations, basic knowledge of algebra and trigonometry is a must known
02/01/2011 15:24 paxemuman#8
-
02/02/2011 07:11 Oriya9#9
npcdoom, how did you guys manage to have a proper collision detection?
can you please share some information about it please?
02/02/2011 18:33 npcdoom#10
Well navmesh just define the walkable areas of the map, jmx have 2 version of it 1 for dungeons (.dat) and another one for outdoors (.nvm).

Collision u do it like u would do with any game, check if you collide with the model or not but theres alot of info out the in the internet and bunch of libraries to do it too. But in the end all ends too the basic intersection tests, aabbs/lines/triangles/planes/segments all those algorithm are in the internet also.

Another important issue is taking into account orientation and position of the model in the world.
02/02/2011 20:02 Oriya9#11
Quote:
Originally Posted by npcdoom View Post
Well navmesh just define the walkable areas of the map, jmx have 2 version of it 1 for dungeons (.dat) and another one for outdoors (.nvm).

Collision u do it like u would do with any game, check if you collide with the model or not but theres alot of info out the in the internet and bunch of libraries to do it too. But in the end all ends too the basic intersection tests, aabbs/lines/triangles/planes/segments all those algorithm are in the internet also.

Another important issue is taking into account orientation and position of the model in the world.
I don't want to be too cheeky, but I'd be happy if you could share some information about the way you did it with your emulator.
which algorithm did you use?
how did you work with the navmesh files? did you decrypted the files and stored it somewhere?
if so, can you share such thing or the program you used to get all of the information?
I know I'm asking much, but I am completely lost and I could really use some help here :)

Thansk for your reply btw

Edit:
Just noticed your posts on the other thread.. now I feel silly xD
didn't know it was such a big secret, never mind then.. thanks for the information of course! :)
02/02/2011 21:09 npcdoom#12
Well i wont write all the details about it. Just points some stuff.

Well first the navmesh is just a mesh, mesh is a surface subdivided into smaller polygons mainly triangles/quads, its used for AI path finding applications. How to get from point A to point B.

[Only registered and activated users can see links. Click Here To Register...]

So for the navigation part , AI just use any path finding algorithm, like A* (google it) with each quad vertex as a node for example and u just transverse the generated graph . But for non-AI what i used is just intersect the motion segment (src,dst) with the polygons, that means finding the quad where ur at and moving to the next quad adjacent that intersects the segment, and since ur always moving in a straight line its simple.

That kinda resume it all, in overall, atleast what i did.

Collision wise is more like testing if you collide with each model or not.

About the files i just load them into memory and fit the data to my needs, i didnt want to write a converter kekeke.

How i got the info, hex editor + some experience xD, in the end i wrote my own app to display stuff bcz its easier and theres tons of WTF information out there and bunch of files to just inspect them 1 by 1 =P

[Only registered and activated users can see links. Click Here To Register...]

My 2 little cents
02/02/2011 21:16 x*Manu*x#13
Who cares its Pax! He try to create a Emulator on a old Visual Basic Version Vb06) he will never finish when he never swap to a new/better Version ;)
02/02/2011 21:49 Kazuyaš#14
Quote:
Originally Posted by x*Manu*x View Post
Who cares its Pax! He try to create a Emulator on a old Visual Basic Version Vb06) he will never finish when he never swap to a new/better Version ;)
He'll finish just fine, but his emulator will never be as efficient as one written
in a stronger language(C#/C++/etc)
02/03/2011 06:28 Oriya9#15
Quote:
Originally Posted by npcdoom View Post
Well i wont write all the details about it. Just points some stuff.

Well first the navmesh is just a mesh, mesh is a surface subdivided into smaller polygons mainly triangles/quads, its used for AI path finding applications. How to get from point A to point B.

[Only registered and activated users can see links. Click Here To Register...]

So for the navigation part , AI just use any path finding algorithm, like A* (google it) with each quad vertex as a node for example and u just transverse the generated graph . But for non-AI what i used is just intersect the motion segment (src,dst) with the polygons, that means finding the quad where ur at and moving to the next quad adjacent that intersects the segment, and since ur always moving in a straight line its simple.

That kinda resume it all, in overall, atleast what i did.

Collision wise is more like testing if you collide with each model or not.

About the files i just load them into memory and fit the data to my needs, i didnt want to write a converter kekeke.

How i got the info, hex editor + some experience xD, in the end i wrote my own app to display stuff bcz its easier and theres tons of WTF information out there and bunch of files to just inspect them 1 by 1 =P

[Only registered and activated users can see links. Click Here To Register...]

My 2 little cents
Thanks a lot npcdoom! :)