Bennu Game Development

Foros en Español => Mesa de Ayuda => Mensaje iniciado por: FreeYourMind en Junio 01, 2011, 06:15:50 pm

Título: Ayuda con fopen
Publicado por: FreeYourMind en Junio 01, 2011, 06:15:50 pm
Hola, necesito ayuda sobre fopen y tambien sobre Linux (porque las dudas las tengo por la consola Pandora)


1 - Empiezó con una sugerencia: Como se sabe si el fopen falla por ejemplo porque la ruta no existe, el fichero se crea en la raiz.
Seria posible una flag en que si falla porque la ruta no existe, que tampoco me genere el fichero en la raiz ?

2 - El sistema de ficheros del disco de Pandora es protegido contra escritura/lectura (al navegar en su filesistem la opcion de escribir esta deshabilitada y tampoco podemos copiar sus datos), pero las aplicaciones si pueden escribir en el.
Es posible que Bennu tenga la capacidad de escribir y borrar ficheros tambien en su disco ? Como se podria hacer con Bennu ?

3 - Se podrian cambiar las propiedades de un fichero externo con bennu (oculto/modo sólo lectura, etc) ?

3 - Es posible leer el nombre de una drive o disco externo/SD (mnt) con Bennu ?

Thanks

Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 02, 2011, 01:20:52 am
- si el fopen falla, retornara un error.
- si un directorio existe lo podras saber si usas la funcion dir_open
- los archivos no se crean si el path no existe, a menos que tu quieras crearlo en el raiz y tengas permisos para hacerlo.
- si la aplicacion (usuario que la ejecuta) no tiene permisos, no puede escribir en dicho directorio (tambien aplica para leer y ejecutar)
- los atributos de un archivo o directorio no se pueden cambiar desde bennugd, pero puedes usar el comando exec y ejecutar un chmod con los parametros necesarios.
- para saber el nombre de un drive montado con mount, puedes tambier hacer un exec de "mount -l > /tmp/salida.txt" esto te generara una salida en el directorio /tmp que luego tu podras leer. se que no es lo mas prolijo, pero bueno, te puede servir.
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 02, 2011, 07:29:54 am
1 - Sobre esta:

- los archivos no se crean si el path no existe, a menos que tu quieras crearlo en el raiz y tengas permisos para hacerlo.

Te confirmo una vez mas que esto no es cierto, esto lo he comprobado en las portatiles y tambien en PC, y me crea el fichero en la raiz del juego, cuando intento hacer un fopen a una ruta que no existe, el fichero acaba por crearse de igual modo pero en la raiz (puedes hacer la prueba y veras), de todas formas con dir_open ya puedo controlar el problema como bien dices.

2 - Entonces como hacen las aplicaciones para escribir en la unidad de sistema de la Pandora (que es linux vamos) ?

3 - Queria pedir una sugerencia mas para Bennu, que se lleva pidiendo a gritos hace tiempo y que nuestros juegos estan sufriendo por ello: Necesitamos modo7 compatible con 16bits/32bits...
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 02, 2011, 07:32:07 am
me pones un ejemplo del chmod para cambiar las propiedades de un fichero usando bennu ? gracias, karma
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 02, 2011, 06:03:40 pm
1 - Sobre esta:

- los archivos no se crean si el path no existe, a menos que tu quieras crearlo en el raiz y tengas permisos para hacerlo.

Te confirmo una vez mas que esto no es cierto, esto lo he comprobado en las portatiles y tambien en PC, y me crea el fichero en la raiz del juego, cuando intento hacer un fopen a una ruta que no existe, el fichero acaba por crearse de igual modo pero en la raiz (puedes hacer la prueba y veras), de todas formas con dir_open ya puedo controlar el problema como bien dices.

2 - Entonces como hacen las aplicaciones para escribir en la unidad de sistema de la Pandora (que es linux vamos) ?

3 - Queria pedir una sugerencia mas para Bennu, que se lleva pidiendo a gritos hace tiempo y que nuestros juegos estan sufriendo por ello: Necesitamos modo7 compatible con 16bits/32bits...


