PDA

View Full Version : [WIP](Help Required) Project Sapphire UI



Rhydgaled
May 15th, 2009, 08:37 AM
I've gone through several Halomaps threads, sent Halomaps PMs and attempted to add two fellow modders on Windows Live Messenger, and still no full solutions. So I'm here to try another method, actually showing some progress. I didn't want to reveal this so soon, so as not to disapoint anyone if I give up (which is very possible), but I see no other way of getting further with the project.


http://img268.imageshack.us/img268/8817/uiwip.jpg

What you see here is the campaign menu screen, the only other screen I have worked on (and the only one near completion) is the main menu itself (no pics sorry, this is the only pic I have on this computer). Anyway, down to the questions.

As you can see on the right hand side of the picture the level select list is visible on this screen, however I would like to make those invisible and the buttons un-clickable(and un-enter-key-able) unless you hit the "Mission:" button.

I have been thinking long and hard about this and decided the best way would probablly to make each list item (button) do a "replace self with widget" to a dummy button (that is invisible and does nothing) but I can't figure out how to make more than one of them switch (I tried one or two things, I think maybe managed to switch two of them once, but anything I expect to switch all of them either does nothing (the widgets don't even switch) or causes an EXCEPTION.

UI buttons can run scripts, so if there is a script command that can tell widgets to do their "replace self with widget" that should solve the problem, but I can't find such a script command.

An alternative would be to make the widget containing all of the level buttons (the "solo_level_select_list.ui_widget_definition" widget) switch itself instead, but everytime I try to make it do that, EXCEPTION.

Ok, so that's the first question out of the way, but there's more.

