Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2002:
[Freeciv-Dev] Re: Getting rid of Isotrident
Home

[Freeciv-Dev] Re: Getting rid of Isotrident

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: Getting rid of Isotrident
From: Jason Short <jdorje@xxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 17 May 2002 13:17:33 -0400

Per I. Mathisen wrote:

Maybe Jason could be persuaded to resume work on his on-the-fly tileset
changing patch... :)

Actually, I would love to do so.

However, there are a few things I would like help with:

- The type of tileset you're using should be saved in the freecivrc file when the client exits. This means if you do ./civ -t trident once, trident will be the default next time you run the game. It also means if you switch tilesets in-game, the switch will be persistent.

- I would like for the list of tilesets to be generated dynamically rather than hard-coded. (This will obviously be desirable at some point.) To do this, the first thing is that it'd be good to add a viewing name to each tileset. Alternately, I suppose I can just take the standard name and capitalize the first letter (trident->Trident).

- I also need to be able to determine what the list is dynamically. This most likely means scanning for tilespec files or some such. Could someone put together a function that does this? Something like:

  char** scan_tilesets(void);

where the return value is a NULL-terminated list of strings (the tileset names), dynamically allocated.


With a list of tilesets, I would dynamically generate a submenu that allows the player to choose their tileset (i.e. view->change tileset->trident). This code would be fairly simple, but would obviously have to be duplicated for each GUI.

Once this is done, the only remaining problem is that it's hard to get everything just right on the tileset switch. But I think such a feature should still go into CVS: it should be labeled as "experimental" and possibly we should say things might not work quite right until you restart the client. But almost everything does work right now (the biggest problem is memory leaks).

jason



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