1) no es cierto lo que dices, hay una confusion, si yo hago un fopen de "/lala/pepe.txt", nunca me va a crear pepe.txt en mel raiz, eso es imposible. ahora si vos haces fopen("/pepe.txt") o fopen("pepe.txt") estando en el raiz o fopen \lala\pepe.txt, entonces eso es otra cosa, pero eso no es que este mal, esta mal como le estas pasando los parametros, lo que hace la funcion esta perfecto.

2) las aplicaciones que escriben seguramente lo estan haciendo desde el usuario linux dueño de ese filesystem... te recomiendo que te leas unos documentos basicos de administracion de permisos linux/unix, ahi seguramente veras mas claro cuales son las posibles causas de que no puedas escribir en ciertos dispositivos donde otros si pueden.

3) tomo nota, gracias
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 02, 2011, 06:04:59 pm
me pones un ejemplo del chmod para cambiar las propiedades de un fichero usando bennu ? gracias, karma

chmod +w archivo
chmod -w archivo
chmod +r archivo
chmod +x archivo

w - escritura
r - lectura
x - ejecucion

+ activa
- desactiva
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 02, 2011, 10:11:44 pm
Gracias, pero yo pedia la linea de llamada en bennu exactamente de ejemplo
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 03, 2011, 02:29:44 am
Gracias, pero yo pedia la linea de llamada en bennu exactamente de ejemplo

ah, si, perdon, que attributo queres cambiar realmente?

si te sirve, aca tenes varios ejemplos de cosas en bennugd, entre ellos uno para usar exec.

si eso no te sirve, decime exactamente que atributo queres modificar y te paso las lineas de codigo.

disculpame por la confusion.
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 03, 2011, 09:08:42 pm
Poner un fichero oculto por ejemplo, splinter lo del modo 7, creeme, hay mucha gente deseandolo, seria un avance muy importante que lleva tiempo en la lista de deseos
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 03, 2011, 11:29:12 pm
en linux no hay attributos para ficheros ocultos, los ficheros se ocultan anteponiendo al nombre un punto ".", pero este es parte del nombre y no del attributo, o sea, si quiero ocultar "pepe.txt", se debe llamar ".pepe.txt", pero ese archivo no lo voy a poder acceder como "pepe.txt" sino como ".pepe.txt".

retiro que deberias leerte algun tuto basico de operacion unix.

con respecto al modo7, te lo dije enserio, tome nota en mi lista de pendientes.
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 03, 2011, 11:36:03 pm
Ok y en windows como lo haria con bennu
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 04, 2011, 12:44:20 am
Ok y en windows como lo haria con bennu

no recuerdo bien los parametros, pero el comando es attrib.exe, creo que es attrib.exe +H archivo

si pones desde un cmd attrib.exe -? te tira el help.

juraria que habia puesto este link http://betatester.bennugd.org/snapshot/samples/ ahi tenes un ejemplo del exec.

el codigo seria algo asi

...
string args[1];
begin
...
args[0] = "+H";
args[1] = archivo;
exec(_P_WAIT, "attrib.exe", 2, &args);

por ahora es el unico metodo disponible.
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 04, 2011, 09:13:20 am
Gracias
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 04, 2011, 03:56:17 pm
de nada...
Título: Re: Ayuda con fopen
Publicado por: Drumpi en Junio 04, 2011, 11:23:58 pm
Splinter, cuando te vayas a poner con el modo7, avisa, porque tengo que buscar la lista que hice hace tiempo de algunas cosillas que quedaron sin arreglar (y no las comenté por no tener tiempo de hacer un ejemplo) :P
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 05, 2011, 02:47:45 am
comentalas y las anoto.
Título: Re: Ayuda con fopen
Publicado por: Drumpi en Junio 05, 2011, 12:06:53 pm
Okis, mientras busco, anótate lo que te comenté hace tiempo del Drajon Lol: devolución Extreme edition y su problema con las paletas en WIZ, y su versión anterior con los gráficos exteriores, que sólo se repiten los 16x16 primeros pixels (si es de 32x32 sólo se ve la mitad de la imagen repetida hasta el horizonte, intentaré hacerte una prueba cuando tenga un rato).

