kubilus1 / gendev

Genesis development environment for Linux.
BSD 3-Clause "New" or "Revised" License
209 stars 23 forks source link

Update to 1.40 #42

Closed emeric-martineau closed 5 years ago

emeric-martineau commented 5 years ago

Update to SGDK 1.40. Fix example to compile with this version. Update Dockerfile to use Ubuntu 18.04. Update deb package dependencies to add JRE 8 and make. Update README.

kubilus1 commented 5 years ago

I'm trying to see why you are getting errors in Travis. It looks like missing texinfo, not sure why ..

emeric-martineau commented 5 years ago

Hi,

thanks. I don't understand what's happen. Texinfo is in addons apt.

kubilus1 commented 5 years ago

I'm working on switching to CircleCI from Travis, I think this will give more reliable builds. However, I'm showing both locally and in Circle that the SGDK samples no longer build on 1.4.

emeric-martineau commented 5 years ago

I have rebase with your recent changes. Samples compile but I have got warning:

~/3d_example$ make-gen 
mkdir -p src/boot
mkdir -p out
mkdir -p out/src
mkdir -p out/res
cp /opt/gendev/sgdk/src/boot/sega.s src/boot/sega.s
cp /opt/gendev/sgdk/src/boot/rom_head.c src/boot/rom_head.c
/opt/gendev/bin/m68k-elf-gcc -m68000 -Wall -fno-builtin -Iinc -Isrc -Ires -I/opt/gendev/sgdk/inc -I/opt/gendev/sgdk/res -B/opt/gendev/sgdk/bin -c src/boot/rom_head.c -o out/rom_head.o
/opt/gendev/bin/m68k-elf-ld -T /opt/gendev/sgdk/md.ld -nostdlib --oformat binary -o out/rom_head.bin out/rom_head.o
/opt/gendev/bin/m68k-elf-gcc -m68000 -Wall -fno-builtin -Iinc -Isrc -Ires -I/opt/gendev/sgdk/inc -I/opt/gendev/sgdk/res -B/opt/gendev/sgdk/bin -c src/boot/sega.s -o out/sega.o
/opt/gendev/bin/m68k-elf-gcc -m68000 -Wall -fno-builtin -Iinc -Isrc -Ires -I/opt/gendev/sgdk/inc -I/opt/gendev/sgdk/res -B/opt/gendev/sgdk/bin -O3 -fuse-linker-plugin -fno-web -fno-gcse -fno-unit-at-a-time -fomit-frame-pointer -flto -c main.c -o out/main.o
In file included from main.c:3:0:
meshs.h:125:5: warning: braces around scalar initializer
     {FIX16(0)},
     ^
meshs.h:125:5: note: (near initialization for 'cube1_p.distance')
main.c: In function 'render':
main.c:115:32: warning: passing argument 2 of 'M3D_project_s16' from incompatible pointer type [-Wincompatible-pointer-types]
     M3D_project_s16(stars_t3D, stars_t2D, NUM_STARS);  
                                ^~~~~~~~~
In file included from /opt/gendev/sgdk/inc/genesis.h:20:0,
                 from main.c:1:
/opt/gendev/sgdk/inc/maths3D.h:276:6: note: expected 'V2s16 * {aka struct <anonymous> *}' but argument is of type 'Vect2D_u16 * {aka struct <anonymous> *}'
 void M3D_project_s16(const V3f16* src, V2s16* dest, u16 numv);
      ^~~~~~~~~~~~~~~
main.c: In function 'drawPoints':
main.c:297:13: warning: value computed is not used [-Wunused-value]
             *pt_dst--;
             ^~~~~~~~~
main.c:270:14: warning: unused variable 'str' [-Wunused-variable]
         char str[10];
              ^~~
echo "out/main.o" > out/cmd_
/opt/gendev/bin/m68k-elf-gcc -B/opt/gendev/sgdk/bin -n -T /opt/gendev/sgdk/md.ld -nostdlib out/sega.o @out/cmd_ /opt/gendev/sgdk/lib/libmd.a /opt/gendev/sgdk/lib/libgcc.a -o out/rom.out
rm -f out/cmd_
/opt/gendev/bin/m68k-elf-objcopy -O binary out/rom.out out/rom.bin
/opt/gendev/bin/sizebnd out/rom.bin -sizealign 131072
mkubilus commented 5 years ago

Oh gotcha, yeah the 3d examples I wrote now work (thanks!) but the SGDK provided samples don't. Try make sgdk_samples

emeric-martineau commented 5 years ago

Hi,

if you spoke about this:

src/main.c: In function 'main':
src/main.c:288:5: error: too many arguments to function 'SPR_initEx'
     SPR_initEx(20, 80, 64);
     ^~~~~~~~~~
In file included from /opt/gendev/sgdk/inc/genesis.h:33:0,
                 from src/main.c:1:
/opt/gendev/sgdk/inc/sprite_eng.h:396:6: note: declared here
 void SPR_initEx(u16 vramSize, u16 unpackBufferSize);
      ^~~~~~~~~~
/opt/gendev/sgdk/mkfiles/makefile.gen:148: recipe for target 'out/src/main.o' failed
make[2]: *** [out/src/main.o] Error 1
rm res/music.s res/gfx.s
make[2]: Leaving directory '/tmp/gendev/sgdk/SGDK/sample/xgmplayer'
Makefile:73: recipe for target '/tmp/gendev/sgdk/SGDK/sample/xgmplayer/out/rom.bin' failed
make[1]: *** [/tmp/gendev/sgdk/SGDK/sample/xgmplayer/out/rom.bin] Error 2
make[1]: Leaving directory '/tmp/gendev/sgdk'
Makefile:48: recipe for target 'sgdk_samples' failed
make: *** [sgdk_samples] Error 2

it's SGDK issue. If you take SGDK release v1.40 on Windows, you have same issue.

kubilus1 commented 5 years ago

Cool, good to know. I've got your fork pulled into a branch and am tweaking a few things. Thanks for getting this going!

emeric-martineau commented 5 years ago

Your welcome

kubilus1 commented 5 years ago

Closing this PR since these changes have now been pulled in.