Hard Light Productions Forums

Modding, Mission Design, and Coding => The Modding Workshop => Topic started by: Black Wolf on January 28, 2007, 03:38:41 am

Title: The nature of the interface
Post by: Black Wolf on January 28, 2007, 03:38:41 am
What the current status of Freespace's GUI, and what are the ways in which it can be altered? It seems I recall at least one code generated method of making a simple interface (WMCoolmon's I think), and I remember vaguely that scripting could do one as well.

I ask because I noticed the other day that WCSaga, TBP and the BSG mod have all made (or at least started to make) new interfaces in the old style of interface, i.e. making and distributing 1500 separate PCX files. If we're going to continue pumping out TCs, (or if the age old dream of a completely fan made (and thus ligitimately free) game in a new universe based off the FSO engine is still alive) it'd be nice to have a comprehensive idea of any ways in which the process of eliminating the old interface can be made easier and less time consuming.
Title: Re: The nature of the interface
Post by: Wanderer on January 28, 2007, 04:07:47 am
AFAIK Taylor is (or has planned to) working on new interface code.. IIRC complete with GUI to edit it.

Currently you can make - or just enhance the current - interface using scripting.
Title: Re: The nature of the interface
Post by: taylor on January 28, 2007, 12:07:19 pm
Yeah, I'm working on an all new interface backend and a GUI tool that allows you to create/customize the interfaces.  It's not going to be an open-ended as a fully scripted interface would be, but it will be highly customizable and offer just about every feature you can think of.  I don't expect it to be perfect by any means, but I've examined the current code, and taken notes on the features that everyone has asked for over the past few years, and I think I've got something that will make everyone happy.

It will be tbl based, and can be changed and tweaked quite easily by modders.  Each screen will be its own tbl file too, which should make things easier to keep up with.  And it will have much better support for multi-resolution, which means that you can do a screen once and have it scale just the way that you want (ie, buttons could change position, but not size) for every resolution that a person might use.  The editor will be sort of like creating a webpage in a WYSIWYG editor, coupled with an IDE.  You create areas for playing animations, create boxes where text will go, etc.  There will be things which must be on each screen (like the briefing must have a "Commit" type button to enter the mission), and a list of available locations to go (ie, techroom, missionsimulator, etc), but as much as possible will be optional and/or very customizable.  You can use graphics and/or colored boxes to represent controls, so you could create a rather nice interface screen without using a single graphic file.

I also plan to create a very simple skeleton interface for modders to build on.  This will give you every interface screen already created, using no graphics.  Then a modder could easily edit the those screens to customize things to their liking, but they wouldn't have to create every screen in the game from scratch.  That should greatly decrease the time and energy needed to create a customized interface, and also open that up to the smaller mods so that they could do some customization and include those change with a mod which would otherwise just be a mission pack.
Title: Re: The nature of the interface
Post by: JGZinv on January 28, 2007, 07:19:25 pm
Sounds quite nice.

A question though - by "interface" are you also including the HUD in that,
or just the other areas excluding the HUD?
Title: Re: The nature of the interface
Post by: taylor on January 28, 2007, 07:55:54 pm
or just the other areas excluding the HUD?
At the moment, excluding the HUD.  The HUD is more of a specialized interface and is better handled in a more dedicated way.  Perhaps that will be with the assistance of the new interface code, perhaps not.  The HUD is already configurable to some extent though, and that existing support will improve in the coming months.
Title: Re: The nature of the interface
Post by: Black Wolf on January 28, 2007, 11:19:40 pm
Wow - sounds really top notch. Any idea on an ETA on this? (not looking for anything like specifics, just curious as to whether it's an ative, high priority thing right now or more an idea for the future.
Title: Re: The nature of the interface
Post by: taylor on January 29, 2007, 12:49:16 am
Wow - sounds really top notch. Any idea on an ETA on this? (not looking for anything like specifics, just curious as to whether it's an ative, high priority thing right now or more an idea for the future.
It's lower priority than the new pilot file code, so it will be later this year before I really start working seriously on the new interface code.  Various parts of it will be intregrated throughout the year though: new graphics formats, new animation format, some animation system upgrades, a few minor ui code upgrades, upgraded font system, full support for TrueType Fonts, and things like that.

The WYSIWYG editor itself will take the longest time, but the core UI engine will have already been integrated into the game by then, so it will be usable long before it's actually easy to use. :)