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.
-
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
-
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
One of the last gaps of important but important features gets closed by this. Yay!
-
Carsten
- Site Admin
- Posts:2170
- Joined:2004-08-19, 13:46
- Location:Germany
-
Contact:
Post
by Carsten » 2006-06-02, 09:27
Also got the permission to use Grant Davies' font exporter with Ca3DE now...
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 ^^
-
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 ^^
-
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
-
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
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...
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
-
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!
-
Sindwiller - Posts:108
- Joined:2006-04-14, 21:11
- Location:Zürich, Switzerland
Post
by Sindwiller » 2006-06-09, 18:41
Im Working on:
- Some Linux Bash-Scripts for installing stuff. Dont ask further questions, because i can't explain that more simple ^^
Users browsing this forum: No registered users and 10 guests