Tengo problemas de funciones no reconocidas

Started by FreeYourMind, July 30, 2009, 06:54:59 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FreeYourMind

Hola.
Estoy empezando a portar un juego a Bennu que tengo en Fenix (Fenix para Wiz).

He creado el 'bgdc.import', he empezado poniendo la dll 'mod_text', porque era lo primero que el compilador me decia no reconocer (trabajo en Windows vista).

El problema es que ahora me dice que no encuentra la 'SDL.dll'. Tampoco se que revisión descompacte, es una que te pone todas las dll's en la misma carpeta del compilador (me he fijado que la bgd-1.0.0RC7(r99)-win32.rar ya te lo pone todo por carpetas).

Me fijo que la otra version tiene en la carpeta 'externals' esa dll, pero estoy casi seguro que la que descompacte no la tenia.

Por cierto si me decis para utilizar la otra version, necesito poner las dll's en la misma carpeta del compilador o ya no es necesario ?

Gracias de antemano.

splinter_work

usa el instalador y resetea la pc luego de terminar...

el rar es solo para maniaticos como Sandman.

FreeYourMind

Quote from: splinter_work on July 30, 2009, 08:03:17 PM
usa el instalador y resetea la pc luego de terminar...

el rar es solo para maniaticos como Sandman.

Resetea la pc ? No entiendo perdona.

No quiero usar el instalador, prefiero descompactarlo manualmente (la unica vez que probe el instalador se quedo la pantalla del cmd en negro y no pasaba de ello).

La ultima que encuentro en rar (aparte de un supuesto fix: Fix-bgd-1.0RC7(r100)-win32.zip) es esta: bgd-1.0.0RC7(r99)-win32.rar
Utilizo esta o que ?
La verdad es que, de entre las versiones que hay para descarga y las que han pasado ya por todo el forum, uno se pierde, ya que las ayudas son siempre sobre versiones y ocasiones antiguas.

Gracias de antemano.

osk

Si usas el rar, tendrás que poner TODAS las rutas en el path (es decir, si lo descomprimes por ejemplo todo en c:\bennugd, poner en el path c:\bennugd\modules, c:\bennugd\libs, c:\bennugd\externals y c:\bennugd\bin).

FreeYourMind

Quote from: osk on July 30, 2009, 09:07:19 PM
Si usas el rar, tendrás que poner TODAS las rutas en el path (es decir, si lo descomprimes por ejemplo todo en c:\bennugd, poner en el path c:\bennugd\modules, c:\bennugd\libs, c:\bennugd\externals y c:\bennugd\bin).

Vale muchas gracias, yo he decidido poner todas las dll's en la misma carpeta del compilador. Ahora solo me queda una duda, no hay ninguna lista que ponga el nombre de la dll y las respectivas funciones que esa dll contiene (o es responsable) ? Es que al compilar no se que dll's importar para cada funcion desconocida que me pueda surgir.

En el punto actual de la compilación, me pone los siguientes errores:

1 - Warning: variable redeclared ("ALPHA_STEPS"); (Aqui me dice que ya esta declarada 2 o mas vezes, me imagino que es interno al compilador.)
2 - Error: Unknown identifier ("S_KILL"); (Aqui no conozco la respectiva dll que tengo que importar.)

Saludos.

SplinterGU

los warnings no les des importancia...
la lista, tenes un script (.bat) para generarla... http://forum.bennugd.org/index.php?topic=129.0
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FreeYourMind

#6
Quote from: SplinterGU on July 31, 2009, 01:34:32 AM
los warnings no les des importancia...
la lista, tenes un script (.bat) para generarla... http://forum.bennugd.org/index.php?topic=129.0

Gracias SplinterGU.

Me acabo de enterar que no tiene total compatibilidad con Fenix.
Al importar el modulo para uso del Joystic 'mod_joy' me seguia dando error 'unnknown identifier ('JOY')', me entero que el joystic no se asigna de la misma forma,
o sea, tengo que cambiar por ejemplo 'joy.down' (Fenix) por 'joy_hat_down' (Bennu).

