The Ca3DE GUI System - we're getting serious ;)

Get technical support about the C++ source code and about Lua scripts for maps, entities, GUIs, the console, materials, etc. Also covered are the Cafu libraries and APIs, as well as compiling, linking, and the build system.
Post Reply
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:
The Ca3DE GUI System - we're getting serious ;)

Post by Carsten » 2006-06-01, 11:30

Hello all,

I wanted to let you know about the latest status of the upcoming Ca3DE GUI system:
  • For font rendering that is even better than that of D3, we will use http://members.optusnet.com.au/~g.davie ... ntToDoom3/ to create new fonts. I still have to contact the author and ask for his permission, though.
  • The scripting will be done with Lua, http://www.lua.org/ .
    While I think that most users will best learn Ca3DE GUI scripting by example, those who are very interested may already have a look into http://www.lua.org/pil/ ;)
  • The concepts for scripting that I'm going to introduce for the GUI will later be extended to entity (map/AI) scripting.
Best regards,
Carsten
User avatar
Thrawn
Posts:302
Joined:2004-08-30, 10:38
Location:NRW, Germany
Contact:

Post by Thrawn » 2006-06-01, 19:30

Carsten, that are very good news. It is very cool to hear (like you said in IRC) that you are finally going to integrate a scripting language, in this case the well known LUA language, into Ca3DE.

A scripting language makes the whole engine (and well in this case it is the GUI) very flexible and customisable, I waited years for this :D

One of the last gaps of important but important features gets closed by this. Yay!
Image
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Post by Carsten » 2006-06-02, 09:27

:D
Also got the permission to use Grant Davies' font exporter with Ca3DE now... :up:
Best regards,
Carsten
Sindwiller
Posts:108
Joined:2006-04-14, 21:11
Location:Zürich, Switzerland

Post by Sindwiller » 2006-06-02, 20:10

Yay!!! Cool news. But what is possible with the GUI-Sys anyway? ;)

Wfr, Sindwiller
Im Working on:
- Some Linux Bash-Scripts for installing stuff. Dont ask further questions, because i can't explain that more simple ^^
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Post by Carsten » 2006-06-03, 09:56

Well, GUI = Graphical User Interface.
The GuiSys will (eventually) replace the initial Ca3DE dialog and will handle the rendering of all other GUI items on screen. It is quasi a mini-OS (or at least the window manager component) inside of Ca3DE.
Initial examples will be the console window, the player HUD, the "Really quit Ca3DE?" dialog on exit, etc. Even the main 3D world rendering of the client will just be another window in the GuiSys.
For more details, see e.g. http://www.doom3world.org/phpbb2/viewtopic.php?t=3127 for an analogous example, or wait until it is finished. ;)
I will post early screenshots of the system during the next week.
Best regards,
Carsten
Sindwiller
Posts:108
Joined:2006-04-14, 21:11
Location:Zürich, Switzerland

Post by Sindwiller » 2006-06-03, 13:43

Actually, i know what a GUI is. But i mean, what is possible with the GuiSys. Like, using images or adding animation's to buttons, windows, text's. Or is it possible to code something like a radar? etc.

Wfr, Sindwiller
Im Working on:
- Some Linux Bash-Scripts for installing stuff. Dont ask further questions, because i can't explain that more simple ^^
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Post by Carsten » 2006-06-05, 18:20

Radar of course must be custom drawn (like the HUD in the current DM code), but everything else you mentioned can be achieved by the GUI.
Best regards,
Carsten
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Post by Carsten » 2006-06-09, 14:00

Hi all,

another progress report:
The Lua bindings to the GUI system are now almost complete, code like this does already work:

Code: Select all

function ButtonOK:OnMouseEnter()
    -- Console.Print("Hallo, das ist ein Test aus dem Test.lua script! " .. tostring(ButtonOK) .. "\n");
    -- Console.Print("Old text was: \"" .. self:get("text") .. "\"\n");
    -- Console.Print("posX is: \"" .. ButtonOK:get("posX") .. "\"\n");

    ButtonOK:set("text", "Hallihallo!");
end


function ButtonOK:OnMouseLeave()
    self:set("text", ">Okay!<");
    ButtonAbbruch:set("text", "...");
end
:wohow:

I also got the Lua book 2nd edition in the meanwhile (see http://www.inf.puc-rio.br/~roberto/pil2/) and learned a lot about the underlying concepts. Again, all experience and knowledge gained now will later be re-used to provide entity scripting in an analogous fashion, an expectation that looks very promising now... 8)

My work will now concentrate again on the remaining open issues with the GuiSys as a whole, and I'll give more progress reports next week.
Best regards,
Carsten
User avatar
Thrawn
Posts:302
Joined:2004-08-30, 10:38
Location:NRW, Germany
Contact:

Post by Thrawn » 2006-06-09, 14:20

WOW that is just AWESOME, so cool to see this turning out well! :D
Image
Sindwiller
Posts:108
Joined:2006-04-14, 21:11
Location:Zürich, Switzerland

Post by Sindwiller » 2006-06-09, 18:41

KEWL!!!! :shock: :shock: :shock: :beta: :beta: :beta: :beta: :groupwave2: :groupwave2: :groupwave2: :idhitit: :idhitit: :idhitit:


Wfr, Sindwiller
Im Working on:
- Some Linux Bash-Scripts for installing stuff. Dont ask further questions, because i can't explain that more simple ^^
Post Reply

Who is online

Users browsing this forum: No registered users and 27 guests