Editor por y para BennuGd

Started by DjSonyk, November 25, 2009, 05:22:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

DjSonyk

Quote from: Drumpi on December 01, 2009, 11:47:02 PM

Supongo que hablo más que los demás porque ya tengo experiencia en estas lides, mi editor me llevó más de dos meses de programación, aun con el motor de tiles ya hecho, y se me quedaron muchas cosas en el tintero: animaciones, seleccionar los mapas que queremos ver, pegar bloques de tiles, dibujo en varias capas... incluso tenía algo similar a lo que tu has hecho: definir capas especiales (yo había pensado en una capa de números, que mostrase eso, números, no gráficos, para que el diseñador los interpretase como quisiese (enemigo, item...)). Tengo pensado retomarlo (de hecho, antes de ponerme con el motor de tiles ya estuve con las funciones de manejo del fichero de configuración), pero tengo otras prioridades.
Si eso tambien lo iva a poner en el tutorial en vez de poner graficos meter numero o letras que identifiquen durezas o puertas secretas,o lo que se le ocurra al usuario.En cuando a lo otro borrar me borra bien,y exactamente uso Map_clear,el problema es cuando quieres borrar y que quede transparente no encontrado nada aun,sigo investigando porque ahora borrar borra,pero dejandolo a negro auntentico...

Drumpi

¿Map_clear con color 0 te lo deja negro opaco? algo falla ahi. No uses rgb(0,0,0), a ver si es que se le va la pinza (a veces Fenix me lo ponía como tu, con color 1 en lugar de 0).
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)

DjSonyk

No con 0 ,no borrar algo que este pintado ^^...

Osea que si te equivocas y pintas y luego quieres borrarlo con trasparente,simpremente pintas transparente encima de lo pintado, el tema es que te borre el grafico que tienes pintado y te lo deje transparente...

Drumpi

Ah, hablas de deshacer, de quitar lo que has pintado y volver a lo que había antes...
Eso no se puede hacer.
O sea, que si haces map_block_copy, no puedes hacer un map_block_delete o map_block_undo, necesitarías guardar aparte ese trozo de mapa antes del cambio y usarlo con put para "deshacer" el paso dado.

También podrías usar máscaras XOR o XNOR pero eso ya es más complicado de explicar.
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)

DjSonyk

Hummm te me adelantas ^^,lo de hacer y deshacer y visto que es importantisimo,tambien habia pensado en tener un mapa-buffer para hacer y deshacer,ahora que entiendo como se declara en Bennu los punteros,siempre a sido mi talon de aquiles,ya tengo pensado,aun asi lo de XOR o XNOR me habre otras posibilidades para conseguirlo,huviera estado bien un map_block_move,pues antes de pintar,seria mover esa porcion al mapa-buffer y si deshicieras cojer el ultimo trozo movido en fins que esto no nos detenga ^^,por cierto de devo un karma que no me dejan darte ^^...

Drumpi

Resérvalo para otra ocasión, que luego Splinter se pone celoso ;D
Cuando no tengo sueño ni ganas de programar, me pongo a mirar el foro, a ver si me entra sueño, pero me pongo a escribir, y a escribir, y a escribir...
Me voy a ver One Piece.
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)

DjSonyk

Bueno como no quiero abrir muchos hilos lo comento aqui...esto no ...humm no lo hago bien ... ^^

CapasGraficos[PosiFich]=Load_Fpg(NomFich[PosiFich]);   // Cargo el fichero con el nombre que me a introducido el usuario
IF (CapasGraficos[PosiFich]>=0)  // tambien he probado con  (CapasGraficos[PosiFich]==-1)  // Compruebo que se halla cargado
   ++Conta;
ELSE
   Aviso(1);   // Si no se a cargado aviso
   NomFich[PosiFich]=Guarda;   
END
el caso que si intentas cargar un fichero que no existe no te genera error,lo que me extraña que si quiero cargar un PNG y no existe me da el error,pero con los FPGs no que hago mal,porque la verdad no lo entiendo...

Drumpi

Comprueba qué valor devuelve load_fpg, no vaya a ser que no te esté dando error (usa say o write).
Tambien puedes usar file_exists para comprobar si existe el FPG, pero de todas formas, a ver si hay algún error con la función load_fpg.
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)

Drumpi

Se nota que me aburro mucho ¿verdad? (culpa de no poder seguir programando ;D).
Yo descubrí un error similar con FEOF (una función que indica que hemos llegado al final de la lectura de un fichero): la ayuda decía que valía cero si no había llegado (correcto) y uno si sí, pero no devolvía 16, que en C si era equivalente a TRUE, pero no en Fenix, que al ser par, valía FALSE.
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)