Tengo razón o hay algo que se me escapa ?

Edito: Me entero por el ejemplo del pac-man como se asignan los botones, en el caso anterior seria (joy_getbutton(0, WIZ_DOWN)).

Para que sirve entonces el 'joy_hat' ?

Saludos.

darío

Este es el ejemplo con el que aprendí yo a manejar los joysticks:

http://wiki.bennugd.org/index.php?title=Tutorial:Joystick_tester

Está en el wiki de Bennu. Espero que te sirva.
My sites:
Smart Fpg Editor - Painless FPG Edition for Bennu and PixTudio
fenixlib - .NET support for manipulating PixTudio, Bennu and Div graphic formats

FreeYourMind

Gracias por el ejemplo del Joystic, pero ya los habia mapeado (mirando el ejemplo del pac-man).

Por fin he podido compilar.

Bueno lo mas importante es que por fin puedo sacar el juego en Wiz ya que la diferencia de rendimiento es brutal (en los procesos),
tenia la conversión para la Gp2x aparcada hace 2 años esperando un Fenix con mejor rendimiento o la salida de la Wiz.

Probe esa compilación de Fenix en la Wiz, y la velocidad ya casi me convencia, pero aún no era el esperado.
Por fin con Bennu, es un sueño echo realidad, va a la perfección en rendimiento (como la versión PC).

Ahora me salen mas cosillas, pero en esto con tiempo creo que lo adaptaré todo, os la pongo por puntos a ver si alguien me puede ayudar.

Problemas que he tenido (comparada con la compilación que tenia en Fenix y la cual no tenia estos problemas):

1 - Al ejecutarlo en el ordenador, los mandos (botones) funcionan solos ! Me entra en el juego, me desloca el jugador hasta que toca en la pared y ya no puede pasar, y los botones no me funcionan! (tengo los botones mapeados para poder jugarlo en la portatil y en el pc con condiciones OR). La unica forma de salir del juego es matando el processo Bennu, ya que la 'X' de la esquina para cerrar la pantalla tampoco funciona en Bennu.
En la Wiz me funcionan los botones aunque no todos los movimientos funcionan bien, y el jugador pasa por las margenes de las paredes X, Y (limites de movimiento).

2- Algunos bloques de código donde pongo 'frame;' parece que no funcionan, al cambiar entre pantallas, o al poner el texto 'loading' que tiene frame; no me sale, etc.

3- Tambien me han fallado algunas musicas, que no tocan (si lo hacian en Fenix).

4- Otra duda, con que editor editais el 'Juego.gpe' ? Yo utilizo el Notepad++ en windows vista, edite el que venia con el pac-man y lo deje de esta forma:

"#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime"


borrando lo que tenia despues, pero no arrancaba en la wiz, al fin lo puse tal cual el de pac-man, pero no puse el prg del juego en la carpeta y tampoco arrancaba, al final poniendo el .prg ya arrancaba.

Pero para que tiene esto:

"for prg in *.prg; do
    name=`basename $prg .prg`
    bgdc $prg
    bgdi $name
done"

es necesario poner el .rpg :) o que ? Como seria este fichero lo mas simplificado posible ?


Gracias de antemano, por fin voy a sacar mis juegos en Wiz :)




splinter_work

Ese funcionamiento de Fenix es antiquisimo... creo que desde la 0.84 o 0.85 que no existe mas...
la pregunta con respecto al hat deberia responderla la gente de SDL...

Bennu es totalmente compatible con Fenix... lo que se hizo en la version uFenix de los mapeos de los botones no es un wrapper de lo que hace la SDL... bennu/fenix original, hacen un wrapper del joystick de la SDL.

1) seguramente no estas controlando la condicion de error al llamar a las funciones de joys... y el -1 del retorno ante error esta dandote problemas... para que la "X" funcione, tenes que meter el modulo mod_wm (manejador de ventanas) y despues de eso, en tu codigo controlar la variable "exit_status"

2) si no tenes frame dentro de cualquier bucle, no solo no cerrara, sino que se congelara todo. Donde y como pones el texto loading? pon ejemplos compilables en codigo.

