Compilar SevenuP en Windows

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Compilar SevenuP en Windows

Notapor Nat el Lun Abr 15, 2019 7:52 pm

Buenas,

Estoy peleándome con SevenuP y tengo pensadas algunas nuevas funcionalidades para añadirle, como poder cambiar el color de las líneas de la rejilla de caracteres que según el gráfico y el día me cuesta diferenciar, y también poder importar archivos binarios como gráficos extraídos de un antiguo programa.

El problema es que no encuentro la forma de compilarlo. Tengo instalada la última versión actualizada de MinGW, la última de wxWidgets (3.1.2), ambas funcionando y compilan sin problemas los ejemplos (carpeta samples) de wxWidgets. Pero cuando toca compilar SevenuP solo da errores.

En primer lugar en TheFrame.cpp hay dos que he apañado como podido, uno en la declaración del constructor y otro en un typecasting para "const wxChar *", errores que veo que también son conocidos por otros usuarios. Pero a partir de ahí, no ha habido suerte entre warnings y errores dan para unas 400 líneas de texto y la mayoría son, aparentemente, que no conoce funciones de wxWidgets.

Cualquier ayuda será bienvenida porque estoy atrancado ahí aunque de momento me apaño usando una pequeña utilidad para convertir los gráficos a formato SEV.
Saludos,
Nat
Avatar de Usuario
Nat
Herbert
 
Mensajes: 86
Registrado: Lun Mar 25, 2019 10:31 am

Re: Compilar SevenuP en Windows

Notapor Metalbrain el Mar Abr 16, 2019 6:41 pm

Hola,

Me temo que la culpa puede ser tanto de gcc (que cada vez es más exigente con los estándares, que además han ido evolucionando con el tiempo) como de la versión de wxWidgets. Con cada nueva versión estable de wxWidgets hay algunos cambios que pueden romper la compatibilidad, y por lo que he visto, de la 2.6 a la 2.8 no parece que tenga nada peligroso y es posible que la 2.8 sea por lo tanto compatible, pero para 3.0 han cambiado cosas relacionadas con el Unicode que pueden haber afectado de lleno.

Voy a instalar las últimas versiones de MinGW y wxWidgets a ver si consigo algo.
SevenuP se escribe con u minúscula y P mayúscula.
Avatar de Usuario
Metalbrain
Freddy Hardest
 
Mensajes: 588
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla

Re: Compilar SevenuP en Windows

Notapor Metalbrain el Mie Abr 17, 2019 11:16 am

Hola de nuevo, natohara

Anoche conseguí compilar el código con algunos cambios mínimos, pero era demasiado tarde para ponerme a documentar.

Para empezar no pude compilar wxWidgets (ni la 3.0.4 ni la 3.1.2) con la última versión que me bajé del MinGW, debido a este problema:
http://trac.wxwidgets.org/ticket/18349

