Author Topic: Graphic Options Menu  (Read 12557 times)

0 Members and 1 Guest are viewing this topic.

i would love too... ^^
After the many things that have been awesomely (not sure about this word ) improved with fsO , the default interface remain the one that would benefit a refresh :)

something easyer to mod, who would not strectch amongst the whole screen (actual menu in triplehead are terrible ^^ )

But yeah i guess it won't happen.
$Formula: ( every-time
   ( has-time-elapsed "0" )
   ( Do-Nothing
   )
   ( send-message
      "#Dalek"
      "High"
      "Pro-crasti-nate"
   )
   )
)
+Name: Procratination
+Repeat Count: 99999999999
+Interval: 1

 

Offline Wanderer

  • Wiki Warrior
  • 211
  • Mostly harmless
Mission as mainhall or as background to a mainhall is a horrible concept. Loading time is increased (ie. instead of normal loading time, it now gets to normal loading time + model reading (if not done previously) + actual mission loading). All with normal error and warning checks which far more often than it should means that debug builds (or any one actually doing debugging) will choke on it.

As for using scripting there currently exists a blank state (scripting state) just for doing interfaces etc. via scripting.
Do not meddle in the affairs of coders for they are soggy and hard to light

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
As near as I can tell this in-game menu would require its own assets, right? That means that for new graphics options (ie, whatever brilliant beautiful thing valathil does next. Side note: Shadows+Lightrays? Awesome.) to be used in game, say on a nightly test build, you'd still need to use the launcher/a custom command line. As such, I'd think that an ingame menu should be used as a tweaking thing (like flaser was talking) rather than as the sole general end-user settings point of contact - that's only really a good idea if you're dealing with a finished game and a fixed feature set.

Now that being said, I would LOVE the ability to custom-tweak all those little lighting display tags and see real-time (or even set, hit apply, screen refreshes, set again, etc.) changes in the effect they have, instead of having to close out, tweak the command line/launcher settings, relaunch, etc, until by the time I'm through pilot selection and so on, I've half forgotten what the old settings looked like and I can't compare 'em effectively.

Pie-in-the-sky dreaming here, but would it be possible to have the settings window have, either in a 1/4-sized preview panel or as a togglable screen, a nice big battle with lots of flak and beams and stuff flying all around so as to make sure that A: everything looks nice and pretty and B: the framerate's good.
oh of course im gonna do a preview window. i was thinking about taking a random ship and displaying it + custom things that would serve to highlight the current mouseovered parameter i.e. checkerboard surface below a ship to see shadow parameters or an animated beam swishing around for spec_tube. as for assets im really trying hard to create the menu with antialiased lines and polygons alone so i wont need a graphics artist and so everything remains dynamic and can be modified at will in code. though i wouldnt say a skin system would be out of the question after its done (do i hear screams of MODULAR INTERFACE SCREENS or is that just me)

im of the opinion of do a text based command interface (sort of an ingame console), and make it possible to talk to it from scripting, and let the scripters do the rest. but thats just me.

the console itself would be typical of something you would find in many games, a kestroke pulls down a screen where the user can read information about what the engine is doing and issue commands. think of it as the debug console, only in the game and with a command prompt. you can open it type in anything you want to change and close it. it could also talk to events or scripts currently running (though this would be hidden from the user unless they open the console and read the information there).

it would work like this

1. a script wants to set a variable or issue a command
2. for variables, script queries the console for parameters, or if a command, asks the console if the command the script wants to issue is valid and currently available (for example "end_mission" would not be available if not in mission).
3. the console returns data to the script (probibly as text), if a command is good, bad, or unavailable, or for variables, the type of variable and allowed values and ranges and what the variable is currently set to.
4. the script uses that data to issue a command and also for setup purposes
5. if the command fails it will report an error to the console (script would interpret this as a return value). this is why you want to query the console before issuing commands. this ensures the script cant do anything its not allowed to do (if you try to do it it will fail anyway).

now you just need a gui script and youre all set. modders probably dont want to learn script to create a custom interface. so you have a small community effort to create a base interface to be issued with the media vps. modders want to customize the interface, they can change the base interface graphics. some mods might get adventurous and script their own interface. having a base interface script gives them a starting point. want to run in vanilla? you still have the console and can issue the commands the stock interface doesn't support.

the alternative is adding a gui table, which for the most part would work. most gui apis really just have you place gui elements and you say what you want where you want it and what it does when you interact with it. doing it with scripting makes it versatile as ****, doing it this way makes it a little bit more restrictive. but im not gonna write it so what do i care? :D
« Last Edit: December 09, 2011, 06:08:04 am by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Eli2

  • 26
Maybe use something like http://berkelium.org,
it would make it possible to create the ui in javascript and html.

I think they are the most future proof way to build ui's today.

 

Offline chief1983

  • Still lacks a custom title
  • Moderator
  • 212
  • ⬇️⬆️⬅️⬅️🅰➡️⬇️
    • Minecraft
    • Skype
    • Steam
    • Twitter
    • Fate of the Galaxy
