ByR escribió:Alguno lo ha jugado con la guitarra de wii? esque por este juego me compraría un cacharro de esos para bluetooth, pero quiero saber que rula bien.
Anda tio vete al pedo xDDDDyamo100 escribió:oki, pues guay. dejare de jugar con el teclado y me pondre el pad xD
salu2.
suloku escribió:Buenas, impresionante el port, espero que podamos verlo pronto en Wii (jeje) y en futuras consolas, porque este juego siempre será igual de bueno y entretenido.
Además gracias a ser de pc, POR FIN podemos jugar con 2 guitarras aunque no sean de la misma consola (son unos sacaperras los cabrones del guitar hero, que hay 3 o 4 guitarras diferentes...).
Solo encuentro una pega, aunque es probable que sea culpa de mi adaptador para la guitarra de ps2, y es que no me pilla el eje del trémolo :S
Creo que debe ser que los drivers, al ser para le mando de psx, la cuestion es que por mucho que toque el tremolo no observo ningun cambio en la herramienta de testeo de windows.
Alguien sabe como puedo instalar unos drivers que me pillen el eje de la palanca del tremolo?
Sly_Marbo135 escribió:Anda tio vete al pedo xDDDD
Anda que no mola usar el teclado como la guitarra xDDD
Asi se pierde todo el encanto, por diossss. (A falta de poder coger la guitarra de la xbox360 en el pc, que aunque se pueda no tengo los medios para ello)
Hermes escribió:Tu problema es que necesitas cambiar de modo la guitarra.
jdeacon escribió:Probado y ya funciona a la perfeccion con la guitarra de la 360.
Muchas gracias, he notado un pequeño fallo si es que es un fallo: cuando fallas varias notas seguidas y la siguiente la has pulsado bien en su momento es como si no se acompasara al ritmo y tambien la fallas, es raro de explicar pero si tocais una cancion con muchas notas seguidas en el mismo traste y falles un par de ellas, luego tienes que adaptarte para corregir bien el ritmo. Esto por ejemplo en el guitar hero de la 360 no pasa.
Es como si se descompensara la cancion con las notas....
Lo comento como buscapegas.... porque el programa es la leche..
ssux escribió:¿seria muy difícil llevarlo a la xbox? la original. Con la scene que tiene esa consola tendría mucha repercusión.
Dimitri escribió:El Piraña, eso que dices suena bien y lo que comentas en el enlace también. Me vas a hacer de buscar un adaptador de la guitarra para la Xbox original
Dimitri escribió:Hombre, yo de programación estoy pez pero hay montones de programas en la scene y supongo que mirando el código te puede servir de ayuda.
Prueba con Beats of Rage que tiene código opensource.
Dimitri escribió:Teniendo referencias a librerías propietarias no es trigo limpio por lo que leo.
Ya se un poquito más de programación
Dimitri escribió:Pasate por Xbins en Effnet y pillate algún juego/aplicación de su server, quiero suponer que algo abrá que sea "puro"
Saludos.
Hermes escribió:Hombre, el señor Talfi (joe, no hace años ni nada que me pasaba por tu pagina, por el tema de los emuladores)
Si se puede salir del modo de prueba... solo que cada periferico sale de una manera distinta:
- Si usas teclado, por defecto es Esc o la tecla que definas como Esc para salir al menu de pausa, pulsa Abajo y F1 para salir
- Si usas una Guitarra, Pulsa los trastes del 1 al 4 (verde a Azul) y luego el boton Start
viviano escribió:Me he bajado el juego y está genial, muchas gracias Hermes por este estupendo juego, pero no lo puedo usar con mi guitarra de xbox 360. Me explico, a la hora de definir los trastes muy bien pero luego no me deja definir para tocar como si fuera la pua y el vibrato. Alguien sabe como se soluciona? Muchas gracias.
Dimitri escribió:Al final lo has puesto, me parece genial la idea.
Con respecto al mando he vuelto al controlador oficial de microsoft y no he notado tantos tirones (de momento) en la versión anterior a esta que acabas de liberar.
Un saludo.
karuritosu escribió:Una pregunta para Hermes, ¿sabes de qué manera puedo cambiar el tempo en mitad de una canción?
Estoy grabando un nuevo tema que le prodría venir muy bien al juego, pero tiene un cambio de tempo al final, igualmente tengo otra canción que hice hace tiempo que no llegué a hacerla para el FoF porque no tenía muy claro cómo cambiar el tempo, ya que también tiene un cambio de tempo al final
RedDwarf escribió:Estoy intentando hacerlo funcionar en Linux. Que compile ha sido fácil, dos o tres "segmentation fault"s se han ido corrigiendo, pero ahora me encuentro con que se queda en bucle infinito en alguna parte cuando le doy a "Single Player" y sale la lista de canciones.
Pero sólo para asegurarme que no la he cagado... en la función itoLetter de video.c se hace "int pos[0][2];". Sinceramente, no me esperaba que el compilador se lo tragase... 0??????? Esto provocaba uno de los "segmentation fault". Como he visto que en el código sólo se hacia referencia a pos[0] y pos[1] lo he cambiado por "int pos[2][2];". He hecho bien? Que se supone que se hace al declararlo con un tamaño 0??
La verdad no sé que hace la función ni nada, tampoco soy programador. Así que voy un tanto a ciegas.
while(!my_eof && !my_eof2 && !my_eof3){
long ret;
SDL_PollEvent(&event);
RedDwarf escribió:Pues el problema es que estaba usando libvorbisfile en vez de tremor. Pensaba que tremor era exactamente equivalente, excepto por usar sólo enteros. Incluso enlazaba correctamente... pero por lo visto no son tan equivalentes como pensaba.
Usando libvorbisfile se quedaba en el bucle "while(!my_eof && !my_eof2 && !my_eof3)" ya que ov_read devolvía OV_EINVAL (-131). Y al no devolver nunca cero el valor de los my_eof nunca se modificaba.
Usando tremor ya funciona todo... excepto porque las canciones (he probado con dos de las que vienen por defecto con el Frets on Fire) se escuchan *muy* rápido. Vamos, que si no sabes como era la canción normalmente ni la reconoces. Mañana ya me lo miraré...
This is necessary because ALSA's "default" audio device has very poor buffering control capabilities.
diff -u guitarfun/audio.c guitarfun3/audio.c
--- guitarfun/audio.c 2008-02-09 00:06:12.000000000 +0100
+++ guitarfun3/audio.c 2008-02-17 13:17:30.000000000 +0100
@@ -252,7 +252,7 @@
static short *out_s;
static long long zero[2]={0LL,0LL}; // trick: this contain 8 stereo samples to 0
#else
-static short zero[1]=0; // trick: this contain 1 stereo sample to 0
+static short zero[1]={0}; // trick: this contain 1 stereo sample to 0
register int sampl, sampr;
#endif
for(n=0;n<MAX_PCM_CHANS;n++)
Sólo en guitarfun3: guitar
Sólo en guitarfun: ito_d3d.c
diff -u guitarfun/main.c guitarfun3/main.c
--- guitarfun/main.c 2008-02-10 21:07:02.000000000 +0100
+++ guitarfun3/main.c 2008-02-17 13:25:43.000000000 +0100
@@ -118,6 +118,10 @@
#define AUDIO_LOOP_93MS 1
#define AUDIO_LOOP_46MS 2
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
int current_audio_loop_divider=AUDIO_LOOP_46MS; // used when you playing game
char main_dir[FILENAME_MAX]="";
@@ -4900,7 +4904,7 @@
level_init=7;
- #ifndef WIN32
+/* #ifndef WIN32
memset(&sthread1, 0, sizeof(sthread1));
memset(&sthread2, 0, sizeof(sthread2));
// maybe you can use it under LINUX
@@ -4916,7 +4920,7 @@
n=pthread_setschedparam(pthread_self(), SCHED_APP, &sthread2);
- #endif
+ #endif*/
SDL_SetTimer(MS_TICK,mytimer);
level_init=8;
@@ -5450,12 +5454,12 @@
memset(&entries[nfiles],0,sizeof entries[0]);
// directory
- if(dd2 && (type & 1)==1) {memcpy(entries[nfiles].filename,direntp->d_name,direntp->d_namlen);
+ if(dd2 && (type & 1)==1) {memcpy(entries[nfiles].filename,direntp->d_name,strlen(direntp->d_name));
entries[nfiles].fileProperties=1;
nfiles++;
}
// files
- if(!dd2 && (type & 2)==2) {memcpy(entries[nfiles].filename,direntp->d_name,direntp->d_namlen);
+ if(!dd2 && (type & 2)==2) {memcpy(entries[nfiles].filename,direntp->d_name,strlen(direntp->d_name));
entries[nfiles].fileProperties=0;
nfiles++;
}
diff -u guitarfun/video.c guitarfun3/video.c
--- guitarfun/video.c 2008-02-02 20:58:24.000000000 +0100
+++ guitarfun3/video.c 2008-02-17 13:16:58.000000000 +0100
@@ -252,7 +252,7 @@
int n,m,l;
int display=0;
int mode=0;
-int pos[0][2];
+int pos[2][2];
int flag,flag2=0;
if(c<=32) return;
Hermes escribió:Por cierto, ¿que procesador estas usando? Teoricamente, no deberias tener problemas con SSE_ASM(salvo que Linux no proteja el contenido de los registros al hacer cambios de tareas).
Hermes escribió:SSE se soporta desde los PIII, pero ese define tambien controla el codigo MMX: podrias probar a cambiar las partes de codigo para forzarlas a mano, a ver concretamente si falla en la rutina de audio (que tira de MMX) o en la rutina de multiplicacion de vertices (en 3d_engine .c)
Hermes escribió:Las tres causas que se me ocurren, es que Linux use esos registros para otra cosa y se corrompan, que tu compilador optimice esa parte y meta un registro como parametro a las rutinas y genere una instruccion invalida (despues de ver como se traga int pos[0][2], ya te esperas cualquier cosa ) o un problema de alineaciones.
Hermes escribió:Lo que comentas de hw y default en el audio, supongo que hw se refiere a escritura directa en el buffer del hardware, mientras que por defecto, tal vez se utilice una cola que acepta el audio y lo transfiere en un segundo plano.
Hermes escribió:Eso es valido por ejemplo, si quieres reproducir un mp3 o ver una pelicula, que puedes ir acumulando audio para evitar que al darle acceso a otros procesos, se rompa la reproduccion, pero para un juego como Guitarfun, es VITAL trabajar el audio en tiempo real y es mejor que haya una interrupcion en el audio a que éste vaya a su bola y no sincronice con la imagen.
Hermes escribió:Por cierto, ¿como te va el juego? ¿te va fluido?
Hermes escribió:Otra cosa, ¿podrias pasarme el makefile adaptado que estes usando?. Eso junto con cualquier nota que quieras que incluya en el paquete para los usuarios Linux.
# Project: Guitarfun
CC = gcc
OBJ = main.o mastil2_3_bmp.o mastil_1_bmp.o mastil_2_bmp.o mastil_3_bmp.o mastil_bmp.o publico1_bmp.o publico2_bmp.o guitarra_bmp.o mastil2_1_bmp.o mastil2_2_bmp.o bitmaps.o video.o letter.o 3d_engine.o ovacion_pcm.o abucheo_pcm.o aplauso_pcm.o clin2_pcm.o clin_pcm.o credits_txt.o effect_pcm.o guitar30_pcm.o guitar31_pcm.o guitar32_pcm.o licenses_txt.o out_pcm.o guitar_anim.o audio.o ito.o mastil3_2_bmp.o mastil3_1_bmp.o
LINKOBJ = main.o mastil2_3_bmp.o mastil_1_bmp.o mastil_2_bmp.o mastil_3_bmp.o mastil_bmp.o publico1_bmp.o publico2_bmp.o guitarra_bmp.o mastil2_1_bmp.o mastil2_2_bmp.o bitmaps.o video.o letter.o 3d_engine.o ovacion_pcm.o abucheo_pcm.o aplauso_pcm.o clin2_pcm.o clin_pcm.o credits_txt.o effect_pcm.o guitar30_pcm.o guitar31_pcm.o guitar32_pcm.o licenses_txt.o out_pcm.o guitar_anim.o audio.o ito.o mastil3_2_bmp.o mastil3_1_bmp.o
LIBS = -s ../tremor/.libs/libvorbisidec.a -lSDL -lGL
BIN = Guitarfun
CFLAGS := $(CFLAGS) -DSSE_ASM -O2
RM = rm -f
.PHONY: all all-before all-after clean clean-custom
all: all-before Guitarfun all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o $(BIN) $(LIBS)
main.o: main.c
$(CC) -c main.c -o main.o $(CFLAGS)
mastil2_3_bmp.o: mastil2_3_bmp.c
$(CC) -c mastil2_3_bmp.c -o mastil2_3_bmp.o $(CFLAGS)
mastil_1_bmp.o: mastil_1_bmp.c
$(CC) -c mastil_1_bmp.c -o mastil_1_bmp.o $(CFLAGS)
mastil_2_bmp.o: mastil_2_bmp.c
$(CC) -c mastil_2_bmp.c -o mastil_2_bmp.o $(CFLAGS)
mastil_3_bmp.o: mastil_3_bmp.c
$(CC) -c mastil_3_bmp.c -o mastil_3_bmp.o $(CFLAGS)
mastil_bmp.o: mastil_bmp.c
$(CC) -c mastil_bmp.c -o mastil_bmp.o $(CFLAGS)
publico1_bmp.o: publico1_bmp.c
$(CC) -c publico1_bmp.c -o publico1_bmp.o $(CFLAGS)
publico2_bmp.o: publico2_bmp.c
$(CC) -c publico2_bmp.c -o publico2_bmp.o $(CFLAGS)
guitarra_bmp.o: guitarra_bmp.c
$(CC) -c guitarra_bmp.c -o guitarra_bmp.o $(CFLAGS)
mastil2_1_bmp.o: mastil2_1_bmp.c
$(CC) -c mastil2_1_bmp.c -o mastil2_1_bmp.o $(CFLAGS)
mastil2_2_bmp.o: mastil2_2_bmp.c
$(CC) -c mastil2_2_bmp.c -o mastil2_2_bmp.o $(CFLAGS)
bitmaps.o: bitmaps.c
$(CC) -c bitmaps.c -o bitmaps.o $(CFLAGS)
video.o: video.c
$(CC) -c video.c -o video.o $(CFLAGS)
letter.o: letter.c
$(CC) -c letter.c -o letter.o $(CFLAGS)
3d_engine.o: 3d_engine.c
$(CC) -c 3d_engine.c -o 3d_engine.o $(CFLAGS)
ovacion_pcm.o: ovacion_pcm.c
$(CC) -c ovacion_pcm.c -o ovacion_pcm.o $(CFLAGS)
abucheo_pcm.o: abucheo_pcm.c
$(CC) -c abucheo_pcm.c -o abucheo_pcm.o $(CFLAGS)
aplauso_pcm.o: aplauso_pcm.c
$(CC) -c aplauso_pcm.c -o aplauso_pcm.o $(CFLAGS)
clin2_pcm.o: clin2_pcm.c
$(CC) -c clin2_pcm.c -o clin2_pcm.o $(CFLAGS)
clin_pcm.o: clin_pcm.c
$(CC) -c clin_pcm.c -o clin_pcm.o $(CFLAGS)
credits_txt.o: credits_txt.c
$(CC) -c credits_txt.c -o credits_txt.o $(CFLAGS)
effect_pcm.o: effect_pcm.c
$(CC) -c effect_pcm.c -o effect_pcm.o $(CFLAGS)
guitar30_pcm.o: guitar30_pcm.c
$(CC) -c guitar30_pcm.c -o guitar30_pcm.o $(CFLAGS)
guitar31_pcm.o: guitar31_pcm.c
$(CC) -c guitar31_pcm.c -o guitar31_pcm.o $(CFLAGS)
guitar32_pcm.o: guitar32_pcm.c
$(CC) -c guitar32_pcm.c -o guitar32_pcm.o $(CFLAGS)
licenses_txt.o: licenses_txt.c
$(CC) -c licenses_txt.c -o licenses_txt.o $(CFLAGS)
out_pcm.o: out_pcm.c
$(CC) -c out_pcm.c -o out_pcm.o $(CFLAGS)
guitar_anim.o: guitar_anim.c
$(CC) -c guitar_anim.c -o guitar_anim.o $(CFLAGS)
audio.o: audio.c
$(CC) -c audio.c -o audio.o $(CFLAGS)
ito.o: ito.c
$(CC) -c ito.c -o ito.o $(CFLAGS)
mastil3_2_bmp.o: mastil3_2_bmp.c
$(CC) -c mastil3_2_bmp.c -o mastil3_2_bmp.o $(CFLAGS)
mastil3_1_bmp.o: mastil3_1_bmp.c
$(CC) -c mastil3_1_bmp.c -o mastil3_1_bmp.o $(CFLAGS)
Hermes escribió:"Copyright (c) 2008 RedDwarf (SPAIN) (some errors fixed and Linux adaptation)"
¿Te parece bien que te añada así al copyright? (supongo que eres español, que si no lo corrijo )