Diario de desarrollo

Started by josebita, October 26, 2015, 09:32:22 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Goku jr

Quote from: Drumpi on January 07, 2016, 02:07:49 AM
Bueno, el tema del "input" se puede hacer desde código Fenix/Bennu desde hace tiempo con muy poquito código. Lo vuelvo a poner como referencia:

loop
        letra=ascii;
        if (letra!=letra_ant)
            switch (letra)
                //case 0: end
                case 8:  //borrar
                    if (editor_nombre_mapa!="")
                        editor_nombre_mapa=substr(editor_nombre_mapa,0,-1);
                    end
                end
                //teclas que no deben hacer nada
                case 9:  //tabulador
                end
                case 13: //intro
                    break;
                end
                //por defecto debe escribir
                default:
                    editor_nombre_mapa=editor_nombre_mapa+chr(letra);
                end
            end
        end
        letra_ant=letra;
        frame;
    end


Sólo hay que añadir otras teclas especiales que se quieran añadir, pero con ASCII ya se tiene cubierto el cupo de todas las letras (mayúsculas, minúsculas y acentuadas), números y signos de puntuación disponibles en teclado y tabla ASCII. Como mucho hay que añadir al principio (fuera del loop):
while (ascii != 0) frame; end
para evitar que se añada la última tecla que se estaba pulsando antes de llegar al trozo de código.

Por cierto ¿Pixtudio será compatible con Wiz/Caanoo? En caso afirmativo, podría intentar el port a GP2X, ya que aun tengo el SDK que usaba con Bennu "funcionando" (tengo que compilar la última versión de Bennu estable aun ^^U).


Muchas gracias drumpi!
el problema esque no se como utilizarlo XD
una ayudita rapida :D:D


Saludos

Goku jr

Quote from: josebita on January 07, 2016, 12:03:17 PM
Mil gracias por las imágenes.
Te falta el GCC, lo cual no debería pasar... Lo reviso y te cuento.
Quote from: Goku jr on January 06, 2016, 11:29:22 AM
Buenas
aqui te adjunto lo que me sale Josebita.


Al descargar las dependencias..

Al intentar compilar

De nada josebita!


Me pone que esta instalado.
puede ser ue tenga que configurr el path del sistema?

josebita

#77
Algo he visto:
Debes abrir la consola de nombre "MinGW-w64 Win32 Shell" (es un poco confuso; ese es el entorno para compilar programas de 32 bits. Está en la web, pero lo voy a poner en negrita :) ). Fíjate que una instalación limpia te añade tres iconos al menú de inicio y tú tienes abierto el que pone "MSYS2 Shell":

Por lo demás, acabo de comprobar que las instrucciones de compilación funcionan en una máquina virtual con Windows 10 de las proporcionadas por Microsoft aquí.
No me aparece ningún problema con la mikmod, así que te recomendaría que pruebes a desinstalarla y volverla a instalar.

Goku jr

Compilado perfectamente!
Era eso,aunque me sigue dando el mismo problema lo de la mikmod.
me ha creador los dos ejecutables  en la carpeta Qtcreator,aunqe obviamente faltan las dll.


Mil gracias!

josebita

Quote from: Goku jr on January 07, 2016, 02:30:10 PM
Compilado perfectamente!
Era eso,aunque me sigue dando el mismo problema lo de la mikmod.
me ha creador los dos ejecutables  en la carpeta Qtcreator,aunqe obviamente faltan las dll.


Mil gracias!
Si la instalación de MSYS2 es limpia, prueba a borrarla y volver a instalar. Puede ser que te haya pasado algo raro con la cache del gestor de paquetes o algo así. No te creas que soy un gran expero en el gestor de paquetes éste.

Sobre las DLLs: siempre y cuando ejecutes pixtudio desde mingw no vas a tener problema. Si lo ejecutas desde fuera, tendrás que copiar las DLLs necesarias desde la instalación de mingw a la carpeta donde los quieras. Es un poco engorro, pero sólo hay que hacerlo una vez...

josebita

#80
He subido instrucciones de compilación para Ubuntu 15.10 a la web y he puesto en negrita que se debe usar el entorno de compilación de 32 bits en windows.

[Edito] También he subido instrucciones para Fedora 23

Drumpi

Quote from: Goku jr on January 07, 2016, 01:04:29 PM
Quote from: Drumpi on January 07, 2016, 02:07:49 AM
Bueno, el tema del "input" se puede hacer desde código Fenix/Bennu desde hace tiempo con muy poquito código. Lo vuelvo a poner como referencia:

