Buenas!
Veréis estoy "intentando" portar un juego de naves a wii que hice hace tiempo para PC y quiero que la nave se mueva con el stick del nunchuk... El problema es que me está volviendo loco y la wii no me lo reconoce el nunchuck.
Aquí os dejo la parte de código que estoy usando:
WPAD_ScanPads();
struct expansion_t exp;
WPAD_Expansion(0, &exp);
// Nunchuk
if (exp.type == WPAD_EXP_NUNCHUK) {
vec2b_t center = exp.nunchuk.js.center;
GRRLIB_Printf(Letra.x, Letra.y+30, Letra.tex, 0xFFFFFFFF, Letra.size, "Nunchuk X: %d", exp.nunchuk.js.pos.x - center.x);
GRRLIB_Printf(Letra.x, Letra.y+40, Letra.tex, 0xFFFFFFFF, Letra.size, "Nunchuk Y: %d", exp.nunchuk.js.pos.y - center.y);
if((exp.nunchuk.js.ang>=315 || exp.nunchuk.js.ang<=center.y) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = ARRIBA; Ship.y -= 2; }
if((exp.nunchuk.js.ang>=90-center && exp.nunchuk.js.ang<=90+center.x) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = DERECHA; Ship.x += 2; }
if((exp.nunchuk.js.ang>=180-center && exp.nunchuk.js.ang<=180+center.y) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = ABAJO; Ship.y += 2; }
if((exp.nunchuk.js.ang>=270-center && exp.nunchuk.js.ang<=270+center.x) && exp.nunchuk.js.mag>=0.9) { Ship.direccion = IZQUIERDA; Ship.x -= 2; }
}
Eso está dentro de una función junto con otras funciones del wiimote (que por cierto si me funciona perfectamente -.-U) a la que llamo desde el bucle principal.
Los printf es para ver si al menos se mueve o algo el stick, pero es que ni aparece el texto porque claro como no reconoce el nunchuk pues ni se mete en el if ._.
Por cierto al inicio del main, y despues de iniciar el modo de vídeo llamo a WPAD_SetDataFormat(WPAD_CHAN_0, WPAD_FMT_BTNS_ACC_IR); supongo que no tendrá nada que ver pero lo pongo por si acaso xD
En teoría debería de funcionar pero es que no entiendo porque leches no lo hace
En fin, a ver si me podéis echar una mano.
Salu2!!