• 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!

Moving towards OTC

What should we do


  • Total voters
    57
  • Poll closed .
Status
Not open for further replies.
Well so far ive only done smaller things :p
Wanna try and get most of the smaller bugs fixed so we can start to focus on the UI, OTC would be really nice with a HUD :p

I have been working on the UI of the OTClient, I am messing around with UI options, I will probably make a new button or control tab just for UI options.
 
I have been working on the UI of the OTClient, I am messing around with UI options, I will probably make a new button or control tab just for UI options.

Yeah a skin loader wouldn't be a bad ide.
Then some "standard" options where you can add things like mana bar below your name and health bar, HUD etc
 
* Cleaned up the src/client files, aswell as some minor errors that the C++ checker found.
* Fixed a bug with Spells.getSpellByWords, it now seraches for all spells with parameters like exura sio "WibbenZ, this caused a bug with the patch I did regarding the auto healer.
* Started to rewrite the graphics & dat loading code (to fix the idle animation bug), this will most likely take some time since there is plenty of code that needs to be found and updated.
 
* Cleaned up the src/client files, aswell as some minor errors that the C++ checker found.
* Fixed a bug with Spells.getSpellByWords, it now seraches for all spells with parameters like exura sio "WibbenZ, this caused a bug with the patch I did regarding the auto healer.
* Started to rewrite the graphics & dat loading code (to fix the idle animation bug), this will most likely take some time since there is plenty of code that needs to be found and updated.
Nice! You are putting a lot of effort on it, hope you push them soon. So bad that i can't help so much but when i have more experience i'll try :D
 