Hell, then even I could help with the UI :P
Fate of the Galaxy - Now Hiring!  Apply within | Diaspora | SCP Home | Collada Importer for PCS2
Karajorma's 'How to report bugs' | Mantis
#freespace | #scp-swc | #diaspora | #SCP | #hard-light on EsperNet

"You may not sell or otherwise commercially exploit the source or things you created based on the source." -- Excerpt from FSO license, for reference

Nuclear1:  Jesus Christ zack you're a little too hamyurger for HLP right now...
iamzack:  i dont have hamynerge i just want ptatoc hips D:
redsniper:  Platonic hips?!
iamzack:  lays

 

Offline jg18

  • A very happy zod
  • 210
  • can do more than spellcheck
Just curious: if/when significant changes to the options UI end up happening, would the current options UI have to be retained and made accessible somehow, in order to comply with the Don't Break Retail rule?

 

Offline Iss Mneur

  • 210
  • TODO:
Just curious: if/when significant changes to the options UI end up happening, would the current options UI have to be retained and made accessible somehow, in order to comply with the Don't Break Retail rule?
Probably.  Based on how we have delt with that kind of change in the past, whatever replaces it would have to be functionally identical to the retail version when faced with retail data, and the easiest way of doing that would be to just leave the retail version available.
"I love deadlines. I like the whooshing sound they make as they fly by." -Douglas Adams
wxLauncher 0.9.4 public beta (now with no config file editing for FRED) | wxLauncher 2.0 Request for Comments

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
new interface modes would override stock. you really dont want to kill stock since you need it to run in vanilla. this is another reason to go the console route if going with scripting, or pulldown menus going with table based interface configs. generic unskinned varients can be used with vanilla to give the same control.
« Last Edit: December 09, 2011, 10:47:36 pm by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Valathil

  • ...And I would have had a custom title if it wasn't for you meddling kids!
  • 29
  • Custom Title? Wizards need no Custom Title!
400 lines of code later: PROGRESS!!!

[attachment deleted by a basterd]
« Last Edit: December 10, 2011, 01:51:10 am by Valathil »
┏┓╋┏┓╋╋╋╋╋╋╋╋╋┏┓
┃┃╋┃┃╋╋╋╋╋╋╋╋╋┃┃
┃┃┏┫┃┏┳━━┓┏━━┓┃┗━┳━━┳━━┳━━┓
┃┃┣┫┗┛┫┃━┫┃┏┓┃┃┏┓┃┏┓┃━━┫━━┫
┃┗┫┃┏┓┫┃━┫┃┏┓┃┃┗┛┃┗┛┣━━┣━━┃
┗━┻┻┛┗┻━━┛┗┛┗┛┗━━┻━━┻━━┻━━┛

 

Offline Mongoose

  • Rikki-Tikki-Tavi
  • Global Moderator
  • 212
  • This brain for rent.
    • Minecraft
    • Steam
    • Something
Woohoo, outlines!

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Mission as mainhall or as background to a mainhall is a horrible concept. Loading time is increased (ie. instead of normal loading time, it now gets to normal loading time + model reading (if not done previously) + actual mission loading). All with normal error and warning checks which far more often than it should means that debug builds (or any one actually doing debugging) will choke on it.


I didn't say it was a good idea. Just that the engine can already do it.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Valathil

  • ...And I would have had a custom title if it wasn't for you meddling kids!
  • 29
  • Custom Title? Wizards need no Custom Title!
More Progress  :D

[attachment deleted by a basterd]
┏┓╋┏┓╋╋╋╋╋╋╋╋╋┏┓
┃┃╋┃┃╋╋╋╋╋╋╋╋╋┃┃
┃┃┏┫┃┏┳━━┓┏━━┓┃┗━┳━━┳━━┳━━┓
┃┃┣┫┗┛┫┃━┫┃┏┓┃┃┏┓┃┏┓┃━━┫━━┫
┃┗┫┃┏┓┫┃━┫┃┏┓┃┃┗┛┃┗┛┣━━┣━━┃
┗━┻┻┛┗┻━━┛┗┛┗┛┗━━┻━━┻━━┻━━┛

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
i hope these interface elements are scriptable. id hate to see 3 interface systems (stock, this, scripted) running simultaneously because there was no integration.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Black Wolf

  • Twisted Infinities
  • 212
  • Hey! You! Get off-a my cloud!
    • Visit the TI homepage!
You know, while the new interface is nice and all, there really is nothing stopping us generating the assets for making this as a typical, retail style UI based menu. The interface system isn't all that complicated, and there's precedent for adding new stuff (See assign loadout to wing, the fiction viewer etc. etc.)

It's doable and not a massive amount of work, from a 2d perspective. Not sure about the coded backend, of course.
TWISTED INFINITIES · SECTORGAME· FRONTLINES
Rarely Updated P3D.
Burn the heretic who killed F2S! Burn him, burn him!!- GalEmp

 

