JACoders / OpenJK

Community effort to maintain and improve Jedi Academy (SP & MP) + Jedi Outcast (SP only) released by Raven Software
GNU General Public License v2.0
2.01k stars 612 forks source link

New GUI/Menu system #87

Open mrwonko opened 11 years ago

mrwonko commented 11 years ago

The current menu system has a couple of drawbacks, including:

I can look into this at some point, though that's some time off still.

eezstreet commented 11 years ago

I'd like to comment that a new parser template class would be very useful for SP. The rest of what you described sounds slightly touching on the gameplay.

mrwonko commented 11 years ago

Well, it'd require a custom uix86.dll, but it doesn't really touch gameplay itself. It would have its place in the modbase and I'm all for having an official "Jedi Academy Enhanced Base" mod at some point.

cadika-orade commented 11 years ago

What if the entire interface could be defined using XML?

ensiform commented 11 years ago

XML please go.

cadika-orade commented 11 years ago

@ensiform I'm sorry. What?

deepy commented 11 years ago

I will raise my opinion against XML, there are better ways to do this.

cadika-orade commented 11 years ago

Fair enough. I've been taking a class on Android development this semester and have been doing a lot of UI design in XML.

Just thought I'd put it out there.

eezstreet commented 11 years ago

Unfortunately there's no one good solution to UI. XML is probably the worst solution tbh. Tbh, the current system wouldn't be so bad if it had more extendability, a scripting system, and more simplicity, especially in regards to buttons/hoverovers and text. Its also the easiest solution to implement while maintaining cross platform and joystick support.

Sent from my Windows Phone


From: cadika-orademailto:notifications@github.com Sent: ‎4/‎23/‎2013 8:03 PM To: Razish/OpenJKmailto:OpenJK@noreply.github.com Cc: eezstreetmailto:eezstreet@live.com Subject: Re: [OpenJK] New GUI/Menu system (#87)

Fair enough. I've been taking a class on Android development this semester and have been doing a lot of UI design in XML.

Just thought I'd put it out there.


Reply to this email directly or view it on GitHub: https://github.com/Razish/OpenJK/issues/87#issuecomment-16896906

Razish commented 11 years ago

I think comparing JA's usage of the .menu scripting system to the potential use of the .menu scripting system, is unfair.

Fun fact: You can do all sorts of preprocessor hacks; double macro expansion, x-macros, $evalint, etc. That's all in botlib code. The game-code should really be using ownerdraw for HUD elements too, but Raven decided to hardcode elements and search by name. Look at some Q3TA HUDs and you'll get an idea of what's possible. You can also define constants from gamecode (e.g. aspectratio) before processing the .menu script

aisouard commented 10 years ago

Just port CEGUI and the issue is closed !

eezstreet commented 10 years ago

How about...

...

No.

Sent from my Windows Phone


From: Axel Isouardmailto:notifications@github.com Sent: ‎10/‎30/‎2013 4:13 AM To: JACoders/OpenJKmailto:OpenJK@noreply.github.com Cc: eezstreetmailto:eezstreet@live.com Subject: Re: [OpenJK] New GUI/Menu system (#87)

Just port CEGUI and the issue is closed !


Reply to this email directly or view it on GitHub: https://github.com/JACoders/OpenJK/issues/87#issuecomment-27371463

ensiform commented 10 years ago

@xycaleth is working on some new menu code that works as a translator to the existing menu code for ease of use.

Razish commented 8 years ago

Close as out of scope? There are so many ways to handle this problem even if we were to pursue it.

clawoflight commented 8 years ago

Just wondering, what do you guys have against XML? A defined subset of XML is a very good and proven way to design structured user interfaces. Do you just not like the syntax?

ensiform commented 8 years ago

The libraries to support XML are bloated pigs even the light versions.

mrwonko commented 8 years ago

Which is fitting, since the format is a bloated pig itself. :tongue:

ensiform commented 8 years ago

I assume claw is referring to the likes of xaml?

clawoflight commented 8 years ago

Not specifically, no. A lot of things use a subset of or close to XML:

There's also QML which is more like JSON. But JSON and XML share most principles, they mostly just look different.

XML is great whenever a clear structure exists, which is always the case in menus.

On 06/18/2016 10:18 PM, Ensiform wrote:

I assume claw is referring to the likes of xaml?

GPG fingerprint: 871F 1047 7DB3 DDED 5FC4 47B2 26C7 E577 EF96 7808

ensiform commented 8 years ago

So bloated pile still. And HTML isn't XML its HTML. XHTML is different.

leilei- commented 8 years ago

I have trouble reading XML files and even specialized XML editors are quite unintuitive to use (like a toolkit-bloated regedit.exe and gratuitous web access in some cases). I'd rather use the TA script system than XML lol. tags tags everywhere

next, someone will be preaching for data exclusively called through jsons, and then drop tga/jpg/bmp/pcx support in favor of only crushed PNGs because it's "the standard". and then move the entire ui/cgame interface system to GTK so some debian maintainers can be happy of keeping security updates up

ghost commented 8 years ago

I move that we should use json exclusively, drop tga/jpg/bmp/pcx in favor of crushed PNGs because it's the standard, and move the entire ui/cgame interface system to GTK.

aisouard commented 8 years ago

If that idea wasn't mentionned before, we can still embed Chromium with CEF to make HTML5 and JS user interfaces.

https://twitter.com/aisouard/status/729595212721467392

How much bloated does that sound for you ? :p

Well, this crashes the sound system and locks the mouse while being ingame under Linux.

mrwonko commented 8 years ago

Something like QML sounds fine to me. Actually an argument could be made for QML/QtQuick itself, if we ignore that it increases our binary size by an order of magnitude.

Razish commented 8 years ago

Format aside, the other points in the issue are specifically related to cgame/ui. It would almost certainly require a fairly large rewrite breaking any notion of compatibility. This puts it out of scope of OpenJK IMO, as nice as it would be to have everything fixed.