For now, you can switch string tables ingame, and your can switch the speech directories.

If you want to switch localized graphics, you would have to go to every script and definition involved and add a path variable for the graphics.This approach has two major drawbacks:

First. It is unintuitive. You have to figure out where SceneEdit and the other tools store the filenames, add the variable, test it etc.

Second. You may have to change scripts during localisation. This should be avoided, for changing the scripts should start a new testing cycle, which costs valuable production time.

My idea is a quite simple Approach getting rid of all this at once.

Implement a method Game.addLocalDir(string dir) which functions similar to Game.addSpeechDir(). Implement all its co-functions as well.You can also define a default local dir, called "local", which defaults to the main package.

Then modify your graphics loader routines to look for filenames without paths not only in the current directory, but in the assigned local dir(s) as well.

The Game designers can move any local-specific content such as graphic text, wall graffities or even traffic signs to this folder instead of keeping it in the scene to make it localisable.

The localisers just have to work over the graphics in this folder, leaving the rest of the game untouched.

Effect: Noone has to touch the script code, and there are no missed localised graphics, for noone has to search the project for specific graphic.

Perhaps you can also modify the Project Properties Sidebar to show an entry for this default local dir. (maybe even for the default speech dir)

----- NO SUGGESTION --------------------------------------------------It may be an idea to use the local folder to "override" normal scene graphics, but this approach would contradict the gathering of stuff to be localised in one folder. And it is prone to produce errors hard to locate, for you have to know where in your project the graphic comes from. I Would not use this approach.----- NO SUGGESTION --------------------------------------------------

Sounds to me like duplicating the package system. Yeah I know you can't change packages at runtime, but I don't find this an issue. I always preferred the package way of localizing games and was discouraging people from on-the-fly language switching.

The speech directory comparison is a bit off. It's necessary for speech files, because they are played automatically based on string ID in scripts, and the scripts are spread all over the project. Quite a different situation IMO.

Well ... packages are good for localizing, but NOT good for switching content at runtime.It's a matter of game design. Some Games are fixed to one language, others are fixed to a selection at runtime.And others are selecting language at the start of the game.

This is very useful for presentations on (international) shows, as you can adapt the game to your current user, and this is a cruical feature for freeware games combining everything in a single file.

The comparision is not as off as you think. You can have one fixed speech dir without adding it, and it will work. You can replace it by packages, for changing the language. The AddSpeechDir just enables runtime speech switching.

As a workaround, currently I put all my local stuff into the speech dir, for it is switched at language selection -- and i can query my global var. But this is quite bad style ;-(

The feature is not ment to replace the package system, it is ment to support runtime switching of content -- mainly for localisation purpose. I can imagine some other great uses of this feature, but that is beyond the scope of this idea.

My point of view is this: WME provides a very smooth way of localizing any content - the packages. It can't be switched at runtime, but it can be easily switched at startup (using some kind of game launcher). If for whatever reason someone doesn't want to use the package system, they're on their own and they have to do it the hard way.