Así que me bajé una versión más antigua ( esta https://sourceforge.net/projects/mingw/ ), que usa una versión 6 del gcc, y por fin pude compilar la librería y su ejemplo minimal (la 3.0.4).

Luego me puse a intentar compilar la versión 1.21 WIP usando el makefile de la 2.6.2 (makefile.gcc), y obtuve algunos errores. El principal era que no encontraba la librería, porque ahora no la tengo en D:\COMUN\WX , así que hay que modificar y poner la ruta de wxWidgets en la línea 32 del makefile.gcc

El siguiente error fue la falta de un archivo setup.h en la carpeta /include/wx de la librería. Copié el setup.h que había en /include/wx/msw y por fin empezó a compilar.

Luego corregí un par de errores de compilación debidos a cambios que hubo en la librería en la versión 2.8:
wxSAVE pasa a ser wxFD_SAVE
wxOVERWRITE_PROMPT pasa a ser wxFD_OVERWRITE_PROMPT

(en lugar de cambiar esto, creo que también debería compilar activando la compatibilidad con la versión 2.6, en setup.h con #define WXWIN_COMPATIBILITY_2_6 1)

Y por último para que no falle en el enlazado, hay que cambiar la versión de las librerías en la línea de LDFLAGS del makefile.gcc, pasando por ejemplo de "-lwxmsw26_adv" a "-lwxmsw30u_adv" (y el resto de msw26 hay que cambiarlos también, y creo que también añadir algún u extra , por ejemplo lwxregex -> lwxregexu ), y aparte añadir -lwinspool

Estoy escribiendo esto de memoria, esta tarde en casa miro a ver si no me he dejado algo, y haré más pruebas, como por ejemplo usar la versión 3.1.2 en lugar de la 3.0.4
SevenuP se escribe con u minúscula y P mayúscula.
Avatar de Usuario
Metalbrain
Freddy Hardest
 
Mensajes: 588
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla

Re: Compilar SevenuP en Windows

Notapor falvarez el Jue Abr 18, 2019 6:27 pm

Buenas.

Ya que estáis arremangados, ¿sería mucho pedir compilar (o explicar cómo hacerlo) una versión para macOS Intel?

Muchas gracias por adelantado.
Avatar de Usuario
falvarez
Sabreman
 
Mensajes: 363
Registrado: Mar Abr 17, 2007 12:28 am
Ubicación: Madrid

Re: Compilar SevenuP en Windows

Notapor Nat el Sab Abr 20, 2019 1:54 am

Hola,

Esto es muy interesante, espero a que puedas probar con la 3.1.2 a ver si hay suerte. Gracias
Saludos,
Nat
Avatar de Usuario
Nat
Herbert
 
Mensajes: 86
Registrado: Lun Mar 25, 2019 10:31 am

Re: Compilar SevenuP en Windows

Notapor ochobitero el Lun Abr 22, 2019 7:10 pm

¿Eres tú el autor entonces Metalbrain?.

Si continúas con el desarrollo hay un par de funciones que me parecen imprescindibles que tuviera (o al menos no las he visto) y que no costarían mucho, una el poder cambiar el tamaño del sprite y otra una vista previa en miniatura.

También sería interesante que exportase en formato Sprite Pack para z88dk, pero esto ya sería más lioso supongo.

Dices en la página que no tenías las ganas necesarias para continúar hace ya unos años. ¿y qué tal si lo actualizas para Spectrun Next?, parece que hay un nuevo resurgir spectruniano y tal vez sería una motivación. Yo creo que es lo que a mí me hizo plantearme que tal vez valiera la pena reengancharse.
ochobitero
rst 0
 
Mensajes: 11
Registrado: Lun Abr 22, 2019 12:25 pm

Re: Compilar SevenuP en Windows

Notapor Metalbrain el Mie Abr 24, 2019 2:26 am

Hola natohara,

Para compilar con la 3.1.2, aparte de lo anterior hace falta cambiar las definiciones de ADD_TOOL y ADD_TOOL2 en TheFrame.cpp, dejandolos así:

Código: Seleccionar todo
#define ADD_TOOL(id, bmp, tooltip, help) \
        toolBar->AddTool(id, wxEmptyString, bmp, wxNullBitmap, wxITEM_NORMAL, tooltip, help)

#define ADD_TOOL2(id, bmp, tooltip) \
        toolBar->AddTool(id, wxEmptyString, bmp, wxNullBitmap, wxITEM_NORMAL, tooltip, wxEmptyString)


(y esto supongo que también le viene bien a la 3.0.4)

y para enlazar hay que añadir más librerías, dejando la línea de LDFLAGS así:
Código: Seleccionar todo
LDFLAGS = -lwxmsw31u_core -lwxbase31u -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet -loleacc -luxtheme


Ochobitero, sí que soy el autor. Ahora mismo no tengo intención de continuar con el desarrollo de la herramienta, pero el formato del Sprite Pack no debería ser un problema, incluso la opción Attribute Mask la añadí expresamente para dicha biblioteca (aunque tampoco sé si ha cambiado mucho el formato desde 2007).

falvarez, ¿puedes probar esos cambios a TheFrame.cpp y ver si con eso logras que compile?
SevenuP se escribe con u minúscula y P mayúscula.
Avatar de Usuario
Metalbrain
Freddy Hardest
 
Mensajes: 588
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla

Re: Compilar SevenuP en Windows

Notapor Nat el Mie Abr 24, 2019 2:21 pm

Muchas gracias Metalbrain,

Acabo de desistir de intentarlo con la 1.21 WIP. Éste ha sido el procedimiento:

1) Corregir wxSAVE por wxFD_SAVE y wxOVERWRITE_PROMPT por wxFD_OVERWRITE_PROMPT en TheFrame.cpp

2) Modificar TheFrame.cpp para que quede así:
Código: Seleccionar todo
#define ADD_TOOL(id, bmp, tooltip, help) \
        toolBar->AddTool(id, wxEmptyString, bmp, wxNullBitmap, wxITEM_NORMAL, tooltip, help)

