well here is what I have so far, notice I still have not placed volume or light controls. The blank on the left will be for the playlist, and I still need to locate the currently playing info. All that is easy enough, I am just hoping to get this HADesigner installed tonight.

I have noticed that the textures are duplicated over and over and over again for no apparent reason, is there some logic behind this? For example UI2 on the home screen the same textures are duplicated over and over for each "menu" even though the textures are identical in pixels and in name, just stored in different folders. Wouldn't it be simpler to customize and manage by pointing these buttons at a single texture?

The most specific I can get right now is the graphic used to the buttons on each of the main menu's, for example the Telecom menu and the Media menus in UI2. They have the same graphic when the buttons are not highlighted, but they are both pointing to different paths for the same graphic. I hope that makes sense...

I don't have my environment near me so for the sake of explanation let's say it uses the graphic ButtonNoFocus.bmp.

The Telecom menu would point toMainMenu/Telecom/ButtonNoFocus.bmp

And the Media menu would point toMainMenu/Media/ButtonNoFocus.bmp

Also if I recall correctly, by the above scenario which should be fairly accurate to what is actually being used there is also an existing, but unused MainMenu/ButtonNoFocus.bmp. I was just trying to swap some bitmaps to quickly change the appearance and quickly realized that it meant digging through and creating the same image over and over again.

Gotcha! It kind of makes sense and I'm not sure how orbitergen works under the hood, but I'd imagine that is slowing down the generation quite a bit if it's grabbing and rendering seperate images all over the place when it could just grab one and render it where it needs. At the very least once the orbiter screens are generated it would seem like it would take a performance hit from it.

actually, it wouldn't make that big of a performance hit, because that's not where OrbiterGen spends most of its time.

OrbiterGen has two discrete passes:

In pass 1, it builds a rendering tree from the information in the database, joining together all the information between the various tables, to provide what is essentially a scene graph.

The goal in pass 1, is to create tree branches with as few nodes as possible, because in a screen if nothing changes, a single graphic for the top level designobj is rendered. Otherwise, each time there is a potential child designobj within a designobj that changes, OrbiterGen must render each potential change as a separate graphic, thereby increasing orbiter generation time. This is why Pluto decided later in the game to not use discrete state changes in the Basic skin, and opted to dynamically draw rectangles for selected states, etc. They wanted to cut down on Orbitergen's rendering time.

Now this also implies, that if MNG animations are used, that EACH AND EVERY FRAME for a given region must be rendered separately! (this is actually what happens)

In Pass 2, the rendering trees are used, to direct an image compositor to combine all the requisite images for a given area into a flattened png, and scale them down to the target size dictated by an orbiter's PK_Size.

Thom...jesus man...you are a freakin genious to have figured all of this out. Thanks for breaking it down for me...I'm trying very hard not to be "thick" about my views on HADesigner and reading over this thread, I think it will be helpful for many others to understand why it is a better system than the others I was originally suggesting. +1 Karma for you for sure! I assure you I have been working with the system and don't quite have anything impressive to show off, but I have been able to change things around a bit now after your screencasts and explanations of the system. You are an asset to the development team

I actually have all of my hotspots in photoshop as 266x266 squares like the video mentioned, the Circle in the middle is actually the same dimensions as your game controller in the video (just imagine the circle tightly fitted into a square) 3 buttons high x 3 buttons wide. Also I finished my HADesigner setup last night but didnt get started doing anything because we had some guests over. Tonight I should be able to make some progress.

I am currently still setting up some features and hardware that are taking up most of my spare time. As soon as I tackle some issues (mainly my most important MD will still not net boot, very frustrating ) I will focus on some more designing. I have a USB-UIRT in the mail along with a Wintv-150 tv tuner, I would really like to get the system functional before I dedicate my time making it purty. What is really going to suck is I am sure the very day that I finally get this kernel panic from my NIC fixed will be the day that LMCE 8.10 will be released and it will prob be automatically recognized....