vbagx/source/ngc/gameinput.h
Carl.Kenner 5727662110 Much improved Wii controls, especially Zelda, now falls through to configured controls.
Added controls for One Piece.
Fixed in-game cursor.
Removed annoying rumble from Minish Cap items screen.
Added change list and instructions to readme.txt.
Moved some of the functions from gameinput.cpp.
I think it is ready for release.
2009-04-02 23:41:09 +00:00

154 lines
4.9 KiB
C

/****************************************************************************
* Visual Boy Advance GX
*
* Carl Kenner Febuary 2009
*
* gameinput.h
*
* Wii controls for individual games
***************************************************************************/
#ifndef _GAMEINPUT_H_
#define _GAMEINPUT_H_
#define gid(a,b,c) (a|(b<<8)|(c<<16))
#define BOKTAI1 gid('U','3','I')
#define BOKTAI2 gid('U','3','2')
#define BOKTAI3 gid('U','3','3')
#define ZELDA1 gid('F','Z','L')
#define ZELDA2 gid('F','L','B')
#define ALINKTOTHEPAST gid('A','Z','L')
#define LINKSAWAKENING 0xFF0001
#define ORACLEOFSEASONS gid('A','Z','7')
#define ORACLEOFAGES gid('A','Z','8')
#define MINISHCAP gid('B','Z','M')
#define METROID0 gid('B','M','X')
#define METROID1 gid('F','M','R')
#define METROID2 0xFF0009
#define METROID4 gid('A','M','T')
#define MARIO1CLASSIC gid('F','S','M')
#define MARIO1DX gid('A','H','Y')
#define MARIO2CLASSIC gid('F','M','2')
#define MARIO2ADV gid('A','M','Z')
#define MARIO3ADV gid('A','X','4')
#define MARIOWORLD gid('A','A','2')
#define YOSHIISLAND gid('A','3','A')
#define MARIOLAND1 0xFF0007
#define MARIOLAND2 0xFF0008
#define HARRYPOTTER1 gid('A','H','R')
#define HARRYPOTTER1GBC gid('B','H','V')
#define HARRYPOTTER2 gid('A','7','H')
#define HARRYPOTTER2GBC gid('B','H','6')
#define HARRYPOTTER3 gid('B','H','T')
#define HARRYPOTTER4 gid('B','H','8')
#define HARRYPOTTER5 gid('B','J','X')
#define QUIDDITCH gid('B','H','P')
#define TMNT gid('B','E','X')
#define RESIDENTEVIL gid('B','I','O')
#define MOHUNDERGROUND gid('A','U','G')
#define MOHINFILTRATOR gid('B','M','H')
#define KOROKORO gid('K','H','P')
#define YOSHIUG gid('K','Y','G')
#define KIRBYTNT gid('K','T','N')
#define KIRBYTNTJ gid('K','K','K')
#define TWISTED gid('R','Z','W')
#define MARIOGOLF gid('A','W','X')
#define MARIOTENNIS gid('B','M','8')
#define MARIOKART gid('A','M','K')
#define LSW1 gid('B','L','W')
#define LSW2 gid('B','L','7')
#define BIONICLEHEROES gid('B','I','H')
#define MK1 0xFF0002
#define MK2 0xFF0003
#define MK12 0xFF0004
#define MK3 0xFF0005
#define MK4 0xFF0006
#define MKA gid('A','M','5')
#define MKDA gid('A','X','D')
#define MKTE gid('A','W','4')
#define CORVETTE gid('A','V','C')
#define ONEPIECE gid('B','O','N')
u8 gbReadMemory(register u16 address);
void gbWriteMemory(register u16 address, register u8 value);
u32 StandardDPad(unsigned short pad);
u32 StandardMovement(unsigned short pad);
u32 StandardSideways(unsigned short pad);
u32 StandardClassic(unsigned short pad);
u32 StandardGamecube(unsigned short pad);
u32 StandardKeyboard(unsigned short pad);
u32 DPadWASD(unsigned short pad);
u32 DPadArrowKeys(unsigned short pad);
u32 DecodeKeyboard(unsigned short pad);
u32 DecodeWiimote(unsigned short pad);
u32 DecodeClassic(unsigned short pad);
u32 DecodeGamecube(unsigned short pad);
u32 DecodeNunchuk(unsigned short pad);
// For developers who don't have gamecube pads but need to test gamecube input
u32 PAD_ButtonsDownFake(unsigned short pad);
u32 PAD_ButtonsHeldFake(unsigned short pad);
u32 PAD_ButtonsUpFake(unsigned short pad);
u32 MarioLand1Input(unsigned short pad);
u32 MarioLand2Input(unsigned short pad);
u32 LegoStarWars1Input(unsigned short pad);
u32 LegoStarWars2Input(unsigned short pad);
u32 MarioKartInput(unsigned short pad);
u32 MK1Input(unsigned short pad);
u32 MK4Input(unsigned short pad);
u32 MKAInput(unsigned short pad);
u32 MKTEInput(unsigned short pad);
u32 Zelda1Input(unsigned short pad);
u32 Zelda2Input(unsigned short pad);
u32 ALinkToThePastInput(unsigned short pad);
u32 LinksAwakeningInput(unsigned short pad);
u32 OracleOfAgesInput(unsigned short pad);
u32 OracleOfSeasonsInput(unsigned short pad);
u32 MinishCapInput(unsigned short pad);
u32 MetroidZeroInput(unsigned short pad);
u32 Metroid1Input(unsigned short pad);
u32 Metroid2Input(unsigned short pad);
u32 MetroidFusionInput(unsigned short pad);
u32 TMNTInput(unsigned short pad);
u32 HarryPotter1Input(unsigned short pad);
u32 HarryPotter1GBCInput(unsigned short pad);
u32 HarryPotter2Input(unsigned short pad);
u32 HarryPotter2GBCInput(unsigned short pad);
u32 HarryPotter3Input(unsigned short pad);
u32 HarryPotter4Input(unsigned short pad);
u32 HarryPotter5Input(unsigned short pad);
u32 Mario1ClassicInput(unsigned short pad);
u32 Mario1DXInput(unsigned short pad);
u32 Mario2Input(unsigned short pad);
u32 Mario3Input(unsigned short pad);
u32 MarioWorldInput(unsigned short pad);
u32 YoshiIslandInput(unsigned short pad);
u32 UniversalGravitationInput(unsigned short pad);
u32 MohUndergroundInput(unsigned short pad);
u32 MohInfiltratorInput(unsigned short pad);
u32 TwistedInput(unsigned short pad);
u32 KirbyTntInput(unsigned short pad);
u32 BoktaiInput(unsigned short pad);
u32 Boktai2Input(unsigned short pad);
u32 OnePieceInput(unsigned short pad);
#endif