#define ADD_TOOL2(id, bmp, tooltip) \
        toolBar->AddTool(id, wxEmptyString, bmp, wxNullBitmap, wxITEM_NORMAL, tooltip, wxEmptyString)

3) Cambiar en makefile la trayectoria a wx
Código: Seleccionar todo
WXWIN=C:\wx

4) y LDFLAGS a
Código: Seleccionar todo
LDFLAGS=-lwxmsw31u_core -lwxbase31u -lwxtiff -lwxjpeg -lwxpng -lwxzlib -lwxregexu -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lwsock32 -lwininet -loleacc -luxtheme

y éste ha sido el resultado:
Código: Seleccionar todo
g++ -c -o SevenuP_SevenuP.o -DHAVE_W32API_H -O2 -IC:\wx\include -IC:\wx\lib\gcc_lib\msw -Wall SevenuP.cpp
windres --use-temp-file -iSevenuP.rc -oSevenuP_SevenuP_rc.o --define HAVE_W32API_H --include-dir C:\wx\include --include-dir C:\wx\lib\gcc_lib\msw
g++ -o SevenuP.exe SevenuP_OpenFile.o SevenuP_TheFrame.o SevenuP_SevenuP.o SevenuP_SevenuP_rc.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -lkernel32 -lole32 -loleacc -loleaut32 -lrpcrt4 -lshell32 -lshlwapi -luser32 -luuid -luxtheme -lversion -lwininet -lwinmm -lwinspool -lwsock32 -lwxbase31u -lwxexpat -lwxjpeg -lwxmsw31u_core -lwxpng -lwxregexu -lwxtiff -lwxzlib -mthreads -LC:\wx\lib\gcc_lib -Wl,--subsystem,windows -mwindows
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxbase31u
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxexpat
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxjpeg
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw31u_core
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxpng
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxregexu
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxtiff
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxzlib

parece compilar bien pero a la hora del "link" tiene problemas.

He probado también desde MSYS con idéntico resultado y, por verificar que todo estaba bien, sí que consigue compilar el ejemplo "minimal" de la carpeta "samples".
Saludos,
Nat
Avatar de Usuario
Nat
Herbert
 
Mensajes: 86
Registrado: Lun Mar 25, 2019 10:31 am

Re: Compilar SevenuP en Windows

Notapor falvarez el Jue Abr 25, 2019 7:26 pm

Metalbrain escribió:falvarez, ¿puedes probar esos cambios a TheFrame.cpp y ver si con eso logras que compile?


Hola.

Da un montón de errores y, la verdad, no tengo ni idea de cómo meterles mano.

Código: Seleccionar todo
19:24 $ make
c++ -Os `wx-config --cxxflags`   -c -o TheFrame.o TheFrame.cpp
TheFrame.cpp:222:13: error: use of undeclared identifier 'inifile'; did you mean 'IniFile'?
        if (inifile.fail())
            ^~~~~~~
            IniFile
TheFrame.cpp:203:16: note: 'IniFile' declared here
        wxChar IniFile[10000];    // Max 10000 char for .ini file
               ^
