They can continue to not use chiliJools wrote: requirement of chili, not all games use chili.

Moderator: Moderators
They can continue to not use chiliJools wrote: requirement of chili, not all games use chili.
Regardless of whether it's about chili or strawberries, I think it's a fair point to ask you to listen to everybody's opinion if those decisions will affect us. It's only fair, right?smoth wrote:You would take the gui code, adapt it to NOTChili and then move on with your life.
Thank you. This was indeed the questions I was having but was afraid to ask (because it could be interpreted as trolling)gajop wrote:There's some confusion about the topic at hand.
I think Funken's proposing something like this:
1) Create a game agnostic menu (he's doing that with SKOLM). It's supposed to provide general purpose lobby functionalities (something akin to spring.exe, but more feature rich).
2) Allow encapsulating game-specific Lua GUI by specifying a file that should contain that game's Lua. It can be in Chili or something else, but it would be loaded within SKOLM.
The issue here is that it might look ugly to combine Chili and non-Chili, and that other games might want a different layout. That said the custom Lua code could always disable SKOLM or just launch a startscript that loads their own game so I think it's OK really
Neither from the picture, replies or looking at github I could find answer to:Funkencool wrote:
I don't get what's not neutral about that?
Removed my cranky post (no need for it)
That means chili would originally have been forced.Funkencool wrote:When main menu is loaded it scans and includes this lua.
-> Said lua code contains that games chili based code for rendering a custom menu.
It is possible right now. Obviously renaming spring.exe is just cosmetic which we both know.Funkencool wrote:"rename spring.exe into nameofgame.exe" isn't even possible right now, much less necessary. As of right now it would just launch into springs default menu, no matter what.
Funkencool wrote:If the game dev want's spring to skip all this and go straight into their menu; they would only need to configure spring to do that. Then they could rename spring.exe into nameofgame.exe and it would be like a real game, with it's own executable
Imo various ideas:Funkencool wrote:My question for you:
How do you suggest making the running of spring.exe show the 'correct menu' directly?
I'm completely aware of this. Neither of those is "double clicking spring.exe". I'm refering to essentially turning the spring engine invisible; So the user doesn't see 'spring.exe' but 'gametheywanttoplay.exe'. Nearly every 'engine' I've used came with a to compile a binary of your game to distribute. This would be a good imitation of that.8611 wrote:2) Starting spring.exe with a "menu_startscript.txt" as parameter.
already possible without change to engine
It could be done in two ways:
2.1) The installer ( https://springrts.com/wiki/Download ) does already create a shortcut to spring.exe
Adding a script.txt as parameter would be small change.
2.2) The installer ( https://springrts.com/wiki/Download ) also includes Springlobby.
Springlobby could add a button "Singleplayer Menu" that executes spring.exe --startmenuscrip.txt
Code: Select all
AddMenu{name = 'Games', width = 80, content = VFS.Include(MENU_DIR .. 'Games.lua')}
AddMenu{name = 'Match Maker', width = 110, content = VFS.Include(MENU_DIR .. 'Skirmish.lua')}
AddMenu{name = 'Quit', right = 1, OnClick = {function() Spring.SendCommands('QuitForce') end}}
AddMenu{name = 'Debug', right = 1, content = VFS.Include(MENU_DIR .. 'Debug.lua')}
AddMenu{name = 'Options', right = 1, content = VFS.Include(MENU_DIR .. 'Options.lua')}
ShowMenu('Games')
Ok.Now as far as your questions about what is 'spring menu' in my picture. I'll do me best to explain simply.
http://i.imgur.com/U7s1Lyh.png
A - hypothetical default backend/UI included with spring, so the user has some way of switching between different things (options, menus, lobbies, chat, whatever they want, etc..)
B - hypothetical included menu I made that uses A's simple API/backend and chili. The user could add his own or change the included ones if he doesn't like what the community decides should be default.
What reason does a spring-game have to come with binary .exe file? Imo none.Funkencool wrote:Nearly every 'engine' I've used came with a to compile a binary of your game to distribute.
Maybe misunderstanding:Simply put A shortcut should not be required to replace the current menu
The engine menu can be changed too (by engine devs) and another "Launch the Play-Area" button could be added.What if a user decides to run spring.exe directly? It would probably be quite confusing. This is all especially true for portable installs.
Your understanding is wrong. B is merely an example of whats possible, not a representation. A is not options, quit, etc.. they are the same as 'Games'. Think of them as extensions loaded by A.8611 wrote:To my understanding A+B both together ARE the spring-menu. (A is options, Quit, B is where player picks a game.)
Yesyes, "hypothetical" menu but if that (B) is an example of a game's menu then is either really bad example or it raises more questions than it answers. (B) is clearly a Select-Game thing..
Code: Select all
-- these are all 'modules' (B) loaded by a broader lua system that handles them (A).
-- I specifically made these ones so that I can test my system with something.
AddMenu{name = 'Games', width = 80, content = VFS.Include(MENU_DIR .. 'Games.lua')}
AddMenu{name = 'Match Maker', width = 110, content = VFS.Include(MENU_DIR .. 'Skirmish.lua')}
AddMenu{name = 'Quit', right = 1, OnClick = {function() Spring.SendCommands('QuitForce') end}}
AddMenu{name = 'Debug', right = 1, content = VFS.Include(MENU_DIR .. 'Debug.lua')}
AddMenu{name = 'Options', right = 1, content = VFS.Include(MENU_DIR .. 'Options.lua')}
-- you can automatically show select 'module' on startup
-- 'Games' is an example of how a user could quickly launch spring, then use this system to get into other game and/or menu systems (like a launcher)
ShowMenu('Games')
You don't get it. In this scenario Spring wouldn't distribute .exe files. Each game would be it's own Spring folder with it's own spring binary, installed to it's own directory. It could completely ignore the entire spring ecosystem. It could include it's own map, settings, missions, etc.8611 wrote:If you want 'gametheywanttoplay.exe' that means there would also be 'another_game.exe' and 'yet_another_game.exe'
Spring has no way to distribute such .exe files.
Your opinion should not prevent others from doing things how they see fit. Just because you prefer the latter method does not mean everyone does. Both can coexist.What reason does a spring-game have to come with binary .exe file? Imo none.
Why would it be desireable? Imo it is not.
Spring has download system, has lobby system, now gets another useful system.
Me too. So I'm trying to do something different. Something that doesn't require launchers, shortcuts, or lobbies.The idea of those shortcuts/launchers I find very bad and a dead-end:
Why? We could skip that step entirely, it's redundant. A new better looking and more functional menu could be made, that does the same things as the current engine menu. Technically I can already do everything the current engine menu can. That is select a game, map, and script.The engine menu can be changed too (by engine devs) and another "Launch the Play-Area" button could be added.
I perfectly get that.Funkencool wrote:You don't get it. In this scenario Spring wouldn't distribute .exe files.
Well, while the rest of us are actually contributing to the Spring project you just seem to be whining...8611 wrote:These new features could improve and grow the Spring Eco system but people are too egocentric and shortsighted and greedy to cooperate on that.
Instead of makig "Spring" better everybody seems focused on getting as far away as possible to greener pastures.
Seems completely wrong to me. The person who is actually producing the content in discussion here is someone who started out creating a piece of work for a particular game and is now trying to find ways to make that work more accessible to Spring projects at large.8611 wrote:These new features could improve and grow the Spring Eco system but people are too egocentric and shortsighted and greedy to cooperate