Author Topic: Stylish4BL - Blockland themes, anyone? - Development ceased until further notice  (Read 11181 times)


Blockland themes, made easy!

BranchDownload
StableN/A
Unstable        N/A
Testinghttp://parrokeet.duckdns.org/blockland/repo/Client_Stylish4BL/testing/Client_Stylish4BL.zip

Support_Updater will update this for you automatically depending on which branch you use.



The point of this addon is to allow for a bit more customization in Blockland. Much more is planned to be added in the future, and I wanted to get some feedback and testing done very early in development.




Planned features
  • Add in support to allow for other themes
  • Add in support to switch themes on-the-fly
  • Add a GUI to preview themes
  • Add in support for Support_Updater
[/s]
  • Find some way to add a theme repository
  • Allow for chat customizing

Known bugs
  • Find a much better way to recursively loop through GuiGroup. This ought to tackle most of the current issues



Recent Updates
v0.1.3-dev-4:
  • More tweaks were added

v0.1.2-dev-2:
  • It now recursively loops through each GUI and sets new profiles only if they're default ones.
  • More tweaks were added
« Last Edit: May 19, 2014, 04:39:47 PM by TheBlackParrot »

Looks awesome, can't wait for it.
A few years ago there was actually an add-on similar to this called "GUI Replacer". It only replaced source images though, and couldn't edit profiles in any other way, like changing fonts etc.

Don't tell us this is another of those scripts that attempt to re-assign images in guis and break any attempt at style someone has put into it?

I think this is great.

Don't tell us this is another of those scripts that attempt to re-assign images in guis and break any attempt at style someone has put into it?
It creates entirely new profiles.


And assigns them how?
Code: [Select]
function setNewProfiles()
{
echo("Setting new window profiles...");
for(%i=0;%i<GuiGroup.getCount();%i++)
{
%gui = GuiGroup.getObject(%i);
for(%j=0;%j<%gui.getCount();%j++)
{
%pot_window = %gui.getObject(%j);
if(%pot_window.getClassName() $= "GuiWindowCtrl")
{
%pot_window.setProfile("StylishWindowProfile");
for(%k=0;%k<%pot_window.getCount();%k++)
{
%pot_element = %pot_window.getObject(%k);
if(%pot_element.getClassName() $= "GuiScrollCtrl")
%pot_element.setProfile("StylishScrollProfile");
if(%pot_element.getClassName() $= "GuiBitmapButtonCtrl")
%pot_element.setBitmap($Stylish::Root @ "themes/" @ $Stylish::Theme @ "/button");
}
}
}
}
echo("Successfully set new window profiles.");
}
schedule(33,0,setNewProfiles);

That's a joke, right?

That's a joke, right?
Well excuse me for not knowing a better way to do it, damn.

You could at least check whether the control is using a custom profile and you especially don't want to replace all bitmap buttons.

That's a joke, right?
Don't be such a prick and either tell him a better way or shut up.


What would be totally awesome:
(Not sure if actually possible, or if you're actually willing to try)

  • An in-game GUI (RTB style) to download themes.
    May require a web server. I don't know how to do this.
  • A theme-creator GUI to make creating themes easy.
    As in, selecting textures and putting them together. Probably hard.
  • Make installing themes easier.
    As in, not having to change client.cs

Just my ideas. I don't really know TorqueScript at all, but
if you want any help designing GUI's, I possibly could help. I find
designing GUI's pretty fun, so yeah.

What would be totally awesome:
(Not sure if actually possible, or if you're actually willing to try)

  • An in-game GUI (RTB style) to download themes.
    May require a web server. I don't know how to do this.
  • A theme-creator GUI to make creating themes easy.
    As in, selecting textures and putting them together. Probably hard.
  • Make installing themes easier.
    As in, not having to change client.cs

Just my ideas. I don't really know TorqueScript at all, but
if you want any help designing GUI's, I possibly could help. I find
designing GUI's pretty fun, so yeah.
In-game GUI probably won't happen as it'll more than likely be DDoS'd within the first week. I don't feel safe hosting it.
A theme "creator" probably won't either, maybe a live previewer of sorts.
Installing themes will be easier; I plan to add a GUI for switching themes on-the-fly. You should never need to modify client.cs once it's added.



Updated to v0.1.3-dev-4.
More custom stuff added is all.

That setNewProfiles function looks like it only touches stuff in GuiWindowCtrls and doesn't handle multiple layers of children well.