mirror of https://github.com/PCSX2/pcsx2.git
Fixed up the Linux build. A couple minor OnePad changes.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1487 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
14ccee3153
commit
192f602ae7
2
build.rb
2
build.rb
|
@ -22,7 +22,7 @@ $pcsx2_prefix = " --prefix #{$main_dir}"
|
|||
$plugins_prefix = " --prefix #{$plugin_install_dir}"
|
||||
|
||||
$plugin_list=["CDVDnull", "dev9null", "FWnull", "USBnull", "SPU2null", "zerogs", "zzogl", "zeropad", "zerospu2", "PeopsSPU2", "CDVDiso", "CDVDisoEFP", "CDVDlinuz"]
|
||||
$full_plugin_list=["CDVDnull", "dev9null", "FWnull", "USBnull", "SPU2null", "zerogs", "zzogl", "zeropad", "zerospu2", "PeopsSPU2", "CDVDiso", "CDVDisoEFP", "CDVDlinuz","GSnull","PadNull","wxpad"]
|
||||
$full_plugin_list=["CDVDnull", "dev9null", "FWnull", "USBnull", "SPU2null", "zerogs", "zzogl", "zeropad", "zerospu2", "PeopsSPU2", "CDVDiso", "CDVDisoEFP", "CDVDlinuz","GSnull","PadNull","onepad"]
|
||||
|
||||
$pcsx2_build_types = {
|
||||
"dev" => " --enable-devbuild ",
|
||||
|
|
|
@ -12,7 +12,7 @@ INCLUDES = -I$(top_srcdir) -I$(x86_dir) -I$(common_dir) -I$(third_dir)
|
|||
noinst_LIBRARIES = libps2_cdvd.a
|
||||
|
||||
libps2_cdvd_a_SOURCES = \
|
||||
CDVD.cpp CDVDiso.cpp CDVDisodrv.cpp CdRom.cpp \
|
||||
CDVD.h CDVD_internal.h CDVDiso.h CDVDisodrv.h CDVDlib.h CdRom.h
|
||||
CDVD.cpp IsoFStools.cpp IsoFSdrv.cpp CdRom.cpp \
|
||||
CDVD.h CDVD_internal.h IsoFStools.h IsoFSdrv.h IsoFScdvd.h CdRom.h
|
||||
|
||||
#SUBDIRS =
|
|
@ -461,6 +461,7 @@ static __forceinline BOOL ipuIDEC(u32 val)
|
|||
|
||||
s_routine = so_create(mpeg2sliceIDEC, &s_RoutineDone, s_tempstack, sizeof(s_tempstack));
|
||||
assert(s_routine != NULL);
|
||||
//return;
|
||||
so_call(s_routine);
|
||||
if (s_RoutineDone) s_routine = NULL;
|
||||
|
||||
|
|
|
@ -1131,7 +1131,7 @@ void __forceinline finishmpeg2sliceIDEC(decoder_t* &decoder)
|
|||
}
|
||||
|
||||
// This fixes Mana Khemia if uncommented, but needs testing.
|
||||
//#define ALWAYS_RESUME_BEFORE_EXITING
|
||||
#define ALWAYS_RESUME_BEFORE_EXITING
|
||||
void mpeg2sliceIDEC(void* pdone)
|
||||
{
|
||||
u32 read;
|
||||
|
@ -1221,6 +1221,11 @@ void mpeg2sliceIDEC(void* pdone)
|
|||
while (g_nIPU0Data > 0)
|
||||
{
|
||||
read = FIFOfrom_write((u32*)g_pIPU0Pointer, g_nIPU0Data);
|
||||
|
||||
if (read != 8)
|
||||
{
|
||||
Console::Error("g_nIPU0Data = 0x%x; read = 0x%x", params g_nIPU0Data, read);
|
||||
}
|
||||
|
||||
if (read == 0)
|
||||
{
|
||||
|
@ -1231,6 +1236,7 @@ void mpeg2sliceIDEC(void* pdone)
|
|||
{
|
||||
g_pIPU0Pointer += read * 16;
|
||||
g_nIPU0Data -= read;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1240,6 +1246,14 @@ void mpeg2sliceIDEC(void* pdone)
|
|||
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
|
||||
mba_inc = 0;
|
||||
|
||||
#ifdef ALWAYS_RESUME_BEFORE_EXITING
|
||||
if (!resumed)
|
||||
{
|
||||
so_resume();
|
||||
Console::Error("Resume forced in mpeg2sliceIDEC:1");
|
||||
}
|
||||
#endif
|
||||
|
||||
while (1)
|
||||
{
|
||||
if (decoder->bitstream_buf >= 0x10000000)
|
||||
|
@ -1256,19 +1270,19 @@ void mpeg2sliceIDEC(void* pdone)
|
|||
{
|
||||
|
||||
case 8: /* macroblock_escape */
|
||||
Console::Error("macroblock escape ");
|
||||
mba_inc += 33;
|
||||
/* pass through */
|
||||
|
||||
case 15: /* macroblock_stuffing (MPEG1 only) */
|
||||
Console::Error("macroblock_stuffing (MPEG1 only) ");
|
||||
DUMPBITS(decoder->bitstream_buf, decoder->bitstream_bits, 11);
|
||||
NEEDBITS(decoder->bitstream_buf, decoder->bitstream_bits, decoder->bitstream_ptr);
|
||||
continue;
|
||||
|
||||
default: /* end of slice/frame, or error? */
|
||||
{
|
||||
#ifdef ALWAYS_RESUME_BEFORE_EXITING
|
||||
if (!resumed) so_resume();
|
||||
#endif
|
||||
Console::Error("UBITS(decoder->bitstream_buf, 11) is 0x%x", params UBITS(decoder->bitstream_buf, 11));
|
||||
|
||||
finishmpeg2sliceIDEC(decoder);
|
||||
|
||||
|
@ -1297,7 +1311,11 @@ void mpeg2sliceIDEC(void* pdone)
|
|||
}
|
||||
|
||||
#ifdef ALWAYS_RESUME_BEFORE_EXITING
|
||||
if (!resumed) so_resume();
|
||||
if (!resumed)
|
||||
{
|
||||
so_resume();
|
||||
Console::Error("Resume forced in mpeg2sliceIDEC:2");
|
||||
}
|
||||
#endif
|
||||
|
||||
finishmpeg2sliceIDEC(decoder);
|
||||
|
|
|
@ -638,7 +638,6 @@ create_SpeedHacksDlg (void)
|
|||
GtkWidget *alignment37;
|
||||
GtkWidget *vbox76;
|
||||
GtkWidget *check_iop_cycle_rate;
|
||||
GtkWidget *check_wait_cycles_sync_hack;
|
||||
GtkWidget *check_intc_sync_hack;
|
||||
GtkWidget *check_idle_loop_fastforward;
|
||||
GtkWidget *label114;
|
||||
|
@ -792,12 +791,6 @@ create_SpeedHacksDlg (void)
|
|||
gtk_box_pack_start (GTK_BOX (vbox76), check_iop_cycle_rate, FALSE, FALSE, 0);
|
||||
gtk_tooltips_set_tip (tooltips, check_iop_cycle_rate, _("Small speedup, and works well with most games."), NULL);
|
||||
|
||||
check_wait_cycles_sync_hack = gtk_check_button_new_with_mnemonic (_("WaitCycles Sync Hack"));
|
||||
gtk_widget_set_name (check_wait_cycles_sync_hack, "check_wait_cycles_sync_hack");
|
||||
gtk_widget_show (check_wait_cycles_sync_hack);
|
||||
gtk_box_pack_start (GTK_BOX (vbox76), check_wait_cycles_sync_hack, FALSE, FALSE, 0);
|
||||
gtk_tooltips_set_tip (tooltips, check_wait_cycles_sync_hack, _("Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes."), NULL);
|
||||
|
||||
check_intc_sync_hack = gtk_check_button_new_with_mnemonic (_("INTC Sync Hack"));
|
||||
gtk_widget_set_name (check_intc_sync_hack, "check_intc_sync_hack");
|
||||
gtk_widget_show (check_intc_sync_hack);
|
||||
|
@ -909,7 +902,6 @@ create_SpeedHacksDlg (void)
|
|||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, alignment37, "alignment37");
|
||||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, vbox76, "vbox76");
|
||||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_iop_cycle_rate, "check_iop_cycle_rate");
|
||||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_wait_cycles_sync_hack, "check_wait_cycles_sync_hack");
|
||||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_intc_sync_hack, "check_intc_sync_hack");
|
||||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, check_idle_loop_fastforward, "check_idle_loop_fastforward");
|
||||
GLADE_HOOKUP_OBJECT (SpeedHacksDlg, label114, "label114");
|
||||
|
|
|
@ -1582,26 +1582,6 @@ If you have problems, Disable all of these and try again.</property>
|
|||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="check_wait_cycles_sync_hack">
|
||||
<property name="visible">True</property>
|
||||
<property name="tooltip" translatable="yes">Small speedup. Works well with most games, but it may cause certain games to crash, or freeze up during bootup or stage changes.</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="label" translatable="yes">WaitCycles Sync Hack</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||
<property name="focus_on_click">True</property>
|
||||
<property name="active">False</property>
|
||||
<property name="inconsistent">False</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
</widget>
|
||||
<packing>
|
||||
<property name="padding">0</property>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
|
||||
<child>
|
||||
<widget class="GtkCheckButton" id="check_intc_sync_hack">
|
||||
<property name="visible">True</property>
|
||||
|
|
|
@ -120,24 +120,6 @@ EXPORT_C_(void) PADupdate(int pad)
|
|||
set_bit(status[pad], i); // pressed
|
||||
break;
|
||||
}
|
||||
case PAD_JOYSTICK:
|
||||
{
|
||||
int value = SDL_JoystickGetAxis((pjoy)->GetJoy(), key_to_axis(cpad, i));
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case PAD_LX:
|
||||
case PAD_LY:
|
||||
case PAD_RX:
|
||||
case PAD_RY:
|
||||
if (abs(value) > (pjoy)->GetDeadzone(value))
|
||||
Analog::ConfigurePad(i, pad, value);
|
||||
else
|
||||
Analog::ResetPad(i, pad);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PAD_HAT:
|
||||
{
|
||||
int value = SDL_JoystickGetHat((pjoy)->GetJoy(), key_to_axis(cpad, i));
|
||||
|
@ -158,12 +140,40 @@ EXPORT_C_(void) PADupdate(int pad)
|
|||
{
|
||||
int value = SDL_JoystickGetAxis((pjoy)->GetJoy(), key_to_axis(cpad, i));
|
||||
|
||||
PAD_LOG("%s: %d (%d)\n", KeyName(cpad, i).c_str(), value, key_to_pov_sign(cpad, i));
|
||||
if (key_to_pov_sign(cpad, i) && (value < -2048))
|
||||
{
|
||||
//PAD_LOG("%s Released+.\n", KeyName(cpad, i).c_str());
|
||||
clear_bit(status[pad], i);
|
||||
}
|
||||
else if (!key_to_pov_sign(cpad, i) && (value > 2048))
|
||||
{
|
||||
//PAD_LOG("%s Released-\n", KeyName(cpad, i).c_str());
|
||||
clear_bit(status[pad], i);
|
||||
}
|
||||
else
|
||||
{
|
||||
//PAD_LOG("%s Pressed.\n", KeyName(cpad, i).c_str());
|
||||
set_bit(status[pad], i);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case PAD_JOYSTICK:
|
||||
{
|
||||
int value = SDL_JoystickGetAxis((pjoy)->GetJoy(), key_to_axis(cpad, i));
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case PAD_LX:
|
||||
case PAD_LY:
|
||||
case PAD_RX:
|
||||
case PAD_RY:
|
||||
if (abs(value) > (pjoy)->GetDeadzone(value))
|
||||
Analog::ConfigurePad(pad, i, value);
|
||||
else
|
||||
Analog::ResetPad(pad, i);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: break;
|
||||
|
|
|
@ -24,24 +24,24 @@ PADAnalog g_lanalog[NUM_OF_PADS], g_ranalog[NUM_OF_PADS];
|
|||
|
||||
namespace Analog
|
||||
{
|
||||
u8 Pad(int padvalue, u8 i)
|
||||
u8 Pad(int pad, u8 index)
|
||||
{
|
||||
switch (padvalue)
|
||||
switch (index)
|
||||
{
|
||||
case PAD_LX:
|
||||
return g_lanalog[i].x;
|
||||
return g_lanalog[pad].x;
|
||||
break;
|
||||
|
||||
case PAD_RX:
|
||||
return g_ranalog[i].x;
|
||||
return g_ranalog[pad].x;
|
||||
break;
|
||||
|
||||
case PAD_LY:
|
||||
return g_lanalog[i].y;
|
||||
return g_lanalog[pad].y;
|
||||
break;
|
||||
|
||||
case PAD_RY:
|
||||
return g_ranalog[i].y;
|
||||
return g_ranalog[pad].y;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -50,24 +50,24 @@ namespace Analog
|
|||
}
|
||||
}
|
||||
|
||||
void SetPad(int padvalue, u8 i, u8 value)
|
||||
void SetPad(u8 pad, int index, u8 value)
|
||||
{
|
||||
switch (padvalue)
|
||||
switch (index)
|
||||
{
|
||||
case PAD_LX:
|
||||
g_lanalog[i].x = value;
|
||||
g_lanalog[pad].x = value;
|
||||
break;
|
||||
|
||||
case PAD_RX:
|
||||
g_ranalog[i].x = value;
|
||||
g_ranalog[ pad].x = value;
|
||||
break;
|
||||
|
||||
case PAD_LY:
|
||||
g_lanalog[i].y = value;
|
||||
g_lanalog[ pad].y = value;
|
||||
break;
|
||||
|
||||
case PAD_RY:
|
||||
g_ranalog[i].y = value;
|
||||
g_ranalog[pad].y = value;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -75,30 +75,30 @@ namespace Analog
|
|||
}
|
||||
}
|
||||
|
||||
void InvertPad(int padvalue, u8 i)
|
||||
void InvertPad(u8 pad, int key)
|
||||
{
|
||||
SetPad(padvalue, i, -Pad(padvalue, i));
|
||||
SetPad(pad, key, -Pad(pad, key));
|
||||
}
|
||||
|
||||
void ResetPad(int padvalue, u8 i)
|
||||
void ResetPad( u8 pad, int key)
|
||||
{
|
||||
SetPad(padvalue, i, 0x80);
|
||||
SetPad(pad, key, 0x80);
|
||||
}
|
||||
|
||||
void Init()
|
||||
{
|
||||
for (int i = 0; i < 2; ++i)
|
||||
for (u8 pad = 0; pad < 2; ++pad)
|
||||
{
|
||||
ResetPad(PAD_LX, i);
|
||||
ResetPad(PAD_LY, i);
|
||||
ResetPad(PAD_RX, i);
|
||||
ResetPad(PAD_RY, i);
|
||||
ResetPad(pad, PAD_LX);
|
||||
ResetPad(pad, PAD_LY);
|
||||
ResetPad(pad, PAD_RX);
|
||||
ResetPad(pad, PAD_RY);
|
||||
}
|
||||
}
|
||||
|
||||
bool RevertPad(u8 padvalue)
|
||||
bool RevertPad(u8 index)
|
||||
{
|
||||
switch (padvalue)
|
||||
switch (index)
|
||||
{
|
||||
case PAD_LX:
|
||||
return ((conf.options & PADOPTION_REVERTLX) != 0);
|
||||
|
@ -122,18 +122,17 @@ namespace Analog
|
|||
}
|
||||
}
|
||||
|
||||
void ConfigurePad(int padvalue, u8 i, int value)
|
||||
void ConfigurePad( u8 pad, int index, int value)
|
||||
{
|
||||
int temp = Pad(padvalue, i);
|
||||
SetPad(padvalue, i, value / 256);
|
||||
if (RevertPad(padvalue)) InvertPad(padvalue, i);
|
||||
SetPad(padvalue, i, Pad(padvalue, i) + 0x80);
|
||||
|
||||
//PAD_LOG("Setting pad[%d]@%d to %d from %d\n", padvalue, i, value, temp);
|
||||
int temp = Pad(pad, index);
|
||||
SetPad(pad, index, value / 256);
|
||||
if (RevertPad(index)) InvertPad(pad,index);
|
||||
SetPad(pad, index, Pad(pad, index) + 0x80);
|
||||
}
|
||||
int AnalogToPad(int padvalue)
|
||||
|
||||
int AnalogToPad(int index)
|
||||
{
|
||||
switch (padvalue)
|
||||
switch (index)
|
||||
{
|
||||
case PAD_R_LEFT:
|
||||
return PAD_RX;
|
||||
|
|
|
@ -25,12 +25,12 @@
|
|||
namespace Analog
|
||||
{
|
||||
extern void Init();
|
||||
extern u8 Pad(int padvalue, u8 i);
|
||||
extern void SetPad(int padvalue, u8 i, u8 value);
|
||||
extern void InvertPad(int padvalue, u8 i);
|
||||
extern bool RevertPad(u8 padvalue);
|
||||
extern void ResetPad(int padvalue, u8 i);
|
||||
extern void ConfigurePad(int padvalue, u8 i, int value);
|
||||
extern u8 Pad(int pad, u8 index);
|
||||
extern void SetPad(u8 pad, int index, u8 value);
|
||||
extern void InvertPad(u8 pad, int key);
|
||||
extern bool RevertPad(u8 index);
|
||||
extern void ResetPad( u8 pad, int key);
|
||||
extern void ConfigurePad( u8 pad, int index, int value);
|
||||
extern int KeypadToPad(u8 keypress);
|
||||
extern int AnalogToPad(int padvalue);
|
||||
extern int AnalogToPad(int index);
|
||||
}
|
|
@ -92,13 +92,13 @@ void PollForX11KeyboardInput(int pad)
|
|||
case PAD_R_UP:
|
||||
case PAD_L_LEFT:
|
||||
case PAD_L_UP:
|
||||
Analog::ConfigurePad(Analog::AnalogToPad(i), pad, DEF_VALUE);
|
||||
Analog::ConfigurePad(pad, Analog::AnalogToPad(i), DEF_VALUE);
|
||||
break;
|
||||
case PAD_R_RIGHT:
|
||||
case PAD_R_DOWN:
|
||||
case PAD_L_RIGHT:
|
||||
case PAD_L_DOWN:
|
||||
Analog::ConfigurePad(Analog::AnalogToPad(i), pad, -DEF_VALUE);
|
||||
Analog::ConfigurePad(pad, Analog::AnalogToPad(i), -DEF_VALUE);
|
||||
break;
|
||||
}
|
||||
i += 0xff00;
|
||||
|
@ -123,7 +123,7 @@ void PollForX11KeyboardInput(int pad)
|
|||
// Analog Controls.
|
||||
if ((i > PAD_RY) && (i <= PAD_R_LEFT))
|
||||
{
|
||||
Analog::ResetPad(Analog::AnalogToPad(i), pad);
|
||||
Analog::ResetPad(pad, Analog::AnalogToPad(i));
|
||||
i += 0xff00;
|
||||
}
|
||||
|
||||
|
|
|
@ -195,7 +195,6 @@ void __Log(const char *fmt, ...)
|
|||
{
|
||||
va_list list;
|
||||
|
||||
//if (padLog == NULL || !conf.log) return;
|
||||
if (padLog == NULL) return;
|
||||
va_start(list, fmt);
|
||||
vfprintf(padLog, fmt, list);
|
||||
|
@ -393,10 +392,10 @@ u8 _PADpoll(u8 value)
|
|||
|
||||
stdpar[curPad][2] = status[curPad] >> 8;
|
||||
stdpar[curPad][3] = status[curPad] & 0xff;
|
||||
stdpar[curPad][4] = Analog::Pad(PAD_RX, curPad);
|
||||
stdpar[curPad][5] = Analog::Pad(PAD_RY, curPad);
|
||||
stdpar[curPad][6] = Analog::Pad(PAD_LX, curPad);
|
||||
stdpar[curPad][7] = Analog::Pad(PAD_LY, curPad);
|
||||
stdpar[curPad][4] = Analog::Pad(curPad, PAD_RX);
|
||||
stdpar[curPad][5] = Analog::Pad(curPad, PAD_RY);
|
||||
stdpar[curPad][6] = Analog::Pad(curPad, PAD_LX);
|
||||
stdpar[curPad][7] = Analog::Pad(curPad, PAD_LY);
|
||||
|
||||
if (padMode[curPad] == 1)
|
||||
cmdLen = 20;
|
||||
|
|
Loading…
Reference in New Issue