I will give you few directions (don't quote me, it was a quick analyzation):

This file (VertexArray)
Takes some time and since this is basically based on addVertex(), you can probably use __m64 or if you want, __m128 and convert the calculations appropriately.
And due to how DataBuffer is designed, it automatically grows based on the size, sometimes this vertex array needs more than 64 (default) elements, so you need to also shift this somehow.

[note: this array is converted to raw float array to be passed to the GPU on render (keep this in mind when using aligned memory, otherwise you're going to screw rendering in some way)]

Also, keep in mind, you should never use DataBuffer when using aligned memory, roll your own VertexArray with SSE instead, much easier.

For the rest of the SSE API, you'd need to use like:

You can use a union, e.g.
Code:
union {
    float f[4];
    __m128 ss;
};
Which will automatically convert to _mm_load_ps/_mm_store_ps calls, so no extra hassle.
Anyhow, you most likely would want to use SSE to reduce heavy calculations overhead, there are some more stuff to note here, but they are quite obvious.

As I said, do not take my word, and good luck.
 
Are you putting your fixes up on your github?

Yes soon, kinda failed and started with 100 things at the same time, wanna wrap everything up before I upload it.
Not much left, should be uploaded pretty soon, depends on how much time I can spare.

Might leave the bot out to upload it quicker, it might take abit more time to get to a "this is what I did" state :p
Some things aren't 100% yet (please do note, that I barely have any experience with OTC and had to test and fail to get where I am), but ill try to get the changes up ASAP :)

Nice! You are putting a lot of effort on it, hope you push them soon. So bad that i can't help so much but when i have more experience i'll try :D

Ye :)
Well i'd say I have learned alot by just reading when fixing up the code, would nerver say I know alot about OTC but atleast more then when I started.

I will give you few directions (don't quote me, it was a quick analyzation):

This file (VertexArray)
Takes some time and since this is basically based on addVertex(), you can probably use __m64 or if you want, __m128 and convert the calculations appropriately.
And due to how DataBuffer is designed, it automatically grows based on the size, sometimes this vertex array needs more than 64 (default) elements, so you need to also shift this somehow.

[note: this array is converted to raw float array to be passed to the GPU on render (keep this in mind when using aligned memory, otherwise you're going to screw rendering in some way)]

Also, keep in mind, you should never use DataBuffer when using aligned memory, roll your own VertexArray with SSE instead, much easier.

For the rest of the SSE API, you'd need to use like:

You can use a union, e.g.
Code:
union {
    float f[4];
    __m128 ss;
};
Which will automatically convert to _mm_load_ps/_mm_store_ps calls, so no extra hassle.
Anyhow, you most likely would want to use SSE to reduce heavy calculations overhead, there are some more stuff to note here, but they are quite obvious.

As I said, do not take my word, and good luck.

Thanks :)
Ill take a look at it tomorow and see what I can do!
 
Added 2 PRs today, the src/client files and the modules folder: https://github.com/WibbenZ/otclient
The bot still requires some work and should be added pretty soon.

But these are the things I have found this far and still needs fixing;
* The stamina bar doesn't change colors when you get a lower stamina.
* Seems like the return values aren't sent out, ex your backpack is full.

And if someone feels up for something larger;
* Prepare the UI and skins for a skin loader.
 
Last edited:
Today I updated the channel UI, it's more like the standalone client now.
Also updated the stamina UI, it will now also show in color how much time you have left (like the standalone client), the colors and hours should be correct.
 
Small update.
Been doing some changes to the UI, still plenty to do both logic wise aswell as matching sizes, fixing positions etc
But id say it looks pretty good :p

5_MSUyz.png
 
Last edited:
That is some fine work :)

Thanks, well there is plenty to do if we wanna use the standalone UI.
But it looks like most people prefer the standalone UI so it's probbly worth putting some time into :)
 
Thanks, well there is plenty to do if we wanna use the standalone UI.
But it looks like most people prefer the standalone UI so it's probbly worth putting some time into :)

I'm not so sure about that, I think in anyway we can 'clean up' the standalone UI so it takes up less space is a bonus.

So what you did there was actually pretty nice.
 
I'm not so sure about that, I think in anyway we can 'clean up' the standalone UI so it takes up less space is a bonus.

So what you did there was actually pretty nice.

Ye not to mention trying to find the combat control when you need to pk someone, "give me a min just have to find the button" xD
ERhqZEE.png


Well the space will be less if we go with the standalone UI, we can remove pretty much remove the top menu(modules, console have to be moved).
And this way the inventory window fits more, insted of having combat controlls and the inventory open you just need to open the inventory.
So far everything works, battle.lua needs to be rewritten to work with outside calls(throws errors, because the battle button isen't pressed).

But as I have said before, ppl need to help out otherwise it isen't worth it :p
 
^

I'm curious, what did you use to format the code?

Because I doubt you did all of that by hand.

And i'll start helping, I just hate making commits to github//using github in general.

and make sure to keep up the commits from the main source
 
Aw yyyush, old UI. Can we also get strafe 4 sqm shooting back? And, what are all those little hand things for?
 
^

I'm curious, what did you use to format the code?

Because I doubt you did all of that by hand.

And i'll start helping, I just hate making commits to github//using github in general.

and make sure to keep up the commits from the main source

All is done by hand, got 2 screens so I had my own server up on the right one and OTC on the left one, that way I could easily see diffrences.
The images are taken from the spr file and then I cut them out with photoshop to single files.
So nothing really hard, expect finding the correct margins etc

If you want I can upload your commits, just send them to me and the things you did.
I also hate github, about once per month github goes on it's period and screws with me.
But it's good when it works :p

I have, but the thing is that if I "merge" the commits they will be merged with spaces and that ugly code style.
So far the repo is fully up to date, so no worries there.
And about that I have been thinking about starting a new repo just to get rid of that "x commits ahead, x commits behind" message.

Aw yyyush, old UI. Can we also get strafe 4 sqm shooting back? And, what are all those little hand things for?

Well this is how it would look on 8.6(I know the conditions bar is bugged).
QPog1-i.png


Strafe 4sqm shooting?

The hands:
The button "E" will be activated at version 10.x +(if the server said to use it, so won't be added on servers with the old war system).
When the "E" button is active and clicked those 4 hands will be shown, they are your PvP settings.
And what they do, you can read here: http://tibia.wikia.com/wiki/Combat_Controls
At PVP Mode
 
All is done by hand, got 2 screens so I had my own server up on the right one and OTC on the left one, that way I could easily see diffrences.
The images are taken from the spr file and then I cut them out with photoshop to single files.
So nothing really hard, expect finding the correct margins etc

If you want I can upload your commits, just send them to me and the things you did.
I also hate github, about once per month github goes on it's period and screws with me.
But it's good when it works :p

I have, but the thing is that if I "merge" the commits they will be merged with spaces and that ugly code style.
So far the repo is fully up to date, so no worries there.
And about that I have been thinking about starting a new repo just to get rid of that "x commits ahead, x commits behind" message.



Well this is how it would look on 8.6(I know the conditions bar is bugged).
QPog1-i.png


Strafe 4sqm shooting?

The hands:
The button "E" will be activated at version 10.x +(if the server said to use it, so won't be added on servers with the old war system).
When the "E" button is active and clicked those 4 hands will be shown, they are your PvP settings.
And what they do, you can read here: http://tibia.wikia.com/wiki/Combat_Controls
At PVP Mode

I meant formatting the code; how you changed all tabs and spaces in notepad, and cleaning up the code to be more readable.

I should have been more clear

I knew you made the window by hand XD (good job on it)
 
I meant formatting the code; how you changed all tabs and spaces in notepad, and cleaning up the code to be more readable.

I should have been more clear

I knew you made the window by hand XD (good job on it)

I used notepad++ with "find and replace" and Regex.
But did alot of it manually aswell.
The best way to do it is to read a file(just look at the things in my first PR on github) and see what you wanna change.
Ex. if( => if (
Then you do the same for all elseif, for, while etc etc

The spaces to tabs probbly explains itself :p

But by now i've read through most files, for 2 reaons, find more issues aswell as learning about the functions.
 
Status
Not open for further replies.
Back
Top