3) puede que te falta alguna lib externa... si la SDL lo soporta se reproduce.

4) en el script tenes que poner el "echo ... > /..."
claro, si no esta el prg con el for no va a funcionar... tenes que eliminar el bloque del for y solo poner bgdi "nombre del programa"

de nada...

PD: Alguien con permisos podria dividir este tema, ponerle un nombre adecuado y moverlo a helpdesk? yo aca no tengo permisos para hacerlo... gracias...

FreeYourMind

Despues de más intentos aqui pongo mas detalhes a los 4 puntos teniendo en cuenta tu respuesta:


1) Me puedes poner un ejemplo del control que dices ? La verdad solo cambie los joy.up y demas por su equivalente en Bennu (joy_getbutton(0, WIZ_UP)).

2) El texto lo pongo antes de cargar los recursos, para que lo enseñe mientras esta la pantalla negra cuando esta cargando los recursos, en fenix iba de maravilla, con Bennu al probarlo en el pc tambien funciona poniendo un Frame(200); pero en la Wiz no sale el texto:

set_mode(320,240);
write(0,160,120,4,"Loading ...");
//FRAME; // Gp 2x fenix port
FRAME(200); // Bennu

som_logo=load_wav(...)

... (todos los load's)


delete_text(all_text); // Gp 32 (borrar texto "Loading").
logo();
END

3) Esto es curioso y es el tema me mas me moskea, ya que en Fenix para Gp2x tenia problemas similares. Todas las musicas funcionan
al ejecutarlo en pc (con lo bennu o fenix), pero en la wiz algunas no tocan. Lo curioso es que con el port de Fenix ocurria lo mismo, pero no eran las mismas musicas que fallaban (por ejemplo, con bennu me falla la musica de la fase 1 y con fenix me falla la de la fase 2).

4) Heheheh , voy a ver si lo pongo bien, por curiosidad estaba tirando del prg viejo y yo actualizando el compilado .dcb ;)


Muchas gracias.

splinter_work

1) ejemplo...

... != -1 && ( ...   

:P

2) Creo que el delete_text es el tema

3) bennu y fenix usan SDL para el sonido, ahi debe estar el problema

Drumpi

No será que estás usando OGG? desde las últimas versiones de Fenix había que incluir la ogg.dll, la vorbis.dll y otra más que venían en la 0.90, no se si en bennu seguirá el mismo problema.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

FreeYourMind

Aqui sigo ultimando la adaptación:

1 - Ya me funciona la musica, utilizo ogg's y mod's (aunque el maldito vista insiste con los mod's, me salen fallos de rundll o del Explorador con solo mirar la carpeta o selecionar mod's con el mouse, lo que me dificulta trabajar con la musica).
Sólo necesito importar 'mod_sound'.

Sobre esto la memoria de la Wiz es la misma que Gp2x ? Tampoco puedo cargar todo el audio de golpe (1,81 megas casi todo ogg's y 4,5 mod's), se sale al menu, ahora solo me queda intentarlo musica a musica hasta llegar al limite :).

2 - Sobre el volumen, pues intentare utilizar los botones del volumen por codigo.

3 - El texto de loading sigue sin salir en la Wiz (en el PC sale y con el Fenix port tambien), no es problema del delete_text, ya que si no lo borro, me sale pero despues cuando ya entra en logo (despues de la carga).

Muchas gracias por el ejemplo de joystic, creo que lo he entendido, he puesto por ejemplo:

IF (joy_getbutton(0, WIZ_L_BUTTON) AND joy_getbutton(0, WIZ_R_BUTTON) AND
    joy_getbutton(0, WIZ_L_BUTTON)!= -1 AND joy_getbutton(0, WIZ_R_BUTTON)!= -1) exit ...
y ya me funciona bien tanto en la consola como en el PC.

SplinterGU

ponme un ejemplo o pasame el codigo para ver lo del loading...
si, pero deberias cargarlo en una variable... para no llamar 2 veces a la joy_getbutton sobre el mismo boton...

Download Lastest BennuGD Release: http://www.bennugd.org/node/2