Y habría que mirar cómo solucionar lo de dibujar la línea del horizonte a distinta altura. Para según qué juegos, la mitad de la pantalla es una vista demasiado alta.
Supongo que, de nuevo, en el DrajonLol:DED, lo de que se reescalen las paredes pese a estar a la misma distancia al desplazarse lateralmente, se debe al ángulo del foco, como aquella vez con los tamaños ^^U
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 05, 2011, 04:08:56 pm
sinceremente no entendi el drajonlol, nunca pase de las habitaciones esas, que encima las paredes se agrandan y achican a medida que te moves, y eso no se si es algo intencional tuyo o algo del modo7.
Título: Re: Ayuda con fopen
Publicado por: Drumpi en Junio 05, 2011, 06:46:50 pm
El juego consiste en buscar la 7 bolas en el edificio, para eso tienes una flecha que te indica su ubicación, pero como no la podía poner en el plano horizontal, pues la puse en el vertical :D
Hay escaleras para cambiar de piso ubicadas en las esquinas del fondo, y pegadas a la cámara a medio camino de cualquiera de los laterales (una vez que has entrado, sigue la pared hasta que puedas avanzar hacia la cámara). No podía dibujar rampas hacia el fondo ^^U

Y lo de las paredes es lo que te comento: no es algo que yo haya querido hacer, es cosa del modo7, que calcula el tamaño respecto a la distancia a la cámara, en lugar de respecto a la distancia del plano de la cámara (tal como está, si la cámara se mueve paralelamente a la pared, cambia su distancia real, pero los planos verticales de la cámara y de la pared siempre se mantienen a la misma distancia Y, no sé si me explico).

No sé si esto debe ser así (que es más realista) o no (que es como debería funcionar el modo7), o si es cosa de lo dicho, el ángulo entre los focos. Para mi (opinión personal), lo cómodo sería que se trazase una línea perpendicular a la dirección donde mire la cámara, y que los objetos calculen su tamaño según su distancia con dicha línea, pero no sé cómo afecta eso a los objetos en cuanto empezamos a girar y movernos.
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 05, 2011, 10:07:00 pm
lo de la flechita lo entendi, pero por mas que seguia la flechita nunca llegue a nada.

definitivamente el modo7 no tiene que ser asi.
Título: Re: Ayuda con fopen
Publicado por: Drumpi en Junio 12, 2011, 12:02:00 am
Jajaja, es lo que tiene no haber dibujado las escaleras: hay tres plantas, por lo que es posible que estuvieras en la vertical correcta, pero no en la planta. Busca en los suelos un tile de lineas horizontales que se degraden de rojo a negro, encontrarás plantas (hay dos por piso, ya te he dicho más o menos donde encontrarlas) ;D

Leyendo la conversación sobre las aventuras gráficas y el escalado con el fondo, creo que ciertamente, no es respecto a la cámara, sino a la distancia con el horizonte.

Por cierto ¿hay planes de crear un par de funciones específicas para que, además del modo en que se hace ahora, se rendericen scrolls y modos7 en un mapa? aparte de eso, te tengo que hacer una preguntilla al caso sobre cómo funciona bennu internamente (creo que la idea puede sonar interesante a la par que absurda ;D).
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 12, 2011, 12:05:29 am
si, esas funciones las tengo que poner en pendientes... me hiciste acordar.

pregunta las dudas que tengas.
Título: Re: Ayuda con fopen
Publicado por: FreeYourMind en Junio 12, 2011, 12:29:14 am
Dale caña moral Drumpi que necesito el modo7 a 16bpp urgente xD
Título: Re: Ayuda con fopen
Publicado por: SplinterGU en Junio 12, 2011, 04:28:25 am
pero si el modo 7 no funciona bien actualmente no voy a pasarlo a 16 o 32, hasta tenerlo solucionado.