• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Possible to edit 10.76 .spr and .dat files?

strutZ

Australian OT Member {AKA Beastn}
Joined
Nov 16, 2014
Messages
1,391
Solutions
7
Reaction score
550
Is it possible to edit these files yet? I was using object builder to edit my 10.41 files but it does not support 10.76.
 
There was a major change in animation structure in 10.57 that difficult to update dat editors :X
 
There was a major change in animation structure in 10.57 that difficult to update dat editors :X

Ahh so its not currently possible to edit the .spr and .dat files? Do you know if there is anyone currently working on it? would like to help out.
 
I bet Mark has a working one, ask if he wants to release it.
Otherwise you have to pay someone to do it or wait for it :p
There was an attempt but he later said on github that the changes he did was for nothing.
 
I bet Mark has a working one, ask if he wants to release it.
Otherwise you have to pay someone to do it or wait for it :p
There was an attempt but he later said on github that the changes he did was for nothing.

I'm always happy to pay people for their time the problem is finding someone that is happy to take my money lol no one ever gets back to me :'( I'll shoot Mark a PM and see what he says. I doubt he will release it though..
 
@EdMignari ObjectBuilder can be updated to support the new animation structure, it would just take someone with knowledge of the code to do it. I'll lay out the basics of what needs to be done for anyone wishing to implement it.

Let's start here: https://github.com/ottools/ObjectBu...243d/src/otlib/things/ThingSerializer.as#L853

This only applies to item and outfit objects, but this whole function now has the possibility of being called multiple times instead of just the once, and introduces extra byte reads. This can easily be done by iterating inside the function itself as I've done here: http://pastebin.com/YWxQS9NT

As you can see, objects can now have many more frames than before. So, not only will the thing object need to be modified to store each iterations data (width, height, pattern, etc.), but the editor will need to be modified so that you can actually edit these frames (the biggest challenge), and, of course, writeSprites() will need to be modified to actually save the .dat file.
 
@EdMignari ObjectBuilder can be updated to support the new animation structure, it would just take someone with knowledge of the code to do it. I'll lay out the basics of what needs to be done for anyone wishing to implement it.

Let's start here: https://github.com/ottools/ObjectBu...243d/src/otlib/things/ThingSerializer.as#L853

This only applies to item and outfit objects, but this whole function now has the possibility of being called multiple times instead of just the once, and introduces extra byte reads. This can easily be done by iterating inside the function itself as I've done here: http://pastebin.com/YWxQS9NT

As you can see, objects can now have many more frames than before. So, not only will the thing object need to be modified to store each iterations data (width, height, pattern, etc.), but the editor will need to be modified so that you can actually edit these frames (the biggest challenge), and, of course, writeSprites() will need to be modified to actually save the .dat file.

mm i'll have a play but never done anything like this before.. i'm still a beginner scriptwriter haha
 
Also note that the changes I made will only work for 10.57+. It will need further modifications to keep it backwards compatible with older versions.

Why can't we save this object builder as another program that will only work on 10.57+ and let the old object builder as it is for 10.56 below
 
Why can't we save this object builder as another program that will only work on 10.57+ and let the old object builder as it is for 10.56 below
Actually its why i said earlier that 10.57+ has made things harder.
Keeping backwards compatibility wouldn't be hard, just a simple if statement in that function and the writeSprites() function. The other changes would handle the rest.
 
Keeping backwards compatibility wouldn't be hard, just a simple if statement in that function and the writeSprites() function. The other changes would handle the rest.

I just noticed that the code is basically done? LOL THANKS MAN!!!! WHOOOOO Wuick questio though what program would i edit the sources with? just visual studio?

zzzz nevermind excuse me..
https://github.com/ottools/ObjectBuilder/wiki/Compiling

Also just want to add it doesnt even need to be backwards compatable.. people can just use the old program lol its not like there is any new features.. its just adding extra support.
 
Last edited:
I just noticed that the code is basically done? LOL THANKS MAN!!!! WHOOOOO Wuick questio though what program would i edit the sources with? just visual studio?

zzzz nevermind excuse me..
https://github.com/ottools/ObjectBuilder/wiki/Compiling

Also just want to add it doesnt even need to be backwards compatable.. people can just use the old program lol its not like there is any new features.. its just adding extra support.
The only issue with my code is that any objects that have more than one frame (anything that animates without moving; e.g., fire fields) will only store and let you modify the last frame. Which is why I said there will need to be changes made to store all frames, and allow you to edit them all. Otherwise, yes, my code will work as-is.

True, but retaining backwards compatibility is so easy with adding 10.57+ support that it would be pointless to have two separate versions.
 
Keeping backwards compatibility wouldn't be hard, just a simple if statement in that function and the writeSprites() function. The other changes would handle the rest.
The only issue with my code is that any objects that have more than one frame (anything that animates without moving; e.g., fire fields) will only store and let you modify the last frame. Which is why I said there will need to be changes made to store all frames, and allow you to edit them all. Otherwise, yes, my code will work as-is.

True, but retaining backwards compatibility is so easy with adding 10.57+ support that it would be pointless to have two separate versions.

Ahhh i understand now... I only want to add in some custom sprites though so i dont think this will effect me... Its taken me all day to install the compiling tools because trying to do it at work and proxies sucks.. zzzz

And i'm gonna have to argue this... most people only use one version of tibia anyway so would be no need for backwards anyway haha <3
 
Ahhh i understand now... I only want to add in some custom sprites though so i dont think this will effect me... Its taken me all day to install the compiling tools because trying to do it at work and proxies sucks.. zzzz

And i'm gonna have to argue this... most people only use one version of tibia anyway so would be no need for backwards anyway haha <3
Don't forget though, that code will only read the .dat file correctly. If you don't modify the code to store all of the frames, and modify the writeSprites() function, then when you save your changes you'll just have a broken .dat file.
 
Don't forget though, that code will only read the .dat file correctly. If you don't modify the code to store all of the frames, and modify the writeSprites() function, then when you save your changes you'll just have a broken .dat file.

>.< ok now i'm getting confused... imported your code and getting couple of errors now :'( And all i want to do is add in custom sprites for outfits/items etc why is it so hard!! i dont ask for much haha... So tell me this.. in order for me to edit my .dat AND my .spr i need to import your code which will help allow me to import the spirtes but then work out how to make it save the spirtes to the .dat?
 
>.< ok now i'm getting confused... imported your code and getting couple of errors now :'( And all i want to do is add in custom sprites for outfits/items etc why is it so hard!! i dont ask for much haha... So tell me this.. in order for me to edit my .dat AND my .spr i need to import your code which will help allow me to import the spirtes but then work out how to make it save the spirtes to the .dat?
Go back and read my posts. That code is for the .dat file, and how it's now structured in 10.57. In order to actually edit the .dat file, you will need to modify the code I provided so that it stores each frame of the outer for loop, then edit some other code to actually edit each frame, then modify the writeSprites() function to save it. That code is just a starting point (like I mentioned in my first post), there's a lot more to be done to actually edit the .dat file.
 
Go back and read my posts. That code is for the .dat file, and how it's now structured in 10.57. In order to actually edit the .dat file, you will need to modify the code I provided so that it stores each frame of the outer for loop, then edit some other code to actually edit each frame, then modify the writeSprites() function to save it. That code is just a starting point (like I mentioned in my first post), there's a lot more to be done to actually edit the .dat file.

Thanks again dude so i was right the first time i saw the code. I've fiddled around with it but jsut keep getting errors.. its hard to self teach something as advanced as this. I might need to just wait for it to be updated. Thanks for your replies mate means a lot.
 
Back
Top