SakeTami
Speiger
Speiger

patreon


More UI Streamlining

Welcome back everyone who is reading this.

It's been now two weeks again +-1 day, since my last update post was released.
Since then I was working on finishing up the implementation of my UI Components.

Text is finally supporting Bold and a couple extra modifiers which can be just inserted into the text and the FontRenderer converts also that information over in how the text should look. Extra to that the Texture got a bit better because there is now a better sorting of the Letters.

The TextField/TextPlane is also fully working, better then in the old UI, being responsive, supporting more features that weren't present before and having less errors make them look a lot better.

Overall I got aroung all existing Base Components (Buttons/Sliders/TextStuff) finished and I was able to add a couple extras to them. Stuff like ScrollBars, Dynamic Windows (can be seen here), PieCharts, Labels and a couple other things got added to the engine.

The New way how stuff is build (Components & Windows) make also creating new components a lot easier then before because now I can just use existing components and they work more quickly then a reimplementation, it does not work right from the beginning all te time but its a lot easier.

With that implementation of the UI, I also had to rework my Implementation of my Saving System since it is used for storing data if the screen got  reloaded for whatever reason. (Which usually happens only on request or on resize)
That saving system was ok and working, but it had some flaws and missing elements that I kinda wanted. 

Extra to that it needed a massive improvement since the NBTSystem is writing a lot of junk data into the Files that it is saved to. That allows on the other hand makes a lot of things more easy, for the sole reason that the Reader/Writer has a lot of flexebility and can be patched if nessesary. NBT is very close to Json for those who are interested, but its more flexible.

So my custom implementation supports from Byte-String in normal form but also ArrayForm, has also a different sorting in the IDs so no existing reader can decompile it easily.
A lot of helper functions that make just the usage of that System a lot easier got added.
A MultiTypeList with binarylike reading got added.
And a high compression System is added that improves its efficiency the more data you put into a Map.
That is achieved by mapping the keys to IDs and when the data is saved it the map saves a byte/short/integer based on how many different keys exist, especially with a lot of instances that saves a lot of data and making this more efficient.

That was what I was working on during the last two weeks.
Oh and before I forget, what is shown here is how dynamic I was able to make my windows and recreating my profiler pie here, its a dynamic window which resizes accordingly and also has the ability to be moved.
A couple buttons got replaced by others but overall thats still almost the same as before. But that is not done yet. Still WIP, I just ran out of time before this post and I start to like the 2 week updates a lot.

And that is going to be my schedule. That might decrease once it has a demo level reached, but not right now.

So everyone thanks for reading.
If you have feedback, feel free to leave it here.

Thanks for reading, Speiger.

More UI Streamlining

More Creators