Just updated and fixed few bugs as well also added one feature as well, which was needed for Greedy Mouse, where joypads should been threated like a keyboard (when only want a partical joypadremap).
here is what im need to do in Greedy mouse:
Im init the GameInput with a 3th argurment:
GameInput.init(SaveController$, -1, 1)
To start the remapping, this was required:
S_Status$="remap"
GameInput.Remap_Start(0,"back:back or pause|*,leftx:Left Stick|Movement,a:Face Bottom|Zoom Hold,b:Face Right|Menu,x:Face Left|Zoom")
The above only remap required controls and actuelly skip back, even you see it, but mightbeen requirede.
For checking the remapping is ongoing im was need to do this:
IF GameInput.Remap_IsRemapping()=1 // the function is doing remapping, dont do any game code
LOCAL result=GameInput.Remap_ScanCode() // return a sound/visual effect.
IF result>0 THEN SoundPlay("button2")
IF result=2
IF GameInput.Remap_IsRemapping()=0
S_Status$="Menu"
ENDIF
ENDIF
RETURN
ENDIF
Im was need to change the status when the user leave the remapping in this case, which wasent needed for PowerUp Elevation.
For showing the text in a more simple 2 lines, im did this:
LOCAL GAMEREMAP2$=LCASE$(GameInput.Remap_GetText$(2,2))
LOCAL GAMEREMAP3$=LCASE$(GameInput.Remap_GetText$(3,2))
LOCAL GAMEREMAP1$=GAMEREMAP2$
LOCAL GAMEREMAP2$=GAMEREMAP3$
GAMEREMAP3$=""
IF INSTR(GAMEREMAP1$, "dont")=0 THEN GAMEREMAP1$=""
IF INSTR(GAMEREMAP2$, "that device")=0 THEN GAMEREMAP2$=""
IF INSTR(GAMEREMAP2$, "wait")=0
GAMEREMAP2$=REPLACE$(GAMEREMAP2$,"wait","")
GAMEREMAP2$=REPLACE$(GAMEREMAP2$,"to finish","")
ENDIF
GAMEREMAP1$="**"+GAMEREMAP1$
GAMEREMAP2$="**"+GAMEREMAP2$
IF INSTR(GAMEREMAP1$, "left")>0 THEN GAMEREMAP1$="re1"
IF INSTR(GAMEREMAP1$, "down")>0 THEN GAMEREMAP1$="re4"
IF INSTR(GAMEREMAP1$, "up")>0 THEN GAMEREMAP1$="re2"
IF INSTR(GAMEREMAP1$, "right")>0 THEN GAMEREMAP1$="re3"
IF INSTR(GAMEREMAP1$, "hold")>0 AND INSTR(GAMEREMAP1$, "back")=-1 THEN GAMEREMAP1$="re5"
IF INSTR(GAMEREMAP1$, "menu")>0 THEN GAMEREMAP1$="re6"
IF INSTR(GAMEREMAP1$, "zoom")>0 THEN GAMEREMAP1$="re7"
IF INSTR(GAMEREMAP1$, "on a device")>0 THEN GAMEREMAP1$="re8"
Here its was easier to translate the text to various languages when only using 2 lines.