loop
        letra=ascii;
        if (letra!=letra_ant)
            switch (letra)
                //case 0: end
                case 8:  //borrar
                    if (editor_nombre_mapa!="")
                        editor_nombre_mapa=substr(editor_nombre_mapa,0,-1);
                    end
                end
                //teclas que no deben hacer nada
                case 9:  //tabulador
                end
                case 13: //intro
                    break;
                end
                //por defecto debe escribir
                default:
                    editor_nombre_mapa=editor_nombre_mapa+chr(letra);
                end
            end
        end
        letra_ant=letra;
        frame;
    end


Sólo hay que añadir otras teclas especiales que se quieran añadir, pero con ASCII ya se tiene cubierto el cupo de todas las letras (mayúsculas, minúsculas y acentuadas), números y signos de puntuación disponibles en teclado y tabla ASCII. Como mucho hay que añadir al principio (fuera del loop):
while (ascii != 0) frame; end
para evitar que se añada la última tecla que se estaba pulsando antes de llegar al trozo de código.

Por cierto ¿Pixtudio será compatible con Wiz/Caanoo? En caso afirmativo, podría intentar el port a GP2X, ya que aun tengo el SDK que usaba con Bennu "funcionando" (tengo que compilar la última versión de Bennu estable aun ^^U).


Muchas gracias drumpi!
el problema esque no se como utilizarlo XD
una ayudita rapida :D :D


Saludos

Es fácil: este es el bucle principal de la caja de texto.
Una vez que se seleccione la caja de texto y esté activa, su proceso entra en este bucle, que lo que hace es leer una pulsación del teclado y convertir su valor al ASCII correspondiente (ojo, si se pulsa a, puede valer "a" o "A", dependiendo de si tienes pulsada la tecla mayúsculas, o incluso "á" o "Á" si antes habías pulsado la tilde; el comando "ascii" es la caña), y lo añade a una string (que yo he llamado "editor_nombre_mapa" en el ejemplo) (vease el default del switch).

El switch sirve para trabajar con carateres especiales (ASCII del 0 al 31), como en este caso, el 8 es el carácter ASCII especial para borrar, que elimina un caracter de la string (función SUBSTR).
O el 13, que es el retorno de carro, y lo que hace es salir del bucle (se supone que ya has terminado de escribir).
También está comentado el 9, que es el tabulador, que puedes añadir 4 espacios, 20 espacios, o salir del bucle y seleccionar otro elemento de GUI, ya lo que tu escribas en el case.

La parte difícil del código es lo de letra_ant, que existe para evitar la repetición de una letra por mantener el botón pulsado durante más de un frame.

Aparte de eso, es un código sencillo, y que debería formar parte de las rutinas básicas de código DIV, junto a la de detectar cuándo se ha pulsado un botón o el código del matamarcianos :D :D :D
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)

josebita

Por teneros al día: últimamente estoy haciendo labores de limpieza del código, de forma que ahora mismo probablemente no compilará en ningún sitio que no sea mi ordenador :D
Por detallar algunas cosas:

       
  • He eliminado muchos warnings de compilación (por diferencias de prototipo en gr_new_object, sobre todo, pero también en más sitios).
  • He movido el código de red de la fsock a una librería independiente, de forma que fsock (que ahora se llama mod_fsock y forma parte de la distribución estándar de PixTudio) ahora no es más que un binding con esa librería. Esto es interesante porque, como ya comenté, quiero que la mod_debug se utilice por red en lugar de desde la propia ventana del juego y quiero que use las mismas rutinas de red que la mod_fsock.
  • La variable SCALE_QUALITY que dice si se usa filtro lineal o no ahora se puede leer desde el entorno y no sólo desde el código.
  • He corregido un bug que hacía que no se tuviera en cuenta el valor de scale_resolution.
  • He reformateado todo el código (con clang-format) para que el estilo sea coherente. A Splinter le gusta un estilo distinto del que me gusta a mí y eso hacía que las partes del código que se han heredado de Bennu tuvieran un estilo y las nuevas otro, lo cual es horrible. Ahora todo el estilo de código es coherente.
  • He iniciado un pequeño experimento: voy a tratar de cambiar el sistema de compilado a CMake. Por ahora he subido un proyecto para pxtb y parece funcionar bien en Linux. La idea es cambiar a CMake completamente porque la verdad es que lo que tengo ahora mismo no me gusta nada.

JaViS

