View Full Version : Scripts (setting controls for individual game)
emuola
05 November 2006, 13:27
I really don't get how the system works. All I'm trying to do is to have some games use mouse and joystick and others 2 joysticks. (Like everyone else ;) For example Populous needs the mouse in port 1 and IK+ needs 2 joysticks. Now I get Populous working but in IK+ only the other Joystick (the one that's not "mouse") works. What does this piece of script in the Default Joystick -script mean?
If Control = JoyPort1
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||joy0)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy1)
Else
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||mouse1)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy0)
End If
I presume this is the problem I'm trying to solve. If I remove the script above from the default script and try to add this in the GEMUS "key = value" pairs for example for IK+:
joyport0=joy0
joyport1=joy1
I still get the mouse to the other port :( What is it that I'm doing wrong. It seems The mouse is there no matter what.
Belgarath
05 November 2006, 14:33
Everything you've done so far is right, but in the main script you also need to add the following line (under the other Set_CFG's)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||%joyport0_value%)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||%joyport1_value%)
It's not always a good idea to have both joysticks enabled by default though, a lot of games have cracktros/trainers which you might not be able to get past without the use of a mouse.
emuola
05 November 2006, 15:53
Ok, so I forgot to pull the main switch ;) I realise the intro-related problem with my config... What would you suggest? How could I change the mappings in the middle of the emulation with as litlle effort as possible. (I have an retro-arcade-cabinet, in which Gamebase AMiga also runs :)
emuola
05 November 2006, 21:25
In addition to the earlier post...
Winuae still sets the controls to "Mouse in port 1 and joystick in port 2" no matter what I add to the script :( So it seems that the "if control = Joyport1" never actually "happens"... Why? I have set the "Control = Joyport1" in the Default Gemus Settings Dropdown menu. Is this really this complicated? The only way I can get 2 oysticks to be used when I lauch a game from Gamebase is when I manually remove this from the script:
If Control = JoyPort1
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||joy0)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy1)
Else
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||mouse1)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy0)
End If
and then manually edit the .uae-config file in the Gamebase directory. Of course then I have to manually change the settings in Winuae if I want to use the mouse.
Belgarath
11 November 2006, 15:20
Sorry, I completely forgot about this!
Right..as long as
If Control = JoyPort1
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||joy0)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy1)
Else
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||mouse1)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy0)
End If
is removed, and
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||%joyport0_value%)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||%joyport1_value%)
is added to the gemus script
then adding
joyport0=joy0
joyport1=joy1
in the script for a game by pressing f2
should absolutely positively work, so please make sure you've done all that
and if it's still not working we'll try and sort something out.
Now as for making things easier in a cab, the best thing to do really is use the quick savestate feature, pressing shift+end+numpad0 will create a savestate with the name of the game, so you create savestates for the games you want like at the title/menu screen, then when you load the game up in GameBase again, that savestate automatically gets loaded.
Now I've just tried this and unfortunately it doesn't seem to save the joystick settings at the time of the savestate :( but it's still a handy trick
emuola
14 November 2006, 21:22
Thanks for your advice. However, I still have one more thing to ask.
Now I have a problem, that when I have done the steps above I get a really weird combination of controls with games, that don't have anything specified in game's own gemus. And when I look at the .uae-file after I launched a game like that there's like this
joyport0=%joyport0_value%
joyport1=%joyport1_value%
So it doesn't get any *real* values, but just fills in the name of the "variable". I suppose that's not how it should work? I have tried to define the Default gemus script fields like joyport1=joy1 etc, but that doesn't seem to do anything. Where are the default settings, or are there any?
I'm really sorry to bother you with this trivial thingy, but I just can't get it to work :(
Belgarath
14 November 2006, 21:39
Well you have to add the
joyport0=joy0
joyport1=joy1
for each game you want it to work on
if theres too many (or you want it default for all the games), then just put the values in the main script instead of the variables
so instead of
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||%joyport0_value%)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||%joyport1_value%)
you put
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport0||joy0)
Set_CFG_Value(%dbpath%\GameBase Amiga.uae||joyport1||joy1)
Also you can press f1 to bring up the gamebase help, it's got a whole section on how the gemus script works.
emuola
14 November 2006, 22:10
Thanks for you patience :) I really have read the docs, but just didn't find the clue.
vBulletin® v3.7.0, Copyright ©2000-2012, Jelsoft Enterprises Ltd.