I had to Google for 1366 to see what the heck that was.
Anyway, yes, that seems like a reasonable set of defaults, although I'd
leave 800x600 as well. E:S runs quite well on older computers, and there's
no reason to /completely/ stiff them. For the time being, at least.
> Maybe CUSTOM should always be set to current game resolution. We would miss
> the 5th "option", but read below...
>
> If we can somehow read read user's current screen resolution, we could
> provide different choices depending if user is 4:3 or 16:9. That's 4x2=8
> predefined resolutions, more than enough to anyone's tastes. Reading current
> screen, if possible, would also open many possibilities: Dialog could be
> smarter too, preventing setting a higher res than screen (or at least
> warning about risks). It could also fallback to a safe default if data in
> prefs file is higher than current screen (if, say, user copy his prefs dir
> from full-hd desktop to his tiny netbook). A "force res" option in prefs
> would disable such warnings.
No comment on this at the moment; doing this cross-platform may be decidedly
non-trivial.
> #TODO: Why text in resolutions buttons is so tiny?
I'm sure that's a bug.
> #TODO: Show a 2-or-so-seconds "Please wait" dialog when changing sound options
> # (both Enable/Disable and Sound Buffering ones), because huge lag when
> # applying them might confuse users in clicking them several times
Not a bad idea, although I wouldn't sling too much code at it.
> #TODO: Integrate "Save Options to Disk" functionality in OK button. There is
> # little point for a user not to save preferences automatically, and most
> # will be confused when settings are not applied on next run
Agreed.
> #TODO: Add dialog suggesting restart when language changes, so changes may apply
> # at least until/if we find a way refresh all screens. Don't forget to
> # remind user to save current game (if loaded from map menu)
Also agreed.
> I already have a functional code for clean restart in testing/restart
> branch. Works perfectly
>
> #TODO: Is it really needed to have Sound Buffering options? Or Grab Mouse? Why
> # would a regular user want to tinker with that? Could be command-line only
This is the sort of crap that should be hidden behind an 'Advanced' tab or
the like. Most users would never want to tinker with it, but E:S has run
on a wide variety of hardware over the years, and some of it required
tinkering. Grab Mouse is such a religious Linux thing that I am very
leery of getting rid of it.
> #TODO: There is Enable/Disable Sound. Maybe add Music too?
Good idea.
> ... and Happy Easter everyone!
> ML
P
pygame.display.Info(), if called before setting a video mode, should
return the desktop resolution.
pygame.display.list_modes() is supposed to show all supported fullscreen
modes.
Doing this cross-platform will likely involve checking for weird values
and dropping back to defaults, but I don't know which platforms it will
fail on, and what to check for.
> pygame.display.Info(), if called before setting a video mode, should return
> the desktop resolution.
>
> pygame.display.list_modes() is supposed to show all supported fullscreen modes.
>
> Doing this cross-platform will likely involve checking for weird values and
> dropping back to defaults, but I don't know which platforms it will fail on,
> and what to check for.
Nice. I like it when things are easier. (I didn't look up how to do it in
Pygame last night.) I think we can go ahead with implementing this and then
seeing where it breaks :)
P
> #TODO: Change available resolutions. Drop 640x480, add widescreen ones. It's
> 2012!
> What would be your list? There are 4 buttons + default custom. My suggestion:
> - 1024x600 (for old netbooks)
> - 1024x768 (the universal one... classics never die)
> - 1280x720 (HD, for TVs and low-end laptops and netbooks)
> - 1366x768 (a must nowadays, THE most commonly used worldwide)
> - 1920x1080 (E:S in full-hd! :)I had to Google for 1366 to see what the heck that was.
Anyway, yes, that seems like a reasonable set of defaults, although I'd
leave 800x600 as well. E:S runs quite well on older computers, and there's
no reason to /completely/ stiff them. For the time being, at least.
> If we can somehow read read user's current screen resolution, we could
> provide different choices depending if user is 4:3 or 16:9. That's 4x2=8
> predefined resolutions, more than enough to anyone's tastes. Reading current
> screen, if possible, would also open many possibilities: Dialog could be
> smarter too, preventing setting a higher res than screen (or at least
> warning about risks). It could also fallback to a safe default if data in
> prefs file is higher than current screen (if, say, user copy his prefs dir
> from full-hd desktop to his tiny netbook). A "force res" option in prefs
> would disable such warnings.No comment on this at the moment; doing this cross-platform may be decidedly
non-trivial.
> #TODO: Is it really needed to have Sound Buffering options? Or Grab Mouse? Why> # would a regular user want to tinker with that? Could be command-line only
This is the sort of crap that should be hidden behind an 'Advanced' tab or
the like. Most users would never want to tinker with it, but E:S has run
on a wide variety of hardware over the years, and some of it required
tinkering. Grab Mouse is such a religious Linux thing that I am very
leery of getting rid of it.
> Also, I still miss you opinion about if we should default to fullscreen or
> not. Windowed mode really decreases real-estate, since we need to subtract
> for panels, title bar, etc. As I said, a X,Y windows won't fit a X,Y
> desktop. But it works fine in fullscreen
This is a tough call. For the vast majority of games, I think fullscreen
is the best default. But E:S is one of the rare games that really works
well as a windowed application; you can set it to the slowest time and go
do work or whatever, then jump back to the game and speed it back up. Not
many games fit this model, and I think it's not a bad idea to keep featuring
it.
Which may mean that we want to set default resolutions to /smaller/ than
standard, so that things like titlebars and the like have room. I'm not
sure, though, and would like more opinions on the matter.
> But do you agree on letting those as command-line only? I promise I'll try
> to bring them back ASAP with an "Advanced Options" sub-screen. But for now,
> we need more real-state for resolutions, music, and some other surprises I
> have in my sleeve ;)
Leave Grab Mouse; move the more complicated crap to the command-line.
P
On 04/11/2012 09:24 PM, MestreLion wrote:> Also, I still miss you opinion about if we should default to fullscreen or
> not. Windowed mode really decreases real-estate, since we need to subtract
> for panels, title bar, etc. As I said, a X,Y windows won't fit a X,Y
> desktop. But it works fine in fullscreenThis is a tough call. For the vast majority of games, I think fullscreen
is the best default. But E:S is one of the rare games that really works
well as a windowed application; you can set it to the slowest time and go
do work or whatever, then jump back to the game and speed it back up. Not
many games fit this model, and I think it's not a bad idea to keep featuring
it.
Which may mean that we want to set default resolutions to /smaller/ than
standard, so that things like titlebars and the like have room.
I'm not sure, though, and would like more opinions on the matter.
Leave Grab Mouse; move the more complicated crap to the command-line.P
On 05/05/2012 05:06 AM, MestreLion wrote:
> Language names in the available languages selection list are presented
> in native language, if possible, or in English. Names are read from
> the data/languages.dat pickle file created by tools/languages.py
Everything else you mentioned is fine, but this seems a bit "magic."
Whose responsibility is it to rebuild this data file, for example?
Why can't it just be a flat text file like basically everything else?
I mean, we're showing a native language's name in its own name; that's
not a whole lot of entries.
Also, how would one pick between (say) pt_BR and pt_PT now? I only see
one entry.
This isn't enough of a problem to keep me from merging the (otherwise
fantastic) set of changes you've done, so you'll be seeing a large
merge commit very soon. But I'm curious as to these two things and
how you think we could best address them.
P
On 05/11/2012 07:58 AM, Mestre Lion wrote:
> The commit is in my testing/lanaguagedata branch at github. Take a look (but
> don't merge yet) and tell me what you think...
Looks fine. This is much better, because the size gain isn't that much
(20%? Who cares?), and now the file is text that someone could potentially
edit by hand.
I'm not saying they will, I'm not saying they /should, I'm
saying they /can/. And it returns everything in that directory to being a
text file that can be edited.
json was added in Python 2.6, but we already require a Python that new, so
that's not a problem.
Excellent. Push it up :)