[WIP] Silkroad Map Viewer

06/20/2012 16:58 Nezekan#16
Quote:
Originally Posted by ÑõÑ_Ŝŧóp View Post
decompiling a .NET application is not hard its just too simple,if you obfuscate your application it would be a bit harder to understand the code,also after deobfuscating (which is not hard also) it will be hard to read the code... my advice is to use smart assembly at least
Why would it matter if somebody sees his code or not? A project like this is too complex for anyone to 'leach'. The basic idea is out there. I wonder why this isn't opensource in the first place :(


06/20/2012 17:04 ÑõÑ_Ŝŧóp#17
was it 'leech' or 'leach' ? xD whatever,unless you protect your exe,its open source,at least for me :D.
he said he might sell it so its better to protect it anyway...
@open source part,it doesn't work in sro scene :(
06/20/2012 17:22 Nezekan#18
Quote:
Originally Posted by ÑõÑ_Ŝŧóp View Post
was it 'leech' or 'leach' ? xD whatever,unless you protect your exe,its open source,at least for me :D.
he said he might sell it so its better to protect it anyway...
@open source part,it doesn't work in sro scene :(
nobody ever really tried it, but this isn't the right thread for that. I'm not talking about real open source, but more like sharing of knowledge. If pushedx and others wouldn't have made their work public domain there wouldn't be a lot of smaller projects like this.
06/20/2012 18:21 theonly112#19
Quote:
Originally Posted by perrytje View Post
I haven't released the source, they would have to reverse it or decompile it somehow. If you can manage to do that it doesnt matter if I obfuscated it or not, they will figure it out.
ya.... you pretty much did release the code.

Code:
public OFile(string path)
{
    this.objects = new List<MapObject>();
    BinaryReader reader = new BinaryReader(File.Open(path, FileMode.Open));
    string[] strArray = path.Split(new char[] { '\\' });
    int num = int.Parse(strArray[strArray.Length - 1].Remove(strArray[strArray.Length - 1].IndexOf(".o2")));
    int num2 = int.Parse(strArray[strArray.Length - 2]);
    reader.BaseStream.Position = 12L;
    for (int i = 0; i < 0x8e; i++)
    {
        short num4 = reader.ReadInt16();
        for (int j = 0; j < num4; j++)
        {
            MapObject item = new MapObject();
            item.group = i;
            item.nameI = reader.ReadInt32();
            item.X = reader.ReadSingle();
            item.Y = reader.ReadSingle();
            item.Z = reader.ReadSingle();
            Stream baseStream = reader.BaseStream;
            baseStream.Position += 2L;
            item.Theta = reader.ReadSingle();
            item.ID = reader.ReadInt32();
            Stream stream2 = reader.BaseStream;
            stream2.Position += 2L;
            int num6 = reader.ReadByte();
            int num7 = reader.ReadByte();
            item.X += (num6 - num) * 0x780;
            item.Z += (num7 - num2) * 0x780;
            this.objects.Add(item);
        }
    }
    reader.Close();
}

 
just as an example.
06/20/2012 18:31 perrytje#20
Actually, you just released my code, I didn't ;)
06/20/2012 21:30 PortalDark#21
Quote:
Originally Posted by ÑõÑ_Ŝŧóp View Post
because your work will be leeched?
agree but imagine, why would you leeche the soruce
if it was a really complex application in which you dedicated lots of hours aside of being payed for it

IMO, this source is not big deal to leech. Imagine what u can do with the source? i cant think o one
06/21/2012 03:01 dracek#22
Quote:
Originally Posted by PortalDark View Post
this could change sro completely(custom edition ftw)
keep going
Not really. It is nice to be able to modify the terrain looks (.o2, .m and their topography friends) however to provide fully functional terrain one has to provide properly modified nav-meshes.

Not saying that it is impossible (quite on the contrary), however it is going to require a lot of hard work and might take quite long to complete. Probably the reason why I gave up and published what I knew at the time.

Oh well, lets see how this goes. ^_^
06/21/2012 06:04 PortalDark#23
Quote:
Originally Posted by dracek View Post
Not really. It is nice to be able to modify the terrain looks (.o2, .m and their topography friends) however to provide fully functional terrain one has to provide properly modified nav-meshes.

Not saying that it is impossible (quite on the contrary), however it is going to require a lot of hard work and might take quite long to complete. Probably the reason why I gave up and published what I knew at the time.

Oh well, lets see how this goes. ^_^
i know that but if you look well, this is just a map viewer
but this could start what i said before
06/21/2012 21:17 perrytje#24
[Only registered and activated users can see links. Click Here To Register...]
06/21/2012 21:42 PortalDark#25
Quote:
Originally Posted by perrytje View Post
looks cool
i thought it was just viewer not editor
06/21/2012 21:57 perrytje#26
Quote:
Originally Posted by PortalDark View Post
looks cool
i thought it was just viewer not editor
The one I released is a viewer, the one on my pc is an editor. I can basically modify every item, and I've just managed to add a new object onto the map aswell. Collision can be found in other files so I'll have to look into those if I want to add solid objects but for now this is fine.

This is a completely new, added from scratch object on the map.
[Only registered and activated users can see links. Click Here To Register...]

What can I say, I like turtles :D
06/22/2012 00:22 theonly112#27
Quote:
Originally Posted by perrytje View Post
The one I released is a viewer, the one on my pc is an editor. I can basically modify every item, and I've just managed to add a new object onto the map aswell. Collision can be found in other files so I'll have to look into those if I want to add solid objects but for now this is fine.

This is a completely new, added from scratch object on the map.
[Only registered and activated users can see links. Click Here To Register...]

What can I say, I like turtles :D
I assume with "other files" you mean the navmesh files?
then you should check out pushedx nvmviewer.
btw: cool stuff. ;)
06/22/2012 14:20 CraYu#28
Is it possible to view caves (dW Cave, jangan Cave, egypt caves, jupiter) ?
06/22/2012 18:01 perrytje#29
Quote:
Originally Posted by CraYu View Post
Is it possible to view caves (dW Cave, jangan Cave, egypt caves, jupiter) ?
Don't know, haven't tried, I'll get back on that one.
06/22/2012 21:43 CraYu#30
I found that in VerData.dll it's about formats that silkroad support or so maybe useful.
Code:
NProtect INI File(*.ini)
NProtect DES File (*.des)
Data File(*.dat)
MapObject(*.o2)
Dungeon File(*.dof)
Ogg File(*.ogg)
Program Debug Info(*.pdb)
True Type Font(*.ttf)
Exe(*.exe)
Dll(*.dll)
Mp3(*.mp3)
Wave(*.wav)
Shader(*.c)
Pixel Shader(*.psh)
Vertex Shader(*.vsh)
Text(*.txt)
Skill Data(*.skd)
Nav Mesh File(*.2dt)
Nav Mesh File(*.nvm)
Map Project Info(*.mfo)
Map Info Files(*.ifo)
MapTexture(*.t)
MapObject(*.o)
MapMesh(*.m)
Texture(*.ddj)
Particle(*.efp)
Compound(*.cpd)
Resource(*.bsr)
Skeleton(*.bsk)
Mesh(*.bms)
Material(*.bmt)
Animation(*.ban)