Página 1 de 1

Modo 2 botones y Joysticks

Publicado: Mar, 17 Dic 2013, 14:18
por son_link
Buenas gente, os cuento.
Como ya sabréis mi jugo, Sami Troid uso el modo de 2 botones, modo que no va en los joysticks. ¿como puedo hacer que en ese modo el salto sea cuando pulsa arriba?

Re: Modo 2 botones y Joysticks

Publicado: Mar, 17 Dic 2013, 16:19
por na_th_an
Opino que saltar pulsando arriba en el joystick hace que un juego sea totalmente injugable. Por defecto, si tienes el disparo activado, saltar se mueve a la posición de "arriba" y disparar al botón, pero esto es incompatible con la directiva que activa WASDMN.
Puede intentar hacerse un apaño parcheando un poco el código, pero no sé si tendrá efectos colaterales. Busca esto en engine.h, a partir de 785

$this->bbcode_second_pass_code('', '#elif defined (PLAYER_CAN_FIRE) && defined (USE_TWO_BUTTONS)

#ifdef PLAYER_CUMULATIVE_JUMP
if (sp_KeyPressed (key_jump) && (possee || player.gotten)) {
player.vy = -player.vy - PLAYER_VY_INICIAL_SALTO;
if (player.vy < -PLAYER_MAX_VY_SALTANDO) player.vy = -PLAYER_MAX_VY_SALTANDO;
#else
if (sp_KeyPressed (key_jump) && player.saltando == 0 && (possee || player.gotten)) {
#endif
player.saltando = 1;
player.cont_salto = 0;
peta_el_beeper (3);
}

#ifndef PLAYER_CUMULATIVE_JUMP
if (sp_KeyPressed (key_jump) && player.saltando ) {
player.vy -= (PLAYER_VY_INICIAL_SALTO + PLAYER_INCR_SALTO - (player.cont_salto>>1));
if (player.vy < -PLAYER_MAX_VY_SALTANDO) player.vy = -PLAYER_MAX_VY_SALTANDO;
player.cont_salto ++;
if (player.cont_salto == 8)
player.saltando = 0;
}
#endif

if (!sp_KeyPressed (key_jump))
player.saltando = 0;')

Siempre que ponga "sp_KeyPressed (key_jump)" en este trozo remplázalo por "(sp_KeyPressed (key_jump) || ((gpit & sp_UP) == 0))". Cuidado con los paréntesis. Un find & replace debería ser lo más seguro.

Ahora mismo estoy en proceso de mejorar toda esa parte, por cierto.

Re: Modo 2 botones y Joysticks

Publicado: Mar, 17 Dic 2013, 16:50
por son_link
$this->bbcode_second_pass_quote('na_th_an', 'O')pino que saltar pulsando arriba en el joystick hace que un juego sea totalmente injugable. Por defecto, si tienes el disparo activado, saltar se mueve a la posición de "arriba" y disparar al botón, pero esto es incompatible con la directiva que activa WASDMN.

Hay juegos en los que había que hacerlo así, como en Robocop 2 por ejemplo. La otra opción seria desactivar el soporte para los joysticks, así ademas se podría ganar unos bits.
$this->bbcode_second_pass_quote('na_th_an', 'A')hora mismo estoy en proceso de mejorar toda esa parte, por cierto.

Pues si eso en un futuro añado esa mejora al juego, que quiero terminarlo antes de que se acabe el año.
Voy a seguir con el de momento con WASDMN, que a mi me resulta cómodo de jugar así (sera por la costumbre ya)

Re: Modo 2 botones y Joysticks

Publicado: Mar, 17 Dic 2013, 17:07
por na_th_an
El problema es que el WASDNM se concibió para activar también los disparos diagonales. De esa forma, puedes saltar y elegir si disparas al frente (solo pulsando izquierda o derecha) o en diagonal (combinándolo con arriba). Si usas "arriba" para saltar no puedes controlar bien la dirección de los disparos.

Si tu disparo es solo al frente, no hay problema.

No creo que tenga una versión lista antes de final de año, así que te recomiendo que intentes hacer la modificación que te he propuesto. Haz copia de seguridad y no debería haber problemas :D

Re: Modo 2 botones y Joysticks

Publicado: Mar, 17 Dic 2013, 17:45
por son_link
$this->bbcode_second_pass_quote('na_th_an', 'E')l problema es que el WASDNM se concibió para activar también los disparos diagonales. De esa forma, puedes saltar y elegir si disparas al frente (solo pulsando izquierda o derecha) o en diagonal (combinándolo con arriba). Si usas "arriba" para saltar no puedes controlar bien la dirección de los disparos.

Si tu disparo es solo al frente, no hay problema.

No creo que tenga una versión lista antes de final de año, así que te recomiendo que intentes hacer la modificación que te he propuesto. Haz copia de seguridad y no debería haber problemas :D

Si, es solo al frente, como en el Metroid original o a lo Megaman si nos ponemos.
Mas tarde lo pruebo, antes quiero terminar el mapa y detrás ira el scripting.

Re: Modo 2 botones y Joysticks

Publicado: Mar, 24 Dic 2013, 09:47
por son_link
Lo acabo de probar y no funciona.
Si escojo Kempston se vuelve loco, salta y dispara todo el rato, en cambio en Sincleir salta 2 pixeles mal contados.
Creo que lo mejor, de momento, es desactivar las 2 opciones de joystick.
Adjunto el engine.h modificado