Offline Valathil

  • ...And I would have had a custom title if it wasn't for you meddling kids!
  • 29
  • Custom Title? Wizards need no Custom Title!
im doing it so the mod groups DONT have to create different kinds of backgrounds and designs for it. There will be a simple table or script that defines the colors and style so adapting will be as streamlined as possible. besides whats stopping me from coding in support for texture skins.
┏┓╋┏┓╋╋╋╋╋╋╋╋╋┏┓
┃┃╋┃┃╋╋╋╋╋╋╋╋╋┃┃
┃┃┏┫┃┏┳━━┓┏━━┓┃┗━┳━━┳━━┳━━┓
┃┃┣┫┗┛┫┃━┫┃┏┓┃┃┏┓┃┏┓┃━━┫━━┫
┃┗┫┃┏┓┫┃━┫┃┏┓┃┃┗┛┃┗┛┣━━┣━━┃
┗━┻┻┛┗┻━━┛┗┛┗┛┗━━┻━━┻━━┻━━┛

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
that was the idea behind nukui, provide generic, primitive-based ui elements, and if skins were provided that followed some naming convention, then they would be used instead of the procedural graphics. of course doing it in scripting i dont really have a way to use bitmap masks to denote what can and cannot be clicked on (scripting doesnt have a getPixel operation as of yet, and so we cannot use masks in scripted interfaces), and so the bitmaps must conform to the primitives, and that kinda limits what you can do. you pretty much just stick to 2d vector bounding boxes to denote important areas of the interface element, like dragable/moveable areas.

actually i wouldn't mind supporting vector image formats for interface art, as they are scalable and could probably be rendered with opengl. it could also utilize simple textures for fill, provide polygonal masks, and would look pretty good at all resolutions.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Valathil

  • ...And I would have had a custom title if it wasn't for you meddling kids!
  • 29
  • Custom Title? Wizards need no Custom Title!
so are you telling me you are already working on this? how far are you along ? maybe we should work together
┏┓╋┏┓╋╋╋╋╋╋╋╋╋┏┓
┃┃╋┃┃╋╋╋╋╋╋╋╋╋┃┃
┃┃┏┫┃┏┳━━┓┏━━┓┃┗━┳━━┳━━┳━━┓
┃┃┣┫┗┛┫┃━┫┃┏┓┃┃┏┓┃┏┓┃━━┫━━┫
┃┗┫┃┏┓┫┃━┫┃┏┓┃┃┗┛┃┗┛┣━━┣━━┃
┗━┻┻┛┗┻━━┛┗┛┗┛┗━━┻━━┻━━┻━━┛

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
well mine is scripted and so far i have two kinds of interface elements working (buttons and sliders). you can download the nukui mod from my svn in my siggy and its pretty much a stand alone mod. go to the lab to play with it. right now it just prints messages to the debug console. nukui.lua contains the actual script, and lab_init gives an example of what the interface creator needs to do to setup an interface. its pretty much: call function to set up an element, create event functions, bind those functions to pre-defined events, ???, profit. its still somewhat preliminary and would still require a way to issue interface commands.

i was kind of holding off work on the thing because i was not sure which way the coders would go (do everything in c and use a table to configure the interface vs. do a command interface in c and everything else in scripting and use scripts configure the interface), seems many of the more influential coders would rather just do everything in c even though this was one of the many reasons why lua scripting was added in the first place. the big issue was you didnt want to allow the script to change a setting outside of established range. so i figured the command interface would require a query to provide information about available settings (by which interface elements could be configured), followed by a setting command (which is internally qualified) to actually change the setting. this would be safer than just letting the script brute force an exposed variable.
« Last Edit: December 18, 2011, 11:38:42 am by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline Valathil

  • ...And I would have had a custom title if it wasn't for you meddling kids!
  • 29
  • Custom Title? Wizards need no Custom Title!
so little progress report to let you guys know how its going on. First a little video: http://youtu.be/0b1lOAPypbc?hd=1

As you can see i got events working i can click and receive mouse overs etc. I'm now moving towards implementing the scripting environment so this can all be used from lua then i gotta think about what options i will integrate and how to do them without crashing the game  :P
┏┓╋┏┓╋╋╋╋╋╋╋╋╋┏┓
┃┃╋┃┃╋╋╋╋╋╋╋╋╋┃┃
┃┃┏┫┃┏┳━━┓┏━━┓┃┗━┳━━┳━━┳━━┓
┃┃┣┫┗┛┫┃━┫┃┏┓┃┃┏┓┃┏┓┃━━┫━━┫
┃┗┫┃┏┓┫┃━┫┃┏┓┃┃┗┛┃┗┛┣━━┣━━┃
┗━┻┻┛┗┻━━┛┗┛┗┛┗━━┻━━┻━━┻━━┛

 

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
coo'
Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them