Does anyone know how to take the colour select list (the vertical list of buttons in the middle of the screen that you click to change your colour) and make it into a spinner list (like on the vehicles screen of edit gametypes (where it says "NONE, 1, 2, 3" or "4" and you press the arrow to toggle between them). I've tried, and failed, several times.

How does the game tell which multiplayer map is which? (it isn't the map name, because all custom maps are treated the same way and battlecreak is beavercreak.map (or was it the other way round) yet the game still knows which name and picture to assign to each map.

Finally (I think) I'm planning on adding support for multipule campaigns, I hear it is possible to get the game to recognise campaign maps other than a10-d40 (see This Halomaps Topic (http://forum.halomaps.org/index.cfm?page=topic&topicID=24542)). Any idea how this would be done? For this I would also need to check if the maps are present, and grey out buttons if they aren't (can the game read an external text file (which I would try and write a program to make) to find things like that out?) Also I've noticed sp maps showing up in the mp menu, and starting them from the mp screen crashes the game. Is them showing up on the mp map list screen avoidable?

See This Halomaps Topic (http://forum.halomaps.org/index.cfm?page=topic&topicID=23764) for some discusion on these questions which may help explain the problems a little better.
__________________________________________________ __________________________________________________ ___________
Update (23rd/June/2009): - Update: I found a workable compromise a while back for that solo level select list, which was to close
all the level name list icons when you select one, to start with they closed all right, but the level you selected wasn't selected, if you see what I mean. Now though, the level will select but sometimes I get an exception, at the momment I'm planning to do a public beta/alpha test in the future in the hope somebody can find a solution. Until then, here's an animted gif to keep you informed, and to explain something else I need help with:
http://img26.imageshack.us/img26/6571/sapphireui1.gif
Sorry for the very bad quality, imageshack won't take files bigger than 1.5MB I think. I can try uploading my first, less compressed, attempt (at 5.85MB) to filefront if anyone wants to see that in better quality. Now, onto needing help, as you can see I have achived the effect I was aiming for. However there is more than just the random exceptions, seeing the results I have decided this still isn't good enough, when I hover over each level name I'm wanting the left-hand coloumn to update, any ideas how I can make it do that?

PS: The HALO bsp is placeholder, I plan to get or make something else in the future. The still on the campaign menu background might be swapped out too. The quit screen (apart from the background bitmaps) is still very much a WIP, and more work might be done on the other screens too. Other menu screens are all unchanged from their default HALO style at the moment, apart from a new gradient background bitmap on the load saved game screen and a failed attempt at a player colour spinner list on the player colour selection screen. EDIT: Something I forgot to say: Also as you can see in the .gif I've decided my attempt at a cursor bitmap was disapointing so I took the Delta Halo UI's cursor off one of their screenshots, so credit for that goes to whoever made it, not me. You can see from the static image above what my cursor was like, it was a bitmap from HALO 2 that I edited (there's other (most of which are tweaked) HALO 2 bitmaps in there too, (eg. the quit screen backgroud) so I can't take credit for everything.)
__________________________________________________ __________________________________________________ ___________
Time for a little reveal. I had been aiming to release this today (Bungie Day 09 (we're now about 1 hour into July the 7th here in the UK)), however I've been far too slow, so you get the afore-mentioned, exception hunt (alpha test) instead. Hope you like it, (http://www.filefront.com/13985041/Sapphire_UI_ALPHA_01.zip) AND READ THE README!![ Remember, the main purpose of this release is to get that exception fixed.

Arteen
May 15th, 2009, 10:36 AM
Umm, those links aren't working, how would I make them work?
There's an "Insert Link" option.
http://img193.imageshack.us/img193/8972/insertlink.jpg

You also can insert a link like this (http://img193.imageshack.us/my.php?image=insertlink.jpg).
<URL="http://img193.imageshack.us/my.php?image=insertlink.jpg">like this</URL>
(replace the angle brackets with square brackets).

Unfortunately, I don't know anything about UIs. It looks good, though.

Sel
May 15th, 2009, 11:16 AM
That is a really fucking sweet UI. It'd be sweet if it had a few epic halo pictures that faded out and in like some kind of perturbed slide show.

Don't know shit about UIs though, so can't help you, or know if what I suggested is possible :p

Hunter
May 15th, 2009, 11:45 AM
Looks nice, dont like the purply-blue background though.

And graphics could do with being higher res.

Timo
May 15th, 2009, 01:22 PM
What you could do is just set up one widget that handles the left menu but and has just text down the right hand side, and when you click the mission select button it opens up a widget holding that select list, but doesn't allow you to use the right hand buttons (if you want). Never really investigated that kind of stuff with widgets so I can't help you out too much there.

I tried to get the colour select list to be a spinner list as well, but I couldn't get it to work either.

Having multiple SP campaigns isn't too hard - just set up a widget that holds buttons that run scripts for the maps. Not sure how accessing saved games would work though.

Sorry if this seems a bit vague - writing pretty early in the morning -_-;. Looks really nice though, you've obviously put a lot of effort and thought into it.

Timo
May 15th, 2009, 01:27 PM
Looks nice, dont like the purply-blue background though.

And graphics could do with being higher res.


The UI works by just upscaling everything from a 640x480 res into whatever your screen is displaying. So unless he's running at 640x480, it doesn't look that great D: Sucks, I know.

Inferno
May 15th, 2009, 03:41 PM
Cool concept but needs a lot of work. Don't do a static background image also.

SnaFuBAR
May 15th, 2009, 04:09 PM
Work on the text, it's really bad.

Rhydgaled
May 17th, 2009, 06:26 AM
Glad most of you liked it.


There's an "Insert Link" option.
http://img193.imageshack.us/img193/8972/insertlink.jpg

I saw that, but it didn't look like it would let me have the links the way I wanted them (the way you then showed, thanks, also to anyone else he put the tag as </url> when it should have been [/url] (I think)).


That is a really fucking sweet UI. It'd be sweet if it had a few epic halo pictures that faded out and in like some kind of perturbed slide show.

Don't know shit about UIs though, so can't help you, or know if what I suggested is possible :p
If it is possible to make .bitmap tags animate (like animated gifs) I might make a video background, but I don't think you can do that.


What you could do is just set up one widget that handles the left menu but and has just text down the right hand side, and when you click the mission select button it opens up a widget holding that select list, but doesn't allow you to use the right hand buttons (if you want). Never really investigated that kind of stuff with widgets so I can't help you out too much there.
Doesn't the "Open Widget" command open it as a new screen? If I can actually open a widget as a child of this widget it could be a great help, is it do-able?


Having multiple SP campaigns isn't too hard - just set up a widget that holds buttons that run scripts for the maps. Not sure how accessing saved games would work though. Yeah, the way they were talking at Halomaps it sounded like you could actually make the game recongnise the map to make saves work, and unlock the buttons as the previous misson is completed. I know you can make a button that has a map_name command script attached to it but can you make it greyed out until certain maps have been game_won()? (Attached to this, is controling which map to go to automaticlly when game_won() is called.)


Cool concept but needs a lot of work. Don't do a static background image also.
I haven't decided what to do with the background yet, as this is HALO: Custom Edition I'm thinking of enabling the wireframe script for the background on the main menu, that still image is only used on the campaign menu and I might get a different one (that one is the "Halo invaids the PC" wallpaper with said text clone-tooled out). Also I once had the bsp of the control room exterior bsp from campaign on the other menus but it went over the cashe-file size limit when I put the background music in, I am still undecided on what bsp to use (maybe Coagulation with wireframe mode on or my poor Halo 3 Anouncement bsp (if I can have animated scenery and dust working), if they don't go over the cashe-file size limit).


Work on the text, it's really bad.
Which text? If you mean the map description ("Search for the map room that will lead you to the secrets of Halo") one of my friends has already complained about that, and I think it could look better too. I think it's because Halo puts shadow effects on text, which in this case looks bad, anyone know how to fix it?

Timo
May 18th, 2009, 03:17 AM
Glad most of you liked it.

If it is possible to make .bitmap tags animate (like animated gifs) I might make a video background, but I don't think you can do that.
A slide show could theoretically be done, by having widgets with the flash background bitmap checkbox ticked, and the background bitmap being the slide. Then have the widget autoclose after one fade in out cycle, and open another widget with a different bitmap when it closes.



Doesn't the "Open Widget" command open it as a new screen? If I can actually open a widget as a child of this widget it could be a great help, is it do-able?
Yeah the open widget screen opens a whole new widget. But instead of trying to have everything handled by one overall widget, why not have two, where each has the same buttons, but one widget has the left menu activated, and another the right?



Yeah, the way they were talking at Halomaps it sounded like you could actually make the game recongnise the map to make saves work, and unlock the buttons as the previous misson is completed. I know you can make a button that has a map_name command script attached to it but can you make it greyed out until certain maps have been game_won()? (Attached to this, is controling which map to go to automaticlly when game_won() is called.)
I'm not too sure about this. Remembering back to some of the older custom SP maps, when you ran the map_name <name> command it brought you back to the last save point. I don't think you could get the UI to recognize the saves from custom maps. Unless of course you were able to script save points to be saved as a certian name, and have the UI call on each name via scripts. The UI could then be made to have ten or so buttons corresponding to save points within a campaign. When the widget is opened have the child button widgets calls a script. If the script is successful (the specific gamesave exists) the button would be created. If the script fails you can have a conditional widget open that's just an image of a greyed out button.



I haven't decided what to do with the background yet, as this is HALO: Custom Edition I'm thinking of enabling the wireframe script for the background on the main menu, that still image is only used on the campaign menu and I might get a different one (that one is the "Halo invaids the PC" wallpaper with said text clone-tooled out). Also I once had the bsp of the control room exterior bsp from campaign on the other menus but it went over the cashe-file size limit when I put the background music in, I am still undecided on what bsp to use (maybe Coagulation with wireframe mode on or my poor Halo 3 Anouncement bsp (if I can have animated scenery and dust working), if they don't go over the cashe-file size limit).
You can bypass this limit (The delta UI is up to ~80mb at the moment) by using Kornman's Tool_pro. I think it's on halomaps. If not, give me a buzz and i'll upload it for you.



Which text? If you mean the map description ("Search for the map room that will lead you to the secrets of Halo") one of my friends has already complained about that, and I think it could look better too. I think it's because Halo puts shadow effects on text, which in this case looks bad, anyone know how to fix it?

Piss around with the values of the .font tags in guerilla, that's how I got the text I used to look nice.

Rhydgaled
May 18th, 2009, 07:32 AM
A slide show could theoretically be done, by having widgets with the flash background bitmap checkbox ticked, and the background bitmap being the slide. Then have the widget autoclose after one fade in out cycle, and open another widget with a different bitmap when it closes. So you can't just make a bitmap animate by itself, you need shaders or a switch of widget? I guess I might make a wall with an animated shader on it in the bsp, haven't decided yet.



Yeah the open widget screen opens a whole new widget. But instead of trying to have everything handled by one overall widget, why not have two, where each has the same buttons, but one widget has the left menu activated, and another the right?
I think I understood you there, and tried it out. The only problem is when you go to the other one the level that was selected is lost (the left hand side showing the level pic and description is the extended description widget of the list down the right hand side). This was why I was trying to get all 10 list items to do a "replace self with widget" because that way seems to retain selection. If I could call a script that made them all do a "replace self with widget" that might fix it.



I'm not too sure about this. Remembering back to some of the older custom SP maps, when you ran the map_name <name> command it brought you back to the last save point. I don't think you could get the UI to recognize the saves from custom maps. Unless of course you were able to script save points to be saved as a certian name, and have the UI call on each name via scripts. The UI could then be made to have ten or so buttons corresponding to save points within a campaign. When the widget is opened have the child button widgets calls a script. If the script is successful (the specific gamesave exists) the button would be created. If the script fails you can have a conditional widget open that's just an image of a greyed out button. I've never done anything with conditional widgets, can you actually make it load a conditional widget based on the outcome of a script? If so I might be able to use it somewhere, I doubt it's the solution to multipule campaigns though.


You can bypass this limit (The delta UI is up to ~80mb at the moment) by using Kornman's Tool_pro. I think it's on halomaps. If not, give me a buzz and i'll upload it for you.
I read somewhere recently (probablly in the CMT tagspace debate) that using Tool Pro can cause instabillity in-game, if that doesn't happen with UI maps though I'll probablly end up using tool pro later in the process.



Piss around with the values of the .font tags in guerilla, that's how I got the text I used to look nice. Do you know of any good tutorials for screwing with font tags, because I just had a look and tried to change something to no effect.

jcap
May 18th, 2009, 07:38 AM
Font tags are really screwy. They really only look good at certain sizes. You need to mess with all the sizes between 8 and 18 to see what fits best for you.

With the Delta UI, it took a lot of screwing around before we finally settled on them. Even now, I'm going to redo them again for the UI with another font.

Rhydgaled
May 19th, 2009, 09:54 AM
I've just been taking another look at the Delta Halo UI pictures, and something caught my eye.
http://img.photobucket.com/albums/v47/Timo12/fd1852aa.png

On the right hand side where it says "The Quick and the Dead
4-16 Players" the text doesn't seem to have the anoying shadow effect, how did you do that? or is it just part of the map's image?

jcap
May 19th, 2009, 02:08 PM
That was part of the map's image.

Though in the revamped UI the text will not be part of the image. The multiplayer map bitmaps are 13 MB.

Rhydgaled
June 2nd, 2009, 05:45 AM
Update: I think I've thought up a workable compromise for that solo level select list, but now all the buttons on that screen won't show their selected form (the highlighted one). I have not changed the bitmaps, just messed with the UI widgets.

Heathen
June 2nd, 2009, 03:33 PM
ohhh I get it. Trying to be halo 3 ish

Rhydgaled
June 4th, 2009, 05:05 AM
Somebody please, help me out with my buttons failing to show their highlighted form. Due to this problem, progress has halted for now.

Timo
June 4th, 2009, 05:44 AM
Can't help you sorry, never really got into new menu creation specifically. Try looking at an _menu widget, so see if it's consistent with what bungie has done with checkboxes, and child wdiget referencing. I think I encountered the problem once, but I can't remember how I fixed it.

Rhydgaled
June 4th, 2009, 06:47 AM
I think I encountered the problem once, but I can't remember how I fixed it.
Same, it seemed to happen to the level list (on the right hand side) when I removed the widget containing the ok and back buttons from the bottom of the list. This time though it has happened to the left-hand menu at the same time, and I don't think I removed the replacement that I put in for the widget containing the ok and back buttons, so I think the cause is different this time.

EDIT: I appear to have fixed that problem (one of the widgets on the screen was set to "game model (not implemented)" instead of "container" or "coloumn list". I must have acedently knocked the mouse wheel and changed that field to game model.) There's still lots of work to be done before I can move on to another screen though.

Yet another edit: My "workable compromise" was to have all the list items down the side open when you navigate to the menu and then close them all when you select one. They close all right, but the level you selected isn't selected, if you see what I mean. HELP PLEASE!! (prefrablly a fully operable solution where the list isn't displayed to start with and opens when you press the mission button (which has no effect at all right now by the way).

Rhydgaled
June 23rd, 2009, 03:06 PM
Need suggestions on how to make actions occour on hover, rather than on click (see updated first post for detaills, and an animated .gif).

Rook
June 23rd, 2009, 03:35 PM
Keep working on this UI I really love the feel of it. However I agree on things like

1)working on text
2)MAYBE the colors
3)round the edges out of the menu possibly

Good job so far though!

Rhydgaled
July 6th, 2009, 07:07 PM
Bungie day is here, please check the first post for an alpha build of the map. However I haven't tested it scince attempting map protection, or on any computers other than the one I have the HEK installed on, so I hope it works.

Timo
July 6th, 2009, 07:52 PM
You need to decrease the bounds for your main menu item widgets (single player, settings, multiplayer, etc) so they nicely highlight. Right now the bounds of each are overlapping which is why each item doesn't highlight at the right time when you move your mouse down the list. Open up all the item widgets and change the 'b' bound down to 20 - the height of each of your (visible) bitmaps. Decrease the 'r' bound too, to the width of each bitmap so the list is only usable when the mouse is directly over the buttons (right now you can still select buttons when your mouse is just off to the right, see image).

This is what's happening:
http://timo.modacity.net/pix/halo/ui.jpg
The red box is the campaign widget's bounds, the blue box is the multiplayer widget's bounds.. Because the campaign widget is the highest child widget in the select list, its bounds are 'ontop' of all widgets below it. This is why the multiplayer button doesn't work until you're below the red box, the campaign widget's bounds.


I like what your going for here, it looks good so far :-). Oh, and I need to download a single player map before I check out your single player menu - I just reformatted so it thinks i'm playing SP for the first time.


e: Also, I think your bkd_virtual_keyboard.bitmap in your tags\ui\ folder is corrupt - I can't change the name of a profile, server, gametype, etc. When there's no profile present, I can't access any menu other than quit. This is because the game is trying to get you to create a profile by asking you for a name. This might be the cause of your exception.

Futzy
July 6th, 2009, 09:08 PM
Looking good, though your fonts are incorrect, if you are trying for an exact copy.
Conduit ITC is the menu item font - http://www.fontyukle.com/en/ara.php?ara=conduit&button=Search
And it looks like you already have it, but just incase you had used other methods to write out "custom edition" (like copying/tracing letters), the halo 1/2 menu font is ITC Handel Gothic - http://www.fontyukle.com/en/ara.php?ara=handel&button=Search
The downloads for those are free.

I can pull out my old H3 menu .psd if you need any help with this
http://img26.imageshack.us/img26/3711/85077370.png

I made the lobbies a long time ago, but looking at it now, they are completely unsatisfactory.

Also, I may recommend widening out the menu's; here's mock up I made
http://img195.imageshack.us/img195/1983/22279881.png
(hDoan requested that forge be kept, this is a mockup I made for him)
I gave out slices of this to hdoan for use by H3MT, but I haven't heard from him in a while.

Rhydgaled
July 14th, 2009, 05:45 PM
You need to decrease the bounds for your main menu item widgets (single player, settings, multiplayer, etc) so they nicely highlight. Right now the bounds of each are overlapping which is why each item doesn't highlight at the right time when you move your mouse down the list. Open up all the item widgets and change the 'b' bound down to 20 - the height of each of your (visible) bitmaps. Decrease the 'r' bound too, to the width of each bitmap so the list is only usable when the mouse is directly over the buttons (right now you can still select buttons when your mouse is just off to the right, see image).

This is what's happening:
http://timo.modacity.net/pix/halo/ui.jpg
The red box is the campaign widget's bounds, the blue box is the multiplayer widget's bounds.. Because the campaign widget is the highest child widget in the select list, its bounds are 'ontop' of all widgets below it. This is why the multiplayer button doesn't work until you're below the red box, the campaign widget's bounds.

Yeah, I knew about that bug, didn't know how to fix it, got used to it, and forgot about it. I just had a quick shot at what you said ('b' bound to 20) on the Campaign button, and it seemed to fix the problem (for the multiplayer button) but sliced off the bottom of the bitmap.

So I changed it to 24, and did some of the other buttons on that list too, and no change (the campaign button's bitmap had the bottom chopped off still and the others were the same as before, their selection areas were even still covered by the button above them in the list (except mulitplayer, because as I said the change on the campaign button actually worked). EDIT: Never mind, they are all set to 24 now and they select properly, I think I must have forgoten to run tool again to recompile the cache file.


e: Also, I think your bkd_virtual_keyboard.bitmap in your tags\ui\ folder is corrupt - I can't change the name of a profile, server, gametype, etc. When there's no profile present, I can't access any menu other than quit. This is because the game is trying to get you to create a profile by asking you for a name. This might be the cause of your exception.Nope, the bitmap seems fine (opened it in kornman00v2 and clicked "show bitmap" and it didn't look wrong). Also I just tried re-naming the single profile I have and it worked. However when I pressed OK on the settings screen to go back to the main menu after changing the profile name (I think that's where it useally says "saving, one momment please") it froze for a bit, didn't show the "saving, one momment please" message, the music went odd and I thourght it was going to exception. When I renamed my profile back (to a much shorter name) it did the same thing, but the frightening pause with the messed-up music was shorter. I am using the non-protected, just compiled, version though, so maybe the bitmap got corupted in the map when HEK+ did it's thing.

Gwunty
July 14th, 2009, 06:40 PM
^ did you get my pm?

Rhydgaled
July 15th, 2009, 10:07 AM
^ did you get my pm?
Yeah, I got it. I've been a bit slow in replying but you should have a reply by now.

Rhydgaled
September 9th, 2009, 07:19 AM
Another problem, using the continue campaign button seems to always result in an exception:saddowns:

Alwin Roth
September 9th, 2009, 08:16 PM
Has there been a finished Halo 2 or Halo 3 UI?

W1zard
September 11th, 2009, 11:11 AM
Has there been a finished Halo 2 or Halo 3 UI?
If there was a finished H3 UI, he wouldn't be working on one right now.

And there is no H2 ui so far that I know of, there are a few (good looking) UI's that are h2/h3 themed, but one that is accurately replicated has yet to be made/finished.


Nice work mate, keep it up. Incase I missed it, I hope you will/have removed the update check feature, waiting time is pretty annoying.

L283023
September 11th, 2009, 09:07 PM
I'll try to help you if I can, however, I mainly work on custom UI menus, not custom layouts or anything like that.
My xfire and aol is L283023
You can add me if you want any help.

Sinow
September 11th, 2009, 09:18 PM
Same here. I've never worked on a main menu UI but it can't be all that different :D

Rhydgaled
September 13th, 2009, 03:56 AM
Incase I missed it, I hope you will/have removed the update check feature, waiting time is pretty annoying.I think the update check is still there as of now (unless the tags I started with came from a UI map with the update check disabled) but I am considering removing it, so maybe it will be gone if I ever get around to finishing this UI.


I'll try to help you if I can, however, I mainly work on custom UI menus, not custom layouts or anything like that.
My xfire and aol is L283023
You can add me if you want any help.


Same here. I've never worked on a main menu UI but it can't be all that different :D
Thanks for offering to help you two, I don't have Xfire though, only Windows Live Messenger. I perfer to keep my HALO: Custom Edition discustions on the fourms if I can but if you'd perfer to use messenger PM me and I'll add you. At the moment I'm mostly woried about the continue campaign button not working. There's also the problem of my (hopefully temporary) lost of interest in the project, if anyone can explain how to implement some of the more advanced features I've said I'd like to put in that might get me excited enough to boot up my other computer and get to work on it again. I keep all my important stuff and HEK stuff on that other machine, and keep it off the internet and disconected from the mains (and the risk of power surges) most of the time to safegaurd said stuff.

Not sure if I'll have messenger for much longer though. This is because Microsoft are threatening me with a discontinuation of service because I refuse to get the newer version of messenger in case of an XBOX 360 NXE interface / Office 2007 style disaster (both new interfaces make it much harder to find the features of the product considering I was used to the old version (seriouslly, I still can't be bothered to try and re-learn Office, how hard would it have been to have an option to bring back the Office 2000-2003 interface inside the Office 2007 software Microsoft?)). I'm no fan of overly pretty-ified interfaces (like Vista's areo) either, (on this Vista machine I'm using a Windows XP silver style theme).