My goal is fuzzy but relatively straight forward.. Build a feature rich start menu like you see in most games, while using Chili for the GUI. ( Personally my most memorable GUI was UT99 ). My original goal was for BAR specifically. However it made more sense to build something generic I could then fork for BAR. Hopefully other games will find some use in it as well.
Also; Chili, some of the Spring API, and various other lua parts could use improvement. If I accomplish only one thing I'd like it to be creating something that makes these areas more apparent and easier to tackle.
Now for the link to the github repo and a short description..
Like discussed in the 'in-game menu' thread it's a game archive I launch with a basic startscript.
Specifically this one
Code: Select all
[game]
{
[allyteam0]
{
numallies=0;
}
[modoptions]
{
maxspeed=20;
}
[player0]
{
name=UnnamedPlayer;
team=0;
}
[team0]
{
allyteam=0;
teamleader=0;
}
gametype=SKOLM alpha;
ishost=1;
mapname=Ravaged_v2;
myplayername=UnnamedPlayer;
nohelperais=0;
onlylocal=1;
}
I would've made this thread earlier but I find I have an easier time going through my code than describing it. It isn't much now, and there's a lot of ground work yet to lay; but I'll try keep this updated as I make progress.
New menu proposal: (keep in mind this is mostly separate from my other work)
I think this is pretty solid, and covers everything discussed thus far.
-> Games include lua code. When main menu is loaded it scans and includes this lua.
-> Said lua code contains that games chili (or any UI really) based code for rendering a custom menu.
-> Automagically add tab which loads said menu.
-> Include selectable default menu.
This would allow spring to include it's own generic menu, while allowing games to easily include a custom menu. All from spring.exe.
(I'll put options and that stuff on the right, just didn't for these pics)
using my menu as an example.
Code would be straight forward; this is what I use now
Code: Select all
customMenu = Chili.Control:New{}
AddMenu{name = 'BAR', content = customMenu, color = bla, etc..}
Other things I want/could do:
- Incorporate gajops work to include lobby chat/multiplayer as menus
- Work on API so user widgets can easily add custom menus (should be easy)
- would allow users to download and use there own menus