Quote from: josebita on January 11, 2016, 04:41:51 PM
Por teneros al día: últimamente estoy haciendo labores de limpieza del código, de forma que ahora mismo probablemente no compilará en ningún sitio que no sea mi ordenador :D
Por detallar algunas cosas:

       
  • He eliminado muchos warnings de compilación (por diferencias de prototipo en gr_new_object, sobre todo, pero también en más sitios).
  • He movido el código de red de la fsock a una librería independiente, de forma que fsock (que ahora se llama mod_fsock y forma parte de la distribución estándar de PixTudio) ahora no es más que un binding con esa librería. Esto es interesante porque, como ya comenté, quiero que la mod_debug se utilice por red en lugar de desde la propia ventana del juego y quiero que use las mismas rutinas de red que la mod_fsock.
  • La variable SCALE_QUALITY que dice si se usa filtro lineal o no ahora se puede leer desde el entorno y no sólo desde el código.
  • He corregido un bug que hacía que no se tuviera en cuenta el valor de scale_resolution.
  • He reformateado todo el código (con clang-format) para que el estilo sea coherente. A Splinter le gusta un estilo distinto del que me gusta a mí y eso hacía que las partes del código que se han heredado de Bennu tuvieran un estilo y las nuevas otro, lo cual es horrible. Ahora todo el estilo de código es coherente.
  • He iniciado un pequeño experimento: voy a tratar de cambiar el sistema de compilado a CMake. Por ahora he subido un proyecto para pxtb y parece funcionar bien en Linux. La idea es cambiar a CMake completamente porque la verdad es que lo que tengo ahora mismo no me gusta nada.
Necesitamos una wiki para las nuevas variables

Enviado desde mi Nexus 6 mediante Tapatalk

Working on Anarkade. A couch multiplayer 2D shooter.

josebita

Quote from: JaViS on January 12, 2016, 09:36:14 PM
Necesitamos una wiki para las nuevas variables
Sí.
De hecho, una cosa que he hecho es subir la documentación de Bennu (en el nuevo formato que hizo Pixel) al Git:
https://bitbucket.org/josebagar/pixtudio/src/05949d2ce683dda99032e2c4a611e129a79091da/docs/web/docs/?at=bigmap
El tema es que la documentación sigue siendo de Bennu (no refleja los cambios que he ido haciendo) y que ahora mismo no es usable.

Está todo un poco a medias ahora mismo...

Goku jr

Buenas!
Tengo un problema con la version android :


He empaquetado mi juego ,con el compilador de pixel,y lo he pasado a una tablet Samsung
y me salta un error de SDL y OpenAL



Saludos

Goku jr

Buenas
Decir que la version creada con la plantilla,para Bennu,funciona sin problemas
No se a que se debe.


Saludos!

josebita

Quote from: Goku jr on January 13, 2016, 11:50:51 AM
Buenas
Decir que la version creada con la plantilla,para Bennu,funciona sin problemas
No se a que se debe.

Saludos!
Te parecerá una tontería. pero me alegro de que te aparezca ese mensaje de error. Hasta ahora el programa habría cascado, sin más. Ahora por lo menos sabemos por qué es :)
Abre, por favor, el fichero bin/pixtudio-android/src/org/libsdl/app/SDLActivity.java y, en la línea 75 añade "openal", de forma que el método quede así:
    protected String[] getLibraries() {
        return new String[] {
            "mikmod",
            "SDL2",
            "SDL2_mixer",
            "theora",
            "openal",
            "bgdrtm",
            "main"
        };
    }
Eso debería ayudar.

Goku jr

Quote from: josebita on January 13, 2016, 12:48:10 PM
Quote from: Goku jr on January 13, 2016, 11:50:51 AM
Buenas
Decir que la version creada con la plantilla,para Bennu,funciona sin problemas
No se a que se debe.

Saludos!
Te parecerá una tontería. pero me alegro de que te aparezca ese mensaje de error. Hasta ahora el programa habría cascado, sin más. Ahora por lo menos sabemos por qué es :)
Abre, por favor, el fichero bin/pixtudio-android/src/org/libsdl/app/SDLActivity.java y, en la línea 75 añade "openal", de forma que el método quede así:
    protected String[] getLibraries() {
        return new String[] {
            "mikmod",
            "SDL2",
            "SDL2_mixer",
            "theora",
            "openal",
            "bgdrtm",
            "main"
        };
    }
Eso debería ayudar.


Buenas
Ahora me voi para el curro,intentare probarlo esta noche :D
un saludo y gracias

josebita

#89
Quote from: JaViS on January 12, 2016, 09:36:14 PM
Necesitamos una wiki para las nuevas variables
Bueno, hay un pequeño embrión aquí:
https://pixtudio.org/docs/

Como digo, está todo muy a medias aún.

[Edito] Lo que sí habrá será una sección de diferencias con BennuGD