TheFrame.cpp:222:20: error: member reference base type 'wxChar [10000]' is not a structure or union
        if (inifile.fail())
            ~~~~~~~^~~~~
TheFrame.cpp:246:17: error: use of undeclared identifier 'inifile'; did you mean 'IniFile'?
                inifile.clear();
                ^~~~~~~
                IniFile
TheFrame.cpp:203:16: note: 'IniFile' declared here
        wxChar IniFile[10000];    // Max 10000 char for .ini file
               ^
TheFrame.cpp:246:24: error: member reference base type 'wxChar [10000]' is not a structure or union
                inifile.clear();
                ~~~~~~~^~~~~~
TheFrame.cpp:247:17: error: use of undeclared identifier 'inifile'; did you mean 'IniFile'?
                inifile.open(path);
                ^~~~~~~
                IniFile
TheFrame.cpp:203:16: note: 'IniFile' declared here
        wxChar IniFile[10000];    // Max 10000 char for .ini file
               ^
TheFrame.cpp:247:24: error: member reference base type 'wxChar [10000]' is not a structure or union
                inifile.open(path);
                ~~~~~~~^~~~~
TheFrame.cpp:1194:308: error: use of undeclared identifier 'wxSAVE'
  ...- Joint Picture Experts Group|*.jpg|PCX - Zsoft Paintbrush|*.pcx|TIF - Tagged Image File Format|*.tif|XPM - X-Bitmap|*.xpm"),wxSAVE|wxOVERWRITE_PROM...
                                                                                                                                  ^
TheFrame.cpp:1194:315: error: use of undeclared identifier 'wxOVERWRITE_PROMPT'
  ...- Joint Picture Experts Group|*.jpg|PCX - Zsoft Paintbrush|*.pcx|TIF - Tagged Image File Format|*.tif|XPM - X-Bitmap|*.xpm"),wxSAVE|wxOVERWRITE_PROM...
                                                                                                                                         ^
