freesci-develop
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [freesci-develop] game selection screen


From: Hugues Valois
Subject: Re: [freesci-develop] game selection screen
Date: Thu, 18 Sep 2003 00:20:25 -0700

Hello all,

Here are some details about the game selection screen I mentioned last week. Here are the links first:

Screenshot:      http://hugues.dnsalias.com/data/freesci/game_select.gif
Win32 binary:    http://hugues.dnsalias.com/data/freesci/freesci.zip
Source changes:  http://hugues.dnsalias.com/data/freesci/freesci_changes.zip

These are hosted on my home server, it is not up 24/7 so if it's not working, please try again later.



Current functionality
---------------------
Game selection screen is only invoked if no game is specified as command line parameter when invoking FreeSCI.

Game list reflects the contents of the FreeSCI config file. Since the config file does not allow names to have spaces, the underscore character is automatically replaced with a space character. The game list is alphabetically ordered.

Up/Down/PgUp/PgDn/Tab/ESC/ENTER are used to navigate, mouse is not currently supported.

Game selection screen is scaled according to value specified in config file.


Implementation details
----------------------
When game selection screen comes up, no SCI resources are available at this time, so many functions are difficult or impossible to reuse because they require a resource manager

Graphics driver is initialized for the game selection screen, then destroyed and then proceeds with the regular initialization code for the selected game. This is needed because the initialization settings for the game are not known until that game is selected. I have reused what I could, but some initialization functions for the game selection screen I copied and edited from the regular initialization functions. I wanted to minimize changes to existing initialization code (don’t want to break it).

The screen is drawn using some game selection specific high level functions that talk to the graphics driver (no widgets, again, no resource manager). Fonts are created dynamically in C code (because no resources means no fonts to load).


Known bugs
----------
Graphics driver initialization problems in full screen mode.


Future ideas
------------
Add/Edit/Remove buttons to allow editing of the FreeSCI config file. This requires more UI and also the ability to serialize the config structure back to disk, with minimal loss of information (for example comments would be lost).

Scan for games. There could be a button that clears the game list and recreates it based on the resources found in the folders that were scanned. The name for the games can be assigned arbitrarily if it's not possible to detect them. This is basically an easy way to create a new config file, and the user can then use the edit/remove buttons to fine tune the results.

Mouse support.



hugues

_________________________________________________________________
Express yourself with MSN Messenger 6.0 -- download now! http://www.msnmessenger-download.com/tracking/reach_general





reply via email to

[Prev in Thread] Current Thread [Next in Thread]