Oh, there's really a bug in OptionsDefault_OnClick, but applies if you use AGS 3.1.
@Khris: Wouldn't simply setting those min and max values in the GUI editor do the same thing? Of course for Jack it's a good start to corner his bug. But I don't exactly get why this could be a bug.
@Jack regarding updating to 1.3
Damn, I should have written an upgrade plan
For updating there are quite a few steps to do, so unless you know what you're doing I'd say to rather stick to 1.2.1 for a while. But if you want to get your game translated to lots of different languages, maybe an update isn't such a bad idea after all.
Anyway here's the plan:
First copy this variable block to a safe location so it doesn't get overwritten.
[code]
int
ActionLabelColorNormal = 15219, // colour used in action bar
ActionLabelColorHighlighted = 38555, // highlighted colour used in action bar
invUparrowONsprite = 124, // sprite slot of the upper inv arrow / normal
invUparrowOFFsprite = 154, // sprite slot of the upper inv arrow / disabled
invUparrowHIsprite = 137, // sprite slot of the upper inv arrow / highlighted
....and so on...
[/code]
Then you need to find the code block were you define your button sprites. Unfortunately I can't give you line numbers since I don't archive the old versions
[code]
SetActionButtons(eGA_GiveTo, "a_button_give 0 125 138 Qq");
SetActionButtons(eGA_PickUp, "a_button_pick_up 1 126 139 Ww");
SetActionButtons(eGA_Use, "a_button_use 2 127 140 Ee");
SetActionButtons(eGA_Open, "a_button_open 3 129 142 Aa");
SetActionButtons(eGA_LookAt, "a_button_look_at 4 134 147 Ss");
SetActionButtons(eGA_Push, "a_button_push 5 131 144 Dd");
SetActionButtons(eGA_Close, "a_button_close 6 133 146 Zz");
SetActionButtons(eGA_TalkTo, "a_button_talk_to 7 130 143 Xx");
SetActionButtons(eGA_Pull, "a_button_pull 8 135 148 Cc");
[/code]
If you did any more edits to guiscript.ash (like different unhandled event responses), you should save those too.
Now you can copy and paste guiscript.asc and .ash from the newer template and after that you can simply set the values back to your old ones thanks to your backup

Globalscript:
In the global script, you have to add this block to the other imports at the top of the script
[code]
import int lang;
[/code]
This is the new game_start function.
[code]
function game_start() {
String tr_lang;
// --- translate GUI action buttons ---
tr_lang = GetTranslation("GUI_LANGUAGE");
tr_lang = tr_lang.LowerCase();
if (tr_lang == "de") {
lang = eLangDE;
}
else if (tr_lang =="es") {
lang = eLangES;
}
else if (tr_lang =="fr") {
lang = eLangFR;
}
else if (tr_lang =="en") {
lang = eLangEN;
}
else if (tr_lang =="it") {
lang = eLangIT;
}
AdjustLanguage();
// --- Set default Door strings (Look, locked and wrong item)
set_door_strings("The door looks solid.","It is locked.","I can't unlock it with that.","I have to close it first.","Now it's unlocked.","The door is locked again.");
// --- initialize game settings ---
SetDefaultAction(eMA_WalkTo);
set_double_click_speed(GetGameSpeed()/4);
// --- set the pixel gap for listbox items according to the screen res
if (System.ScreenWidth<640) listBoxGap = 2;
else listBoxGap = 4;
}
[/code]
That should do the trick.