notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix gun handling in enhancement mode
[pcsx_rearmed.git]
/
frontend
/
plugin_lib.c
diff --git
a/frontend/plugin_lib.c
b/frontend/plugin_lib.c
index
6cce912
..
9cbfe59
100644
(file)
--- a/
frontend/plugin_lib.c
+++ b/
frontend/plugin_lib.c
@@
-31,6
+31,7
@@
#include "../libpcsxcore/new_dynarec/new_dynarec.h"
#include "../libpcsxcore/psemu_plugin_defs.h"
#include "../plugins/gpulib/cspace.h"
#include "../libpcsxcore/new_dynarec/new_dynarec.h"
#include "../libpcsxcore/psemu_plugin_defs.h"
#include "../plugins/gpulib/cspace.h"
+#include "../plugins/dfinput/externals.h"
int in_type1, in_type2;
int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 };
int in_type1, in_type2;
int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 };
@@
-199,7
+200,7
@@
static int resolution_ok(int w, int h)
return w <= 1024 && h <= 512;
}
return w <= 1024 && h <= 512;
}
-static void pl_vout_set_mode(int w, int h, int bpp)
+static void pl_vout_set_mode(int w, int h, int
raw_w, int raw_h, int
bpp)
{
int vout_w, vout_h, vout_bpp;
{
int vout_w, vout_h, vout_bpp;
@@
-209,8
+210,10
@@
static void pl_vout_set_mode(int w, int h, int bpp)
h = (h + 7) & ~7;
vsync_cnt_ms_prev = vsync_cnt;
h = (h + 7) & ~7;
vsync_cnt_ms_prev = vsync_cnt;
- vout_w = psx_w = w;
- vout_h = psx_h = h;
+ psx_w = raw_w;
+ psx_h = raw_h;
+ vout_w = w;
+ vout_h = h;
vout_bpp = psx_bpp = bpp;
pl_vout_scale = 1;
vout_bpp = psx_bpp = bpp;
pl_vout_scale = 1;
@@
-237,7
+240,7
@@
static void pl_vout_set_mode(int w, int h, int bpp)
pl_vout_buf = plat_gvideo_set_mode(&vout_w, &vout_h, &vout_bpp);
if (pl_vout_buf == NULL)
fprintf(stderr, "failed to set mode %dx%d@%d\n",
pl_vout_buf = plat_gvideo_set_mode(&vout_w, &vout_h, &vout_bpp);
if (pl_vout_buf == NULL)
fprintf(stderr, "failed to set mode %dx%d@%d\n",
-
psx_w, psx
_h, psx_bpp);
+
vout_w, vout
_h, psx_bpp);
else {
pl_vout_w = vout_w;
pl_vout_h = vout_h;
else {
pl_vout_w = vout_w;
pl_vout_h = vout_h;
@@
-390,7
+393,7
@@
int dispmode_doubleres(void)
int dispmode_scale2x(void)
{
int dispmode_scale2x(void)
{
- if (psx_bpp != 16)
+ if (
!resolution_ok(psx_w * 2, psx_h * 2) ||
psx_bpp != 16)
return 0;
dispmode_default();
return 0;
dispmode_default();
@@
-401,7
+404,7
@@
int dispmode_scale2x(void)
int dispmode_eagle2x(void)
{
int dispmode_eagle2x(void)
{
- if (psx_bpp != 16)
+ if (
!resolution_ok(psx_w * 2, psx_h * 2) ||
psx_bpp != 16)
return 0;
dispmode_default();
return 0;
dispmode_default();
@@
-441,7
+444,7
@@
void pl_switch_dispmode(void)
* more square-like analogs in PSX */
static void update_analog_nub_adjust(int *x_, int *y_)
{
* more square-like analogs in PSX */
static void update_analog_nub_adjust(int *x_, int *y_)
{
- const int d = 16;
+ #define d 16
static const int scale[] =
{ 0 - d*2, 0 - d*2, 0 - d*2, 12 - d*2,
30 - d*2, 60 - d*2, 75 - d*2, 60 - d*2, 60 - d*2 };
static const int scale[] =
{ 0 - d*2, 0 - d*2, 0 - d*2, 12 - d*2,
30 - d*2, 60 - d*2, 75 - d*2, 60 - d*2, 60 - d*2 };
@@
-463,6
+466,7
@@
static void update_analog_nub_adjust(int *x_, int *y_)
*x_ = x;
*y_ = y;
*x_ = x;
*y_ = y;
+ #undef d
}
static void update_analogs(void)
}
static void update_analogs(void)
@@
-526,13
+530,13
@@
static void update_input(void)
}
#endif
}
#endif
-void pl_update_gun(int *xn, int *
xres, int *y
, int *in)
+void pl_update_gun(int *xn, int *
yn, int *xres, int *yres
, int *in)
{
if (tsdev)
{
if (tsdev)
- pl_gun_ts_update(tsdev, xn, y, in);
+ pl_gun_ts_update(tsdev, xn, y
n
, in);
- *xres = p
l_vout
_w;
- *y
= *y * pl_vout_h >> 10
;
+ *xres = p
sx
_w;
+ *y
res = psx_h
;
}
#define MAX_LAG_FRAMES 3
}
#define MAX_LAG_FRAMES 3