Hola. cuando usaba la version r112 usaba el ejemplo del foro ejemplo para probar los joy buttons, pues ahora lo necesito para ver que botones usa la xbox y me llevo la sorpresa que no compila, he probado las versiones r244 y r307 y en ambas tengo el mismo error, lo probé de nuevo en la r112 y sigue compilando:
en funcion getball:
for(j=0; j<numballs; j++)
t[j] = joy_getball(i,j, &t[j][0], &t[j][1]);
end
error: data type not accepted here (token error: ")" ).
como nota la mod_joy de la r112 ocupa 18,8 kb (la buena) y la de r244 ocupa sólo 9 kb!
podes poner espacios entre los []? asi vemos bien el codigo?
y por favor, pone la salida completa del compilador... y que numero de linea del codigo que copiaste es dentro del fuente.
es esa linea la de la funcion que digo, lo demás es todo el texto que sale...
de todas formas probé el compilado viejo en xbox y funciona :) Una maravilla el port a Xbox por cierto hehehehe
nah... tiene que salir fuente y numero de linea...
pues toma....
ya veo, el problema lo tenes en que estas queriendo asignar el valor que retorna joy_getball a t[ i ][ j ]... (3 dimensiones)
cambia t[ i ][ j ] por cualquier otra variable...
cambialo por esto
for(j=0; j<numballs[ i]; j++)
joy_getball(i,j,&t[ i][j][0],&t[ i][j][1]);
end
gracias.
pero lo interesante seria saber porque eso ha cambiado, por cambios en el compilador ? a partir de que version ? etc.
No sabría decirte, pero hace ya mucho tiempo que Bennu ya no permite acceder al primer registro de un array de esa forma.
Si bien rompe algunos códigos, es lo más seguro para todos y para evitarnos pises de memoria que se permitían desde tiempos inmemoriables xD
por cierto a titulo de curiosidad, he revisado de nuevo el prg, y sólo puedo decir algo, o los admins han editado mi post, o estoy loco, o hay espiritos por aqui....
el codigo que tenia en el prg es este:
for(j=0; j<numballs; j++)
t[j] = joy_getball(i,j, &t[j][0], &t[j][1]);
end
pero ahora miro mi primer post y veo esto:
for(j=0; j<numballs; j++)
t[j] = joy_getball(i,j, &t[j][0], &t[j][1]);
end
t[j] = joy_getball(i,j, &t[j][0], &t[j][1]);
en lugar de
t[j] = joy_getball(i,j, &t[j][0], &t[j][1]);
enfin la i se ha ido de viaje.... ;D
hhahahahahahaha, en mi justificacion la i se ha ido de nuevo al garete, veo que el foro se esta comiendo una dimension del array, la dimension en todas las asignaciones al postear el codigo xDD es de locos vamos :o
a la tercera va la vencida, ya veo si escribes [ i ] (pero todo junto) el foro se la traga porque aplica el estilo italico al texto xD
No había caído xD Te quita el [ i ] por que lo parsea con BBCode :)
Para qué inventaría alguien la etiqueta [ code ]
que no me leen cuando hablo...
Quote from: SplinterGU on January 17, 2013, 09:10:49 PM
podes poner espacios entre los []? asi vemos bien el codigo?
y por favor, pone la salida completa del compilador... y que numero de linea del codigo que copiaste es dentro del fuente.
por otro lado, esto no deberia haber funcionado nunca... porque la asignacion esta esperando un item de 2 dimensiones, y la funcion solo retorna 1 valor... asi que si antes funcionaba y ahora no, me alegra mucho saberlo, porque antes estaba funcionando mal... y se ve que lo corregi, corrigiendo otra cosa y por efecto (logico) se arreglo esto tambien.
Gracias Free y Splinter, por no tener que preguntar otra vez... Pero, lo podriais explicar, joy_getball, entonces no devuelve ningun tipo de dato???
De todas formas habria que cambiar la wiki, viene asi: INT joy_getball ( [ <INT JoyID> ] , <POINTER dx> , <POINTER dy>)