mirror of https://github.com/PCSX2/pcsx2.git
Fixed Linux up to compile in codeblocks again. Added Onepad plugin project file.
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@1790 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
eec90508ff
commit
e03e8bff40
56
pcsx2/Hw.h
56
pcsx2/Hw.h
|
@ -1,6 +1,6 @@
|
||||||
/* PCSX2 - PS2 Emulator for PCs
|
/* PCSX2 - PS2 Emulator for PCs
|
||||||
* Copyright (C) 2002-2009 PCSX2 Dev Team
|
* Copyright (C) 2002-2009 PCSX2 Dev Team
|
||||||
*
|
*
|
||||||
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
||||||
* of the GNU Lesser General Public License as published by the Free Software Found-
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
||||||
* ation, either version 3 of the License, or (at your option) any later version.
|
* ation, either version 3 of the License, or (at your option) any later version.
|
||||||
|
@ -50,9 +50,9 @@ union tDMA_CHCR {
|
||||||
u32 reserved1 : 1;
|
u32 reserved1 : 1;
|
||||||
u32 MOD : 2;
|
u32 MOD : 2;
|
||||||
u32 ASP : 2;
|
u32 ASP : 2;
|
||||||
u32 TTE : 1;
|
u32 TTE : 1;
|
||||||
u32 TIE : 1;
|
u32 TIE : 1;
|
||||||
u32 STR : 1;
|
u32 STR : 1;
|
||||||
u32 reserved2 : 7;
|
u32 reserved2 : 7;
|
||||||
u32 TAG : 16;
|
u32 TAG : 16;
|
||||||
};
|
};
|
||||||
|
@ -86,7 +86,7 @@ struct DMACh {
|
||||||
|
|
||||||
// HW defines
|
// HW defines
|
||||||
enum HWaddress
|
enum HWaddress
|
||||||
{
|
{
|
||||||
RCNT0_COUNT = 0x10000000,
|
RCNT0_COUNT = 0x10000000,
|
||||||
RCNT0_MODE = 0x10000010,
|
RCNT0_MODE = 0x10000010,
|
||||||
RCNT0_TARGET = 0x10000020,
|
RCNT0_TARGET = 0x10000020,
|
||||||
|
@ -120,7 +120,7 @@ enum HWaddress
|
||||||
GIF_CNT = 0x10003080,
|
GIF_CNT = 0x10003080,
|
||||||
GIF_P3CNT = 0x10003090,
|
GIF_P3CNT = 0x10003090,
|
||||||
GIF_P3TAG = 0x100030A0,
|
GIF_P3TAG = 0x100030A0,
|
||||||
|
|
||||||
// Vif Memory Locations
|
// Vif Memory Locations
|
||||||
VIF0_STAT = 0x10003800,
|
VIF0_STAT = 0x10003800,
|
||||||
VIF0_FBRST = 0x10003810,
|
VIF0_FBRST = 0x10003810,
|
||||||
|
@ -142,7 +142,7 @@ enum HWaddress
|
||||||
VIF0_C1 = 0x10003950,
|
VIF0_C1 = 0x10003950,
|
||||||
VIF0_C2 = 0x10003960,
|
VIF0_C2 = 0x10003960,
|
||||||
VIF0_C3 = 0x10003970,
|
VIF0_C3 = 0x10003970,
|
||||||
|
|
||||||
VIF1_STAT = 0x10003c00,
|
VIF1_STAT = 0x10003c00,
|
||||||
VIF1_FBRST = 0x10003c10,
|
VIF1_FBRST = 0x10003c10,
|
||||||
VIF1_ERR = 0x10003c20,
|
VIF1_ERR = 0x10003c20,
|
||||||
|
@ -166,7 +166,7 @@ enum HWaddress
|
||||||
VIF1_C1 = 0x10003d50,
|
VIF1_C1 = 0x10003d50,
|
||||||
VIF1_C2 = 0x10003d60,
|
VIF1_C2 = 0x10003d60,
|
||||||
VIF1_C3 = 0x10003d70,
|
VIF1_C3 = 0x10003d70,
|
||||||
|
|
||||||
VIF0_FIFO = 0x10004000,
|
VIF0_FIFO = 0x10004000,
|
||||||
VIF1_FIFO = 0x10005000,
|
VIF1_FIFO = 0x10005000,
|
||||||
GIF_FIFO = 0x10006000,
|
GIF_FIFO = 0x10006000,
|
||||||
|
@ -253,7 +253,7 @@ enum HWaddress
|
||||||
SIO_BGR = 0x1000F150,
|
SIO_BGR = 0x1000F150,
|
||||||
SIO_TXFIFO = 0x1000F180,
|
SIO_TXFIFO = 0x1000F180,
|
||||||
SIO_RXFIFO = 0x1000F1C0,
|
SIO_RXFIFO = 0x1000F1C0,
|
||||||
|
|
||||||
SBUS_F200 = 0x1000F200, //MSCOM
|
SBUS_F200 = 0x1000F200, //MSCOM
|
||||||
SBUS_F210 = 0x1000F210, //SMCOM
|
SBUS_F210 = 0x1000F210, //SMCOM
|
||||||
SBUS_F220 = 0x1000F220, //MSFLG
|
SBUS_F220 = 0x1000F220, //MSFLG
|
||||||
|
@ -264,7 +264,7 @@ enum HWaddress
|
||||||
|
|
||||||
MCH_RICM = 0x1000F430,
|
MCH_RICM = 0x1000F430,
|
||||||
MCH_DRD = 0x1000F440,
|
MCH_DRD = 0x1000F440,
|
||||||
|
|
||||||
DMAC_ENABLER = 0x1000F520,
|
DMAC_ENABLER = 0x1000F520,
|
||||||
DMAC_ENABLEW = 0x1000F590,
|
DMAC_ENABLEW = 0x1000F590,
|
||||||
|
|
||||||
|
@ -295,7 +295,7 @@ enum HWaddress
|
||||||
enum INTCIrqs
|
enum INTCIrqs
|
||||||
{
|
{
|
||||||
INTC_GS = 0,
|
INTC_GS = 0,
|
||||||
INTC_SBUS,
|
INTC_SBUS,
|
||||||
INTC_VBLANK_S,
|
INTC_VBLANK_S,
|
||||||
INTC_VBLANK_E,
|
INTC_VBLANK_E,
|
||||||
INTC_VIF0,
|
INTC_VIF0,
|
||||||
|
@ -332,7 +332,7 @@ enum DMACIrqs
|
||||||
DMAC_SIF2,
|
DMAC_SIF2,
|
||||||
DMAC_FROM_SPR,
|
DMAC_FROM_SPR,
|
||||||
DMAC_TO_SPR,
|
DMAC_TO_SPR,
|
||||||
|
|
||||||
// We're setting error conditions through hwDmacIrq, so these correspond to the conditions above.
|
// We're setting error conditions through hwDmacIrq, so these correspond to the conditions above.
|
||||||
DMAC_STALL_SIS = 13,
|
DMAC_STALL_SIS = 13,
|
||||||
DMAC_MFIFO_EMPTY = 14, // Transfer?
|
DMAC_MFIFO_EMPTY = 14, // Transfer?
|
||||||
|
@ -379,7 +379,7 @@ enum vif1_stat_flags
|
||||||
|
|
||||||
// These are the stat flags that are the same for vif0 & vif1,
|
// These are the stat flags that are the same for vif0 & vif1,
|
||||||
// for occassions where we don't neccessarily know which we are using.
|
// for occassions where we don't neccessarily know which we are using.
|
||||||
enum vif_stat_flags
|
enum vif_stat_flags
|
||||||
{
|
{
|
||||||
VIF_STAT_VPS_W = (1),
|
VIF_STAT_VPS_W = (1),
|
||||||
VIF_STAT_VPS_D = (2),
|
VIF_STAT_VPS_D = (2),
|
||||||
|
@ -396,7 +396,7 @@ enum vif_stat_flags
|
||||||
VIF_STAT_ER1 = (1<<13)
|
VIF_STAT_ER1 = (1<<13)
|
||||||
};
|
};
|
||||||
|
|
||||||
//GIF_STAT
|
//GIF_STAT
|
||||||
enum gif_stat_flags
|
enum gif_stat_flags
|
||||||
{
|
{
|
||||||
GIF_STAT_M3R = (1), // GIF_MODE Mask
|
GIF_STAT_M3R = (1), // GIF_MODE Mask
|
||||||
|
@ -423,7 +423,7 @@ enum gif_mode_flags
|
||||||
|
|
||||||
//DMA interrupts & masks
|
//DMA interrupts & masks
|
||||||
enum DMAInter
|
enum DMAInter
|
||||||
{
|
{
|
||||||
BEISintr = 0x8000,
|
BEISintr = 0x8000,
|
||||||
VIF0intr = 0x10001,
|
VIF0intr = 0x10001,
|
||||||
VIF1intr = 0x20002,
|
VIF1intr = 0x20002,
|
||||||
|
@ -445,8 +445,8 @@ union tDMAC_CTRL {
|
||||||
u32 RELE : 1;
|
u32 RELE : 1;
|
||||||
u32 MFD : 2;
|
u32 MFD : 2;
|
||||||
u32 STS : 2;
|
u32 STS : 2;
|
||||||
u32 STD : 2;
|
u32 STD : 2;
|
||||||
u32 RCYC : 3;
|
u32 RCYC : 3;
|
||||||
u32 reserved1 : 21;
|
u32 reserved1 : 21;
|
||||||
};
|
};
|
||||||
u32 _u32;
|
u32 _u32;
|
||||||
|
@ -522,7 +522,7 @@ struct DMACregisters
|
||||||
u32 padding1[3];
|
u32 padding1[3];
|
||||||
tDMAC_PCR pcr;
|
tDMAC_PCR pcr;
|
||||||
u32 padding2[3];
|
u32 padding2[3];
|
||||||
|
|
||||||
tDMAC_SQWC sqwc;
|
tDMAC_SQWC sqwc;
|
||||||
u32 padding3[3];
|
u32 padding3[3];
|
||||||
tDMAC_RBSR rbsr;
|
tDMAC_RBSR rbsr;
|
||||||
|
@ -555,7 +555,7 @@ static __forceinline u8* dmaGetAddr(u32 mem)
|
||||||
|
|
||||||
p = (u8*)dmaGetAddrBase(mem);
|
p = (u8*)dmaGetAddrBase(mem);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// do manual LUT since IPU/SPR seems to use addrs 0x3000xxxx quite often
|
// do manual LUT since IPU/SPR seems to use addrs 0x3000xxxx quite often
|
||||||
// linux doesn't suffer from this because it has better vm support
|
// linux doesn't suffer from this because it has better vm support
|
||||||
if( memLUT[ (p-PS2MEM_BASE)>>12 ].aPFNs == NULL ) {
|
if( memLUT[ (p-PS2MEM_BASE)>>12 ].aPFNs == NULL ) {
|
||||||
|
@ -577,7 +577,7 @@ static __forceinline void *dmaGetAddr(u32 addr) {
|
||||||
u8 *ptr;
|
u8 *ptr;
|
||||||
|
|
||||||
// if (addr & 0xf) { DMA_LOG("*PCSX2*: DMA address not 128bit aligned: %8.8x", addr); }
|
// if (addr & 0xf) { DMA_LOG("*PCSX2*: DMA address not 128bit aligned: %8.8x", addr); }
|
||||||
|
|
||||||
// Need to check the physical address as well as just the "SPR" flag, as VTLB doesnt seem to handle it
|
// Need to check the physical address as well as just the "SPR" flag, as VTLB doesnt seem to handle it
|
||||||
if ((addr & 0x80000000) || (addr & 0x70000000) == 0x70000000) return (void*)&psS[addr & 0x3ff0];
|
if ((addr & 0x80000000) || (addr & 0x70000000) == 0x70000000) return (void*)&psS[addr & 0x3ff0];
|
||||||
|
|
||||||
|
@ -589,21 +589,21 @@ static __forceinline void *dmaGetAddr(u32 addr) {
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static __forceinline u32 *_dmaGetAddr(DMACh *dma, u32 addr, u32 num)
|
static __forceinline u32 *_dmaGetAddr(DMACh *dma, u32 addr, u32 num)
|
||||||
{
|
{
|
||||||
u32 *ptr = (u32*)dmaGetAddr(addr);
|
u32 *ptr = (u32*)dmaGetAddr(addr);
|
||||||
if (ptr == NULL)
|
if (ptr == NULL)
|
||||||
{
|
{
|
||||||
// DMA Error
|
// DMA Error
|
||||||
psHu32(DMAC_STAT) |= DMAC_STAT_BEIS; /* BUS error */
|
psHu32(DMAC_STAT) |= DMAC_STAT_BEIS; /* BUS error */
|
||||||
|
|
||||||
// DMA End
|
// DMA End
|
||||||
psHu32(DMAC_STAT) |= 1<<num;
|
psHu32(DMAC_STAT) |= 1<<num;
|
||||||
dma->chcr.STR = 0;
|
dma->chcr.STR = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ptr;
|
return ptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
<Project filename="../../plugins/GSnull/Linux/GSnull.cbp" />
|
<Project filename="../../plugins/GSnull/Linux/GSnull.cbp" />
|
||||||
<Project filename="../../plugins/SPU2null/Linux/SPU2null.cbp" />
|
<Project filename="../../plugins/SPU2null/Linux/SPU2null.cbp" />
|
||||||
<Project filename="../../plugins/PadNull/Linux/PadNull.cbp" />
|
<Project filename="../../plugins/PadNull/Linux/PadNull.cbp" />
|
||||||
|
<Project filename="../../plugins/onepad/Linux/OnePad.cbp" />
|
||||||
<Project filename="../../tools/bin2cpp/bin2cpp.cbp" />
|
<Project filename="../../tools/bin2cpp/bin2cpp.cbp" />
|
||||||
</Workspace>
|
</Workspace>
|
||||||
</CodeBlocks_workspace_file>
|
</CodeBlocks_workspace_file>
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
<Option output="$(SvnRootDir)/bin/pcsx2-dev" prefix_auto="1" extension_auto="1" />
|
<Option output="$(SvnRootDir)/bin/pcsx2-dev" prefix_auto="1" extension_auto="1" />
|
||||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||||
<Option object_output="./.objs/devel" />
|
<Option object_output="./.objs/devel" />
|
||||||
|
<Option external_deps="../../tools/bin/bin2cpp;" />
|
||||||
<Option type="0" />
|
<Option type="0" />
|
||||||
<Option compiler="gcc" />
|
<Option compiler="gcc" />
|
||||||
<Compiler>
|
<Compiler>
|
||||||
|
@ -60,6 +61,7 @@
|
||||||
<Option output="$(SvnRootDir)/bin/pcsx2" prefix_auto="1" extension_auto="1" />
|
<Option output="$(SvnRootDir)/bin/pcsx2" prefix_auto="1" extension_auto="1" />
|
||||||
<Option working_dir="$(SvnRootDir)/bin/" />
|
<Option working_dir="$(SvnRootDir)/bin/" />
|
||||||
<Option object_output="./.objs/release" />
|
<Option object_output="./.objs/release" />
|
||||||
|
<Option external_deps="../../tools/bin/bin2cpp;" />
|
||||||
<Option type="0" />
|
<Option type="0" />
|
||||||
<Option compiler="gcc" />
|
<Option compiler="gcc" />
|
||||||
<Compiler>
|
<Compiler>
|
||||||
|
@ -302,10 +304,19 @@
|
||||||
<Unit filename="../gui/Panels/SpeedhacksPanel.cpp" />
|
<Unit filename="../gui/Panels/SpeedhacksPanel.cpp" />
|
||||||
<Unit filename="../gui/Panels/VideoPanel.cpp" />
|
<Unit filename="../gui/Panels/VideoPanel.cpp" />
|
||||||
<Unit filename="../gui/Plugins.cpp" />
|
<Unit filename="../gui/Plugins.cpp" />
|
||||||
<Unit filename="../gui/Resources/AppIcon.h" />
|
<Unit filename="../gui/Resources/AppIcon16.h" />
|
||||||
<Unit filename="../gui/Resources/AppIcon.png">
|
<Unit filename="../gui/Resources/AppIcon16.png">
|
||||||
|
<Option compile="1" />
|
||||||
|
<Option compiler="gcc" use="1" buildCommand="$(SvnRootDir)/tools/bin2app.sh $(SvnRootDir) $file" />
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="../gui/Resources/AppIcon32.h" />
|
||||||
|
<Unit filename="../gui/Resources/AppIcon32.png">
|
||||||
|
<Option compile="1" />
|
||||||
|
<Option compiler="gcc" use="1" buildCommand="$(SvnRootDir)/tools/bin2app.sh $(SvnRootDir) $file" />
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="../gui/Resources/AppIcon64.h" />
|
||||||
|
<Unit filename="../gui/Resources/AppIcon64.png">
|
||||||
<Option compile="1" />
|
<Option compile="1" />
|
||||||
<Option weight="0" />
|
|
||||||
<Option compiler="gcc" use="1" buildCommand="$(SvnRootDir)/tools/bin2app.sh $(SvnRootDir) $file" />
|
<Option compiler="gcc" use="1" buildCommand="$(SvnRootDir)/tools/bin2app.sh $(SvnRootDir) $file" />
|
||||||
</Unit>
|
</Unit>
|
||||||
<Unit filename="../gui/Resources/BackgroundLogo.h" />
|
<Unit filename="../gui/Resources/BackgroundLogo.h" />
|
||||||
|
|
|
@ -26,7 +26,7 @@ Panels::GameFixesPanel::GameFixesPanel( wxWindow& parent, int idealWidth ) :
|
||||||
|
|
||||||
wxStaticBoxSizer& groupSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("PCSX2 Gamefixes") );
|
wxStaticBoxSizer& groupSizer = *new wxStaticBoxSizer( wxVERTICAL, this, _("PCSX2 Gamefixes") );
|
||||||
|
|
||||||
// NOTE: Oder of checkboxes must match the order of the bits in the GamefixOptions structure!
|
// NOTE: Order of checkboxes must match the order of the bits in the GamefixOptions structure!
|
||||||
// NOTE2: Don't make this static, because translations can change at run-time :)
|
// NOTE2: Don't make this static, because translations can change at run-time :)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
../../../tools/bin/bin2cpp BackgroundLogo.png
|
../../../tools/bin/bin2cpp BackgroundLogo.png
|
||||||
../../../tools/bin/bin2cpp AppIcon.png
|
../../../tools/bin/bin2cpp AppIcon16.png
|
||||||
|
../../../tools/bin/bin2cpp AppIcon32.png
|
||||||
|
../../../tools/bin/bin2cpp AppIcon64.png
|
||||||
|
|
||||||
../../../tools/bin/bin2cpp ConfigIcon_Cpu.png
|
../../../tools/bin/bin2cpp ConfigIcon_Cpu.png
|
||||||
../../../tools/bin/bin2cpp ConfigIcon_Paths.png
|
../../../tools/bin/bin2cpp ConfigIcon_Paths.png
|
||||||
|
|
|
@ -16,10 +16,6 @@
|
||||||
<Compiler>
|
<Compiler>
|
||||||
<Add option="-g" />
|
<Add option="-g" />
|
||||||
</Compiler>
|
</Compiler>
|
||||||
<Linker>
|
|
||||||
<Add option="`pkg-config gtk+-2.0 --libs`" />
|
|
||||||
<Add option="-shared" />
|
|
||||||
</Linker>
|
|
||||||
</Target>
|
</Target>
|
||||||
<Target title="Release">
|
<Target title="Release">
|
||||||
<Option output="../../../bin/plugins/libPadnull.so.0.1.0" prefix_auto="0" extension_auto="0" />
|
<Option output="../../../bin/plugins/libPadnull.so.0.1.0" prefix_auto="0" extension_auto="0" />
|
||||||
|
@ -45,6 +41,10 @@
|
||||||
<Add directory="../../PadNull" />
|
<Add directory="../../PadNull" />
|
||||||
<Add directory="../../../common/include" />
|
<Add directory="../../../common/include" />
|
||||||
</Compiler>
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="`pkg-config gtk+-2.0 --libs`" />
|
||||||
|
<Add option="-shared" />
|
||||||
|
</Linker>
|
||||||
<Unit filename="Config.cpp" />
|
<Unit filename="Config.cpp" />
|
||||||
<Unit filename="Config.h" />
|
<Unit filename="Config.h" />
|
||||||
<Unit filename="PadLinux.cpp" />
|
<Unit filename="PadLinux.cpp" />
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="OnePad" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="../../../bin/plugins/libOnePAD.so.0.1.0" prefix_auto="0" extension_auto="0" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="3" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Option createStaticLib="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="../../../bin/plugins/libOnePAD.so.0.1.0" prefix_auto="0" extension_auto="0" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="3" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Option createDefFile="1" />
|
||||||
|
<Option createStaticLib="1" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
<Add option="`pkg-config gtk+-2.0 --cflags`" />
|
||||||
|
<Add option="`pkg-config sdl --cflags`" />
|
||||||
|
<Add option="-fPIC" />
|
||||||
|
<Add option="-m32" />
|
||||||
|
<Add directory="../Linux" />
|
||||||
|
<Add directory="../../onepad" />
|
||||||
|
<Add directory="../../../common/include" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="`pkg-config gtk+-2.0 --libs`" />
|
||||||
|
<Add option="`pkg-config sdl --libs`" />
|
||||||
|
<Add option="-shared" />
|
||||||
|
</Linker>
|
||||||
|
<Unit filename="callbacks.h" />
|
||||||
|
<Unit filename="gui.cpp" />
|
||||||
|
<Unit filename="ini.cpp" />
|
||||||
|
<Unit filename="interface.c">
|
||||||
|
<Option compilerVar="CC" />
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="interface.h" />
|
||||||
|
<Unit filename="linux.cpp" />
|
||||||
|
<Unit filename="linux.h" />
|
||||||
|
<Unit filename="onepad.glade" />
|
||||||
|
<Unit filename="support.c">
|
||||||
|
<Option compilerVar="CC" />
|
||||||
|
</Unit>
|
||||||
|
<Unit filename="support.h" />
|
||||||
|
<Unit filename="../analog.cpp" />
|
||||||
|
<Unit filename="../analog.h" />
|
||||||
|
<Unit filename="../bitwise.h" />
|
||||||
|
<Unit filename="../controller.cpp" />
|
||||||
|
<Unit filename="../controller.h" />
|
||||||
|
<Unit filename="../joystick.cpp" />
|
||||||
|
<Unit filename="../joystick.h" />
|
||||||
|
<Unit filename="../keyboard.cpp" />
|
||||||
|
<Unit filename="../keyboard.h" />
|
||||||
|
<Unit filename="../onepad.cpp" />
|
||||||
|
<Unit filename="../onepad.h" />
|
||||||
|
<Extensions>
|
||||||
|
<code_completion />
|
||||||
|
<debugger />
|
||||||
|
</Extensions>
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
File diff suppressed because it is too large
Load Diff
|
@ -19,6 +19,8 @@
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
#include "support.h"
|
#include "support.h"
|
||||||
|
|
||||||
|
#define VERSION 1
|
||||||
|
|
||||||
#define GLADE_HOOKUP_OBJECT(component,widget,name) \
|
#define GLADE_HOOKUP_OBJECT(component,widget,name) \
|
||||||
g_object_set_data_full (G_OBJECT (component), name, \
|
g_object_set_data_full (G_OBJECT (component), name, \
|
||||||
gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
|
gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
|
||||||
|
|
|
@ -18,16 +18,16 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Theoretically, this header is for anything to do with keyboard input.
|
* Theoretically, this header is for anything to do with keyboard input.
|
||||||
* Pragmatically, event handing's going in here too.
|
* Pragmatically, event handing's going in here too.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "keyboard.h"
|
|
||||||
|
|
||||||
|
|
||||||
__forceinline int FindKey(int key, int pad)
|
#include "keyboard.h"
|
||||||
|
|
||||||
|
|
||||||
|
int FindKey(int key, int pad)
|
||||||
{
|
{
|
||||||
for (int p = 0; p < MAX_SUB_KEYS; p++)
|
for (int p = 0; p < MAX_SUB_KEYS; p++)
|
||||||
for (int i = 0; i < MAX_KEYS; i++)
|
for (int i = 0; i < MAX_KEYS; i++)
|
||||||
|
@ -71,7 +71,7 @@ void PollForX11KeyboardInput(int pad)
|
||||||
KeySym key;
|
KeySym key;
|
||||||
int keyPress = 0, keyRelease = 0;
|
int keyPress = 0, keyRelease = 0;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// keyboard input
|
// keyboard input
|
||||||
while (XPending(GSdsp) > 0)
|
while (XPending(GSdsp) > 0)
|
||||||
{
|
{
|
||||||
|
@ -82,7 +82,7 @@ void PollForX11KeyboardInput(int pad)
|
||||||
key = XLookupKeysym((XKeyEvent *) & E, 0);
|
key = XLookupKeysym((XKeyEvent *) & E, 0);
|
||||||
|
|
||||||
i = FindKey(key, pad);
|
i = FindKey(key, pad);
|
||||||
|
|
||||||
// Analog controls.
|
// Analog controls.
|
||||||
if ((i > PAD_RY) && (i <= PAD_R_LEFT))
|
if ((i > PAD_RY) && (i <= PAD_R_LEFT))
|
||||||
{
|
{
|
||||||
|
@ -103,10 +103,10 @@ void PollForX11KeyboardInput(int pad)
|
||||||
}
|
}
|
||||||
i += 0xff00;
|
i += 0xff00;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i != -1)
|
if (i != -1)
|
||||||
{
|
{
|
||||||
clear_bit(keyRelease, i);
|
clear_bit(keyRelease, i);
|
||||||
set_bit(keyPress, i);
|
set_bit(keyPress, i);
|
||||||
}
|
}
|
||||||
//PAD_LOG("Key pressed:%d\n", i);
|
//PAD_LOG("Key pressed:%d\n", i);
|
||||||
|
@ -114,22 +114,22 @@ void PollForX11KeyboardInput(int pad)
|
||||||
event.evt = KEYPRESS;
|
event.evt = KEYPRESS;
|
||||||
event.key = key;
|
event.key = key;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case KeyRelease:
|
case KeyRelease:
|
||||||
key = XLookupKeysym((XKeyEvent *) & E, 0);
|
key = XLookupKeysym((XKeyEvent *) & E, 0);
|
||||||
|
|
||||||
i = FindKey(key, pad);
|
i = FindKey(key, pad);
|
||||||
|
|
||||||
// Analog Controls.
|
// Analog Controls.
|
||||||
if ((i > PAD_RY) && (i <= PAD_R_LEFT))
|
if ((i > PAD_RY) && (i <= PAD_R_LEFT))
|
||||||
{
|
{
|
||||||
Analog::ResetPad(pad, Analog::AnalogToPad(i));
|
Analog::ResetPad(pad, Analog::AnalogToPad(i));
|
||||||
i += 0xff00;
|
i += 0xff00;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i != -1)
|
if (i != -1)
|
||||||
{
|
{
|
||||||
clear_bit(keyPress, i);
|
clear_bit(keyPress, i);
|
||||||
set_bit(keyRelease, i);
|
set_bit(keyRelease, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,13 +153,13 @@ void PollForX11KeyboardInput(int pad)
|
||||||
bool PollX11Keyboard(char* &temp, u32 &pkey)
|
bool PollX11Keyboard(char* &temp, u32 &pkey)
|
||||||
{
|
{
|
||||||
GdkEvent *ev = gdk_event_get();
|
GdkEvent *ev = gdk_event_get();
|
||||||
|
|
||||||
if (ev != NULL)
|
if (ev != NULL)
|
||||||
{
|
{
|
||||||
if (ev->type == GDK_KEY_PRESS)
|
if (ev->type == GDK_KEY_PRESS)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (ev->key.keyval == GDK_Escape)
|
if (ev->key.keyval == GDK_Escape)
|
||||||
{
|
{
|
||||||
temp = "Unknown";
|
temp = "Unknown";
|
||||||
pkey = NULL;
|
pkey = NULL;
|
||||||
|
@ -169,11 +169,11 @@ bool PollX11Keyboard(char* &temp, u32 &pkey)
|
||||||
temp = KeysymToChar(ev->key.keyval);
|
temp = KeysymToChar(ev->key.keyval);
|
||||||
pkey = ev->key.keyval;
|
pkey = ev->key.keyval;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -18,16 +18,16 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __KEYBOARD_H__
|
#ifndef __KEYBOARD_H__
|
||||||
#define __KEYBOARD_H__
|
#define __KEYBOARD_H__
|
||||||
|
|
||||||
#include "onepad.h"
|
#include "onepad.h"
|
||||||
|
|
||||||
#ifdef __LINUX__
|
#ifdef __LINUX__
|
||||||
|
|
||||||
#include "Linux/linux.h"
|
#include "Linux/linux.h"
|
||||||
|
|
||||||
extern Display *GSdsp;
|
extern Display *GSdsp;
|
||||||
extern void PollForX11KeyboardInput(int pad);
|
extern void PollForX11KeyboardInput(int pad);
|
||||||
extern bool PollX11Keyboard(char* &temp, u32 &pkey);
|
extern bool PollX11Keyboard(char* &temp, u32 &pkey);
|
||||||
|
@ -38,10 +38,10 @@ extern WNDPROC GSwndProc;
|
||||||
extern HWND GShwnd;
|
extern HWND GShwnd;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern char* KeysymToChar(int keysym);
|
extern char* KeysymToChar(int keysym);
|
||||||
extern void PollForKeyboardInput(int pad);
|
extern void PollForKeyboardInput(int pad);
|
||||||
extern void SetAutoRepeat(bool autorep);
|
extern void SetAutoRepeat(bool autorep);
|
||||||
extern __forceinline int FindKey(int key, int pad);
|
extern int FindKey(int key, int pad);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue