Skip to content

Commit

Permalink
Merge pull request #5 from rsn8887/master
Browse files Browse the repository at this point in the history
VITA: virtual keyboard, analog deadzone, quick resolution switching
  • Loading branch information
Cpasjuste committed Dec 23, 2016
2 parents a2dac27 + 7d3449b commit 9e6f5c8
Show file tree
Hide file tree
Showing 11 changed files with 290 additions and 72 deletions.
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ set(INC_FILES
src/menu
src/include
src/gp2x/menu
src/vkbd
)

set(FLAGS
Expand All @@ -37,6 +38,8 @@ set(FLAGS
-DUSE_SDL -DGCCCONSTFUNC="__attribute__\(\(const\)\)" -DUSE_UNDERSCORE
-DSHM_SUPPORT_LINKS=0 -DUNALIGNED_PROFITABLE -DOPTIMIZED_FLAGS -DOS_WITHOUT_MEMORY_MANAGEMENT
-DROM_PATH_PREFIX=\"ux0:/data/uae4all/roms/\" -DDATA_PREFIX=\"app0:/data/\" -DSAVE_PREFIX=\"ux0:/data/uae4all/saves/\"
-DUSE_UAE4ALL_VKBD
-DVKBD_ALWAYS
-fomit-frame-pointer -Wno-unused -Wno-format
-ffast-math -fstrict-aliasing -mstructure-size-boundary=32 -fexpensive-optimizations
-fweb -frename-registers -fomit-frame-pointer
Expand Down Expand Up @@ -152,4 +155,4 @@ add_custom_target(${PROJECT_NAME}-debug.vpk
COMMAND ${VITASDK}/bin/vita-mksfoex -s TITLE_ID=${TITLE_ID} "${PROJECT_NAME}" vpk/sce_sys/param.sfo
COMMAND cp -r ${CMAKE_SOURCE_DIR}/psp2data/* vpk
COMMAND cd vpk && zip -r ../uae4all-debug-${BUILD_DATE}.vpk . && cd ..
)
)
16 changes: 8 additions & 8 deletions Readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ Files must be named as kick13.rom kick20.rom kick31.rom

Vita Controls:

A=square
B=circle
X=cross
Y=triangle

Vita controls:
square=A
circle=B
cross=X
triangle=Y

Select = toggle menu
Start+dpad = move screen
Start + Select (in this order) = toggle virtual keyboard
Start+dpad up/down = move screen up down
Start+dpad left/right = change screenmode (to zoom games with large black borders)
right analog stick = analog mouse (can switch this to left in menu)
left analog stick = acts as amiga joystick

Only when custom controls are off:
When custom controls are off:
L/R=mousebuttons
R+Square = CTRL
R+Circle = LALT
Expand Down
20 changes: 15 additions & 5 deletions src/gp2x/menu/menu_config.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,11 @@ int mainMenu_CPU_speed = 0;
int mainMenu_cpuSpeed = 600;

int mainMenu_joyConf = 0;
#ifdef __PSP2__
int mainMenu_joyPort = 2; // Default to port 1 on Vita because mouse is always on.
#else
int mainMenu_joyPort = 0; // Both ports
#endif
int mainMenu_autofireRate = 8;
int mainMenu_showStatus = DEFAULT_STATUSLN;
int mainMenu_mouseMultiplier = DEFAULT_MOUSEMULTIPLIER;
Expand Down Expand Up @@ -93,7 +97,9 @@ int visibleAreaWidth = 320;
int saveMenu_n_savestate = 0;

#ifdef __PSP2__
int mainMenu_shader = 5;
int mainMenu_leftStickMouse = 0;
int mainMenu_deadZone = 1000;
#endif

// The following params in use, but can't be changed with gui
Expand All @@ -103,10 +109,6 @@ int mainMenu_button2 = GP2X_BUTTON_A;
int mainMenu_autofireButton1 = GP2X_BUTTON_B;
int mainMenu_jump = -1;

#ifdef __PSP2__
int mainMenu_shader = 5;
#endif

// The following params not in use, but stored to write them back to the config file
int gp2xClockSpeed = -1;
int mainMenu_scanlines = 0;
Expand Down Expand Up @@ -191,7 +193,11 @@ void SetDefaultMenuSettings(int general)

mainMenu_cpuSpeed = 600;
mainMenu_joyConf = 0;
#ifdef __PSP2__
mainMenu_joyPort = 2; // Default to port 1 on Vita because mouse is always on.
#else
mainMenu_joyPort = 0;
#endif
mainMenu_autofireRate = 8;
mainMenu_showStatus = DEFAULT_STATUSLN;
mainMenu_mouseMultiplier = DEFAULT_MOUSEMULTIPLIER;
Expand Down Expand Up @@ -222,6 +228,7 @@ void SetDefaultMenuSettings(int general)
#ifdef __PSP2__
mainMenu_shader = 5;
mainMenu_leftStickMouse = 0;
mainMenu_deadZone = 1000;
#endif

// The following params can't be changed in gui
Expand Down Expand Up @@ -810,6 +817,8 @@ int saveconfig(int general)
fputs(buffer,f);
snprintf((char*)buffer, 255, "leftstickmouse=%d\n",mainMenu_leftStickMouse);
fputs(buffer,f);
snprintf((char*)buffer, 255, "deadzone=%d\n",mainMenu_deadZone);
fputs(buffer,f);
#endif
snprintf((char*)buffer, 255, "showstatus=%d\n",mainMenu_showStatus);
fputs(buffer,f);
Expand Down Expand Up @@ -1110,7 +1119,8 @@ void loadconfig(int general)
#endif
#ifdef __PSP2__
fscanf(f,"shader=%d\n",&mainMenu_shader);
fscanf(f,"leftstickmouse=%d\n",&mainMenu_leftStickMouse);
fscanf(f,"leftstickmouse=%d\n",&mainMenu_leftStickMouse);
fscanf(f,"deadzone=%d\n",&mainMenu_deadZone);
#endif
fscanf(f,"showstatus=%d\n",&mainMenu_showStatus);
fscanf(f,"mousemultiplier=%d\n",&mainMenu_mouseMultiplier );
Expand Down
1 change: 1 addition & 0 deletions src/gp2x/menu/menu_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,5 @@ extern char custom_kickrom[256];
#ifdef __PSP2__
extern int mainMenu_leftStickMouse;
extern int mainMenu_shader;
extern int mainMenu_deadZone;
#endif
16 changes: 16 additions & 0 deletions src/gp2x/menu/menu_controls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -391,31 +391,47 @@ static void draw_controlsMenu(int c)

// MENUCONTROLS_A
menuLine+=3;
#ifdef __PSP2__
write_text(leftMargin,menuLine,"(Square)");
#else
write_text(leftMargin,menuLine," (A)");
#endif
getMapping(mainMenu_custom_A);
if ((menuControls!=MENUCONTROLS_A)||(bb))
write_text_inv(tabstop1-4,menuLine,mapping);
else
write_text(tabstop1-4,menuLine,mapping);
// MENUCONTROLS_B
menuLine+=2;
#ifdef __PSP2__
write_text(leftMargin,menuLine,"(Circle)");
#else
write_text(leftMargin,menuLine," (B)");
#endif
getMapping(mainMenu_custom_B);
if ((menuControls!=MENUCONTROLS_B)||(bb))
write_text_inv(tabstop1-4,menuLine,mapping);
else
write_text(tabstop1-4,menuLine,mapping);
// MENUCONTROLS_X
menuLine+=2;
#ifdef __PSP2__
write_text(leftMargin,menuLine,"(Cross)");
#else
write_text(leftMargin,menuLine," (X)");
#endif
getMapping(mainMenu_custom_X);
if ((menuControls!=MENUCONTROLS_X)||(bb))
write_text_inv(tabstop1-4,menuLine,mapping);
else
write_text(tabstop1-4,menuLine,mapping);
// MENUCONTROLS_Y
menuLine+=2;
#ifdef __PSP2__
write_text(leftMargin,menuLine,"(Triangle)");
#else
write_text(leftMargin,menuLine," (Y)");
#endif
getMapping(mainMenu_custom_Y);
if ((menuControls!=MENUCONTROLS_Y)||(bb))
write_text_inv(tabstop1-4,menuLine,mapping);
Expand Down
50 changes: 48 additions & 2 deletions src/gp2x/menu/menu_misc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ enum {
MENUMISC_STATUSLINE,
MENUMISC_MOUSEMULTIPLIER,
MENUMISC_STYLUSOFFSET,
#ifdef __PSP2__
MENUMISC_DEADZONE,
#else
MENUMISC_TAPDELAY,
#endif
MENUMISC_END
};

Expand Down Expand Up @@ -371,7 +375,18 @@ static void draw_miscMenu(int c)
if ((mainMenu_stylusOffset==16)&&((menuMisc!=MENUMISC_STYLUSOFFSET)||(bb)))
write_text_inv(tabstop9,menuLine,text_str_8px);
else
write_text(tabstop9,menuLine,text_str_8px);
write_text(tabstop9,menuLine,text_str_8px);
#ifdef __PSP2__
//Analog Stick Deadzone settings on Vita
//MENUMISC_DEADZONE
menuLine+=2;
write_text(leftMargin,menuLine,"Mouse Deadzone");
snprintf((char*)cpuSpeed, 8, "%d", mainMenu_deadZone);
if ((menuMisc!=MENUMISC_DEADZONE)||(bb))
write_text_inv(tabstop3-2,menuLine,cpuSpeed);
else
write_text(tabstop3-2,menuLine,cpuSpeed);
#else
// MENUMISC_TAPDELAY
menuLine+=2;
write_text(leftMargin,menuLine,text_str_tap_delay);
Expand All @@ -390,7 +405,7 @@ static void draw_miscMenu(int c)
write_text_inv(tabstop9,menuLine,text_str_none);
else
write_text(tabstop9,menuLine,text_str_none);

#endif
menuLine++;
write_text(leftMargin,menuLine,text_str_misc_separator);
menuLine++;
Expand Down Expand Up @@ -645,6 +660,36 @@ static int key_miscMenu(int *c)
mainMenu_stylusOffset = 0;
}
break;
#ifdef __PSP2__
case MENUMISC_DEADZONE:
if (left)
{
if (mainMenu_deadZone <= 0)
mainMenu_deadZone=0;
else if (mainMenu_deadZone >= 2000)
mainMenu_deadZone-=1000;
else if (mainMenu_deadZone >= 200)
mainMenu_deadZone-=100;
else if (mainMenu_deadZone >= 20)
mainMenu_deadZone-=10;
else if (mainMenu_deadZone >= 1)
mainMenu_deadZone-=1;
}
else if (right)
{
if (mainMenu_deadZone >= 10000)
mainMenu_deadZone=10000;
else if (mainMenu_deadZone>=1000)
mainMenu_deadZone+=1000;
else if (mainMenu_deadZone>=100)
mainMenu_deadZone+=100;
else if (mainMenu_deadZone>=10)
mainMenu_deadZone+=10;
else if (mainMenu_deadZone>=0)
mainMenu_deadZone+=1;
}
break;
#else
case MENUMISC_TAPDELAY:
if (left)
{
Expand All @@ -665,6 +710,7 @@ static int key_miscMenu(int *c)
mainMenu_tapDelay = 10;
}
break;
#endif
}
}

Expand Down

0 comments on commit 9e6f5c8

Please sign in to comment.