DjSonyk

#39
Os dejo una version mejorada,le faltan mas que nada Opciones,vamos que se pueden crear niveles "Pintados" y se pueden guardar datos ,objetos,enemigos y demas.Para empezar deves meter vuestros FPG en la carpeta del editor,dentro de el selecionais 2 FPG(obligatorios o rompe,aunque puede ser el mismo) ^^,elejis el tamaño y ya podeis empezar...
1 - Las 3 primeras capas son de pintura,eso quiere decir que lo que pongais ahi se guardara en PNG.
2 - La capa 4 ,la llamo libre,usa una estructura de X,Y y Graph = STRUCT Proce[?] X,Y,Grafico,puede guardar segun esta 500 procesos y la forma de guardarlos es en la X e Y real que le pongais y el codigo del grafico que usais (Graph).Se puede modificar para mas o menos,pero es manualmente hay que ir a el PRG "datos" y cambiar el valor de la estructura y la constante correspondiente ,esta comentado...
3 - La capa 5 guarda en forma de tiles,osea Fila*Columna=Grafico,la estructura es Struct FilaY[?] FilaX[?];esta en 250*250 y con un ancho/alto de 32,lo que equivaldria a tener un nivel de 8000x8000 pixels,se puede cambiar igual que la anterior osea tocando los valores de la estructura y las contantes,sin embargo el tamaño del tile es mejor que lo hagais dentro del editor en la pestaña capas,(que ademas es la unica que tiene activada las flechas).
4 - Tenies una pestaña de ayuda que muestra el atajo del teclado,mientras voy haciendo un manual..tengo pensado meter muchas cosas,entre ellas un generador de laberintos y que ademas de las sombras en la direccion que queramos,pero que todo lo que necesiteis,se os ocurra y si hay cosas que mejorarias seran bienvenidas.

una cosa mas es estable pero OJO cuando cambies de grafico no sea el ultimo de FPG porque casca el editor...
espero que os valga...
EDIT 30/11/2010: Link viejo quitado.

blostec

Bajando y probando, gracias por tu esfuerzo DjSonyk! karma up

Windgate

Veamos, es al primera vez que descargo y pruebo el programa, lo he descargado, he abierto editor.prg con el Notepad++ del Bennupack 1.7, he pulsado F6 y ha compilado a la primera, pero he tenido error de ejecución en el primer FRAME...

Tengo la rc110 de Bennu, ¿Qué puede ser, kagondio?
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

DjSonyk

Hummm,pues no se,yo tengo el pack 1.7 sin actualizar al rc110,pero me imagino que eso es igual ya que lo compilas directamente del FPG....

1 - ¿Has introducido en el menu los 2 FPGs?aunque sea el mismo.
2- Si es asi,asegurate que el FPG este bien,y que tengan el primer grafico,o que este bien el grafico,seguramente sea eso.
3 - Si no has llegado no siquiera al menu de nuevo,abrá que espera a alguien que lo pruebe a ver si falta algo o que pasa porque ami me va bien,ya lo siento wind...

DjSonyk

Aqui os dejo el manual,vereis que tiene cosas que aun no se pueden hacer,las he puesto ya para no estar cada 2*3 retocando el manual,aun asi tambien faltan de poner muchas cosas,que se me han pasado o que aun no he pensado ^^.
Tambien os quiero hacer consultas,como ...
¿Que os pareceria que en el editor ademas de poner un "Enemigo" en el nivel,se pudiera ya poner por ejemplo la vida del mismo.?
¿Estaria bien que tuviera un modo en el que pudierais marcar la posicion inicial y final de un enemigo,(plataformas y estrategia)?
¿Y que se pudiera asignar rutas desde el editor,(Estrategia)?
¿Que colores quedarian bien o mejor dicho que colores les daria la sensacion de estar trabajando con Bennu?
(Alguien me deve una :P ....)

Sigo pidiendo consejos,ideas,y demas,(criticas tambien :P).

Bueno espero que os sirva y lo saqueis provecho,se ira mejorando poco a poco.

Windgate

Las DLL del Bennupack 1.7 no se llevan nada bien con las de la r110, supongo que ese será el problema, si alguien más lo confirma sería ideal que lo dejaras funcionando para la r110 que es "el futuro" xD

Realmente no sé qué puede causar el error de ejecución, se produce nada más iniciar el programa, tampoco sé qué habría que cambiar para adaptarlo a la r110, si es que ese es el problema :P
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es