TheFrame.cpp:1344:147: error: use of undeclared identifier 'wxSAVE'
  ...wxFileDialog dialog(this, _("Choose a file name to save"), SavePath, Current->OpenName,_("SEVenuP graphic format (*.sev)|*.sev"), wxSAVE|wxOVERWRITE...
                                                                                                                                       ^
TheFrame.cpp:1344:154: error: use of undeclared identifier 'wxOVERWRITE_PROMPT'
  ...dialog(this, _("Choose a file name to save"), SavePath, Current->OpenName,_("SEVenuP graphic format (*.sev)|*.sev"), wxSAVE|wxOVERWRITE_PROMPT);
                                                                                                                                 ^
TheFrame.cpp:1380:184: error: use of undeclared identifier 'wxSAVE'
  ...a file name to save"), SavePath, Current->OpenName, _("SCReen memory snapshot (*.scr)|*.scr|SEVenuP graphic format (*.sev)|*.sev"), wxSAVE|wxOVERWRI...
                                                                                                                                         ^
TheFrame.cpp:1380:191: error: use of undeclared identifier 'wxOVERWRITE_PROMPT'
  ...name to save"), SavePath, Current->OpenName, _("SCReen memory snapshot (*.scr)|*.scr|SEVenuP graphic format (*.sev)|*.sev"), wxSAVE|wxOVERWRITE_PROM...
                                                                                                                                         ^
TheFrame.cpp:1383:145: error: use of undeclared identifier 'wxSAVE'
  ...= new wxFileDialog(this,_("Choose a file name to save"), SavePath, Current->OpenName,_("SEVenuP graphic format (*.sev)|*.sev"), wxSAVE|wxOVERWRITE_P...
                                                                                                                                     ^
TheFrame.cpp:1383:152: error: use of undeclared identifier 'wxOVERWRITE_PROMPT'
  ...new wxFileDialog(this,_("Choose a file name to save"), SavePath, Current->OpenName,_("SEVenuP graphic format (*.sev)|*.sev"), wxSAVE|wxOVERWRITE_PRO...
                                                                                                                                          ^
TheFrame.cpp:1466:133: error: use of undeclared identifier 'wxOVERWRITE_PROMPT'; did you mean 'wxFD_OVERWRITE_PROMPT'?
  ...dialog(this, _("Choose a file name to save"), ExportDataPath, Current->OpenName, ExportDataExtensions, wxSAVE|(wxOVERWRITE_PROMPT*(1-appendfile)));
                                                                                                                    ^~~~~~~~~~~~~~~~~~
                                                                                                                    wxFD_OVERWRITE_PROMPT
/usr/local/include/wx-3.0/wx/filedlg.h:45:5: note: 'wxFD_OVERWRITE_PROMPT' declared here
    wxFD_OVERWRITE_PROMPT  = 0x0004,
    ^
TheFrame.cpp:1466:125: error: use of undeclared identifier 'wxSAVE'
        wxFileDialog dialog(this, _("Choose a file name to save"), ExportDataPath, Current->OpenName, ExportDataExtensions, wxSAVE|(wxOVERWRITE_PROM...
                                                                                                                            ^
16 errors generated.
make: *** [TheFrame.o] Error 1


Gracias. Saludos.
Avatar de Usuario
falvarez
Sabreman
 
Mensajes: 363
Registrado: Mar Abr 17, 2007 12:28 am
Ubicación: Madrid

Re: Compilar SevenuP en Windows

Notapor Metalbrain el Lun Abr 29, 2019 2:55 pm

natohara escribió:y éste ha sido el resultado:
Código: Seleccionar todo
g++ -c -o SevenuP_SevenuP.o -DHAVE_W32API_H -O2 -IC:\wx\include -IC:\wx\lib\gcc_lib\msw -Wall SevenuP.cpp
windres --use-temp-file -iSevenuP.rc -oSevenuP_SevenuP_rc.o --define HAVE_W32API_H --include-dir C:\wx\include --include-dir C:\wx\lib\gcc_lib\msw
g++ -o SevenuP.exe SevenuP_OpenFile.o SevenuP_TheFrame.o SevenuP_SevenuP.o SevenuP_SevenuP_rc.o -ladvapi32 -lcomctl32 -lcomdlg32 -lgdi32 -lkernel32 -lole32 -loleacc -loleaut32 -lrpcrt4 -lshell32 -lshlwapi -luser32 -luuid -luxtheme -lversion -lwininet -lwinmm -lwinspool -lwsock32 -lwxbase31u -lwxexpat -lwxjpeg -lwxmsw31u_core -lwxpng -lwxregexu -lwxtiff -lwxzlib -mthreads -LC:\wx\lib\gcc_lib -Wl,--subsystem,windows -mwindows
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxbase31u
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxexpat
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxjpeg
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw31u_core
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxpng
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxregexu
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxtiff
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lwxzlib

parece compilar bien pero a la hora del "link" tiene problemas.

He probado también desde MSYS con idéntico resultado y, por verificar que todo estaba bien, sí que consigue compilar el ejemplo "minimal" de la carpeta "samples".


Mira el contenido del directorio C:\wx\lib\gcc_lib\msw que es donde se compilan las bibliotecas. Creo que tu problema es que solo has compilado la versión debug de wxWidgets, así que para compilar sevenup deberías poner BUILD=debug , y añadir la d a los nombres de archivos que no encuentras ahora mismo ( lwxbase31u -> lwxbase31ud , lwxexpat -> lwxexpatd , etc...), o bien compilar otra vez wxWidgets con BUILD=release
SevenuP se escribe con u minúscula y P mayúscula.
Avatar de Usuario
Metalbrain
Freddy Hardest
 
Mensajes: 588
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla

Re: Compilar SevenuP en Windows

Notapor Nat el Sab May 04, 2019 12:57 am

Metalbrain escribió:Mira el contenido del directorio C:\wx\lib\gcc_lib\msw que es donde se compilan las bibliotecas. Creo que tu problema es que solo has compilado la versión debug de wxWidgets, así que para compilar sevenup deberías poner BUILD=debug , y añadir la d a los nombres de archivos que no encuentras ahora mismo ( lwxbase31u -> lwxbase31ud , lwxexpat -> lwxexpatd , etc...), o bien compilar otra vez wxWidgets con BUILD=release


En realidad, no. Siempre estuvo compilada en la versión release pero, bueno, al final he conseguido compilar el fuente del SevenuP 1.21WIP y tengo que decir que la estructura de directorios que crea wxWidgets 3.1.2 es completamente diferente que la que necesita su makefile. Algo debo estar perdiéndome en este proceso si en tu caso wxWidgets utiliza otros nombres para los directorios. En el mío, para empezar, no crea la carpeta gcc_lib sino otra llamada gcc_dll y las librerías en lugar de ser ficheros .dll tienen la extensión .dll.a o .a pero, por si faltara poco, los nombres nada tienen que ver. Donde este makefile busca wxtiff el fichero real se llama libwxtiff-3.1, donde busca wxmsw31u_core, el fichero real se llama libwx_mswu_core-3.1, etc., etc. así que a falta de una mejor solución he creado la estructura apropiada de carpetas en wx\lib\gcc_lib con unas copias renombradas de las librerías que el makefile de SevenuP 1.21WIP sí es capaz de utilizar.

En otro orden de cosas, como acabo de probarlo no he tenido nada de tiempo para comprobar diferencias, pero de entrada y respecto a la versión 1.20 que descargué, noto que esta 1.21 no lee el fichero .INI con la configuración que ya tenía. Lo cambie como lo cambie, es como si el fichero no estuviera.

Muchas gracias por la colaboración. Cualquier idea para mejorar este procedimiento o hacerlo de una forma más limpia será bienvenida.
Ultima edición por Nat el Sab May 04, 2019 9:04 am, editado 3 veces en total
Saludos,
Nat
Avatar de Usuario
Nat
Herbert
 
Mensajes: 86
Registrado: Lun Mar 25, 2019 10:31 am

Re: Compilar SevenuP en Windows

Notapor Nat el Sab May 04, 2019 8:55 am

natohara escribió:
Metalbrain escribió:de entrada y respecto a la versión 1.20 que descargué, noto que esta 1.21 no lee el fichero .INI con la configuración que ya tenía.


Aún no estoy lo suficientemente familiarizado con el código pero en TheFrame.cpp hay un par de líneas comentadas y poco después un bloque de líneas (comentado curiosamente una a una) que son los que respectivamente se encargan de la asignación y la lectura del fichero de configuración. He quitado los comentarios, añadido delante de cada bloque un #ifdef __WXMSW__ y detrás un #endif y parece funcionar sin problemas.

En cuanto saque otro rato, me pongo a añadirle que lea del fichero de configuración los colores R,G,B para las rejillas de píxeles y caracteres y también intento que cuando se conmute entre uno y otro sprite/gráfico conserve el frame en el que se está trabajando. Esto último facilitaría el copy y paste entre dos sprites porque cuando se manejan 8 frames con sus correspondientes máscaras, se hace un poco cuesta arriba empezar desde el primer frame cada vez que se cambia de sprite (con Ctrl-F1,Ctrl-F2,...) Esta sería una aproximación inicial porque lo suyo es poder usar el clipboard entre dos instancias de SevenuP, lo que resultaría mucho más fácil y visual.

Respecto a mi propósito inicial de importar archivos .BIN, por ahora lo he solucionado con una utilidad de conversión externa pero así y todo habría mucho más que hacer porque lo cierto es que para conseguir un buen nivel en el editor tengo que intercambiar datos y manipular gráficos entre ZX Paintbrush y SevenuP (para el pincel de atributos, las inversiones, el copy y paste de trozos seleccionados del sprite,...)
Saludos,
Nat
Avatar de Usuario
Nat
Herbert
 
Mensajes: 86
Registrado: Lun Mar 25, 2019 10:31 am


Volver a Programación y nuevos desarrollos

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 6 invitados