Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Building & cross compiling experience
#1
Hi Megamarc - I went on a tangent in my other post, and since it's a bit quiet here, I figured I'd make this a new post, as I'd like to get your thoughts on a couple things. I may have found a reason to play with Tilengine.

I've got plans to make "de-makes" where I do the simplest minature version of a game that I can. You can see my Alex Kidd link in the other thread. Eg. 64x64 resolution. This would scale up to fill whatever desktop resolution it's being played on, with black bars on the side.

Love2d.org looks very appealing, I was able to set up a quick test that did a fake low resolution scaled up to full screen and it plays MOD tracker music directly, which is a massive plus for me. It's also cross platform with no issue - ran the test demo I made on Linux and Windows 7 no problems.
On the down side: it doesn't handle pallettes as natively as Tilengine sounds like it does. You create any palette swapping (or maybe even animating) effects using shaders, and looks complicated and only a few people are doing trying it, so I'd be on my own in scary territory I think.
And unlike Tilengine, it doesn't come with pre built in support for common retro concepts like tiled sprite animations, tiled backgrounds, layers etc. so I'd have to make all that myself. (And of course it doesn't have your amazing scanline renderer.

Tilengine on the other hand: I haven't had time to experiment - building it with a sound library or anything to complete the framework. I figure SDL is fine for windowing, and you added more gamepad support.
I also haven't tried building cross platform between Windows and Linux with it, that's something I haven't put time into yet. But if I can do those things sucessfully, Tilengine will be the perfect fit for this endeavour.

Pretty much I need to set aside time to experiment, but I was hoping to hear your thoughts on how Love2D and Tilengine compare, and if you've sucessfully built a project for Linux that uses Tilengine.
Reply
#2
Hi Domarius!

I can't give much advice here, because the question is about preferences, and I don't have personal experience with Love2d.

Love2d is an all-in-one Lua-only framework: it gives graphics, sound, input, text rendering, networking... It has the same scope as the SDL ecosystem, and if you look at its install dependences, you'll see that SDL2 is there (the ability to play mod files comes from SDL_sound). So Love2D is more or less a sdl wrapper for Lua.

Tilengine on the other hand is just a rendering library, but whereas the graphics part of Love2d/SDL is very generic, Tilengine has all the bells and whistles you may need to setup a retro game. You have to pair it with other components, but the SDL ecosystem is your best bet here. I know you like Lua language, and Tilengine has a LuaFFI binding, but I can't tell anything about it because it was contributed by another person, I haven't tried it.

Regarding the build process, the new Tilengine 2.0 has a simple build Makefile for Linux environments, and a VisualStudio project for windows. Last week I set up a Travis CI build task, you can see online the process of a successful build.

I think the decision here is choosing between a tool that you're familiar with but may not be as suitable for the task you want, or a tool that is more suited for what you want to do, but that's more unknown and may require some effort setting up.

Any tool you may choose, your Alex Kidd demake for the Pico8 is awesome! Great job!
Reply
#3
Thanks I really appreciate your insight Smile Thank you for pointing out that the mod playback just comes from SDL_sound. It's a little thing but I overlooked that, and it's good to know it's as easy as just using SDL_sound. And yes I got the feeling that the SDL ecosystem was the one I should stick with.

As for Lua - actually it's is a new language for me and I have no affinity for it, it's just what Pico 8 and Love2D use, and I like them for reasons other than the language they use.

Though I will say, Lua has been fun, making new enemy types by just adding new behaviours and variables on the base entity without having to make new classes. It even makes me wonder what's the point of all these restrictions we have in other languages when the main time consuming bugs come from silly typos or logic bugs during runtime.

I actually got palette swapping (Pico 8 style) in Love2D easily with shaders! The results of my effort are here. https://love2d.org/forums/viewtopic.php?...a&start=10 But now that that's done, I'm starting to set up Tilengine and SDL on my Linux Mint setup. I'm looking forward to giving Tilengine a good go.
Reply
#4
I don't have personal affiliation to SDL, but I have used it enough times to tell that it's a great tool: Permissive license, supports lots of platforms, bindings to nearly any lprogramming language, really easy to work with (very lean API)... It has saved me on several commercial projects too. The separartion between having a core with basic functions and several add-ins is great too. SDL_sound for audio and module format playback, SDL_Image for working with common image formats, SDL_Font to render text using freetype, SDL_Net for networking. Just grab what you need.

I haven't worked with Lua, I just know that's a lightweight and embeddable scripting language. There's no perfect language either: Python is flexible, great for fast prototyping and directly interpreted (no compile step), but working with classes with all that "self" thing everywhere is cumbersome and error prone. C# is great for bigger projects and binary universal -compile just once and run everywhere-, but it's not as great for fast prototyping and learning. C is source universal but having cross-platform targets, with separate toolchains and makefiles for each target is tedious... Each one has its pros and cons.

I'm glad you're going to give Tilengine a try :-) Downloads on itch.io aren't yet updated, please grab the GitHub project, install libpng-dev and libsdl2-dev packages and run the Makefile inside the src_lib folder (as stated in README.md instructions). Let me know if you have any trouble!
Reply
#5
Ok I got there - in the end! There were 2 strange problems.

I got to "sudo ./install" and got an error;

Code:
domarius@Domarius-LinuxMint /mnt/user/Users/Clint/Documents/My Files/Game Development/Tilengine/Tilengine-master $ sudo ./install
[sudo] password for domarius:
Installing Linux x86_64
cp: cannot stat 'lib/linux_x86_64/libTilengine.so': No such file or directory
chmod: cannot access '/usr/lib/x86_64-linux-gnu/libTilengine.so': No such file or directory

I checked, and the libTilengine.so is in lib, just as the instructions said it would be;
Code:
domarius@Domarius-LinuxMint /mnt/user/Users/Clint/Documents/My Files/Game Development/Tilengine/Tilengine-master/lib $ ls
libTilengine.so

Opening the install file I see it's branching depending on the architecture ($arch) and looking for a folder that doesn't exist in my case (64 bit)

But I changed:
cp lib/$srcpath/$library $libpath
to
cp lib/$library $libpath

and it seemed to work without errors.

-------------------------------

The next problem was the final step of running "mono Platformer.exe". The first time I did it, I got a massive spewing of text to the console, that overflowed so I've pasted what I could here;

Code:
6_64-linux-gnu/libpcre.so.3.13.2
7f4d382f1000-7f4d384f1000 ---p 0006e000 08:25 2233754                    /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7f4d384f1000-7f4d384f2000 r--p 0006e000 08:25 2233754                    /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7f4d384f2000-7f4d384f3000 rw-p 0006f000 08:25 2233754                    /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7f4d384f3000-7f4d3850a000 r-xp 00000000 08:25 2234085                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7f4d3850a000-7f4d3870a000 ---p 00017000 08:25 2234085                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7f4d3870a000-7f4d3870b000 r--p 00017000 08:25 2234085                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7f4d3870b000-7f4d3870c000 rw-p 00018000 08:25 2234085                    /lib/x86_64-linux-gnu/libresolv-2.23.so
7f4d3870c000-7f4d3870e000 rw-p 00000000 00:00 0
7f4d3870e000-7f4d3879b000 r-xp 00000000 08:25 1847002                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7f4d3879b000-7f4d3899a000 ---p 0008d000 08:25 1847002                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7f4d3899a000-7f4d389b6000 r--p 0008c000 08:25 1847002                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7f4d389b6000-7f4d389b7000 rw-p 000a8000 08:25 1847002                    /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11
7f4d389b7000-7f4d38a2a000 r-xp 00000000 08:25 1845495                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7f4d38a2a000-7f4d38c2a000 ---p 00073000 08:25 1845495                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7f4d38c2a000-7f4d38c2b000 r--p 00073000 08:25 1845495                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7f4d38c2b000-7f4d38c2c000 rw-p 00074000 08:25 1845495                    /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0
7f4d38c2c000-7f4d38c42000 r-xp 00000000 08:25 2234078                    /lib/x86_64-linux-gnu/libnsl-2.23.so
7f4d38c42000-7f4d38e41000 ---p 00016000 08:25 2234078                    /lib/x86_64-linux-gnu/libnsl-2.23.so
7f4d38e41000-7f4d38e42000 r--p 00015000 08:25 2234078                    /lib/x86_64-linux-gnu/libnsl-2.23.so
7f4d38e42000-7f4d38e43000 rw-p 00016000 08:25 2234078                    /lib/x86_64-linux-gnu/libnsl-2.23.so
7f4d38e43000-7f4d38e45000 rw-p 00000000 00:00 0
7f4d38e45000-7f4d38f1d000 r-xp 00000000 08:25 2233665                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7f4d38f1d000-7f4d3911c000 ---p 000d8000 08:25 2233665                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7f4d3911c000-7f4d3911d000 r--p 000d7000 08:25 2233665                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7f4d3911d000-7f4d39125000 rw-p 000d8000 08:25 2233665                    /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
7f4d39125000-7f4d39126000 rw-p 00000000 00:00 0
7f4d39126000-7f4d39147000 r-xp 00000000 08:25 2233692                    /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f4d39147000-7f4d39346000 ---p 00021000 08:25 2233692                    /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f4d39346000-7f4d39347000 r--p 00020000 08:25 2233692                    /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f4d39347000-7f4d39348000 rw-p 00021000 08:25 2233692                    /lib/x86_64-linux-gnu/liblzma.so.5.0.0
7f4d39348000-7f4d39367000 r-xp 00000000 08:25 2233783                    /lib/x86_64-linux-gnu/libselinux.so.1
7f4d39367000-7f4d39566000 ---p 0001f000 08:25 2233783                    /lib/x86_64-linux-gnu/libselinux.so.1
7f4d39566000-7f4d39567000 r--p 0001e000 08:25 2233783                    /lib/x86_64-linux-gnu/libselinux.so.1
7f4d39567000-7f4d39568000 rw-p 0001f000 08:25 2233783                    /lib/x86_64-linux-gnu/libselinux.so.1
7f4d39568000-7f4d3956a000 rw-p 00000000 00:00 0
7f4d3956a000-7f4d3956f000 r-xp 00000000 08:25 1845665                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f4d3956f000-7f4d3976e000 ---p 00005000 08:25 1845665                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f4d3976e000-7f4d3976f000 r--p 00004000 08:25 1845665                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f4d3976f000-7f4d39770000 rw-p 00005000 08:25 1845665                    /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
7f4d39770000-7f4d39772000 r-xp 00000000 08:25 1845654                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f4d39772000-7f4d39972000 ---p 00002000 08:25 1845654                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f4d39972000-7f4d39973000 r--p 00002000 08:25 1845654                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f4d39973000-7f4d39974000 rw-p 00003000 08:25 1845654                    /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
7f4d39974000-7f4d39979000 r-xp 00000000 08:25 1845755                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f4d39979000-7f4d39b78000 ---p 00005000 08:25 1845755                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f4d39b78000-7f4d39b79000 r--p 00004000 08:25 1845755                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f4d39b79000-7f4d39b7a000 rw-p 00005000 08:25 1845755                    /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f4d39b7a000-7f4d39bdc000 r-xp 00000000 08:25 1846879                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f4d39bdc000-7f4d39ddc000 ---p 00062000 08:25 1846879                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f4d39ddc000-7f4d39dde000 r--p 00062000 08:25 1846879                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f4d39dde000-7f4d39ddf000 rw-p 00064000 08:25 1846879                    /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f4d39ddf000-7f4d39de3000 rw-p 00000000 00:00 0
7f4d39de3000-7f4d39deb000 r-xp 00000000 08:25 2233811                    /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f4d39deb000-7f4d39fea000 ---p 00008000 08:25 2233811                    /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f4d39fea000-7f4d39feb000 r--p 00007000 08:25 2233811                    /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f4d39feb000-7f4d39fec000 rw-p 00008000 08:25 2233811                    /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f4d39fec000-7f4d39fed000 rw-p 00000000 00:00 0
7f4d39fed000-7f4d3a06d000 r-xp 00000000 08:25 2233793                    /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
7f4d3a06d000-7f4d3a070000 r--p 0007f000 08:25 2233793                    /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
7f4d3a070000-7f4d3a071000 rw-p 00082000 08:25 2233793                    /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
7f4d3a071000-7f4d3a072000 rw-p 00000000 00:00 0
7f4d3a072000-7f4d3a079000 r-xp 00000000 08:25 1846039                    /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
7f4d3a079000-7f4d3a278000 ---p 00007000 08:25 1846039                    /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
7f4d3a278000-7f4d3a279000 r--p 00006000 08:25 1846039                    /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
7f4d3a279000-7f4d3a27a000 rw-p 00007000 08:25 1846039                    /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4
7f4d3a27a000-7f4d3a27f000 r-xp 00000000 08:25 1845669                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f4d3a27f000-7f4d3a47e000 ---p 00005000 08:25 1845669                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f4d3a47e000-7f4d3a47f000 r--p 00004000 08:25 1845669                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f4d3a47f000-7f4d3a480000 rw-p 00005000 08:25 1845669                    /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
7f4d3a480000-7f4d3a489000 r-xp 00000000 08:25 1845687                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7f4d3a489000-7f4d3a688000 ---p 00009000 08:25 1845687                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7f4d3a688000-7f4d3a689000 r--p 00008000 08:25 1845687                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7f4d3a689000-7f4d3a68a000 rw-p 00009000 08:25 1845687                    /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
7f4d3a68a000-7f4d3a6ab000 r-xp 00000000 08:25 1847131                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f4d3a6ab000-7f4d3a8aa000 ---p 00021000 08:25 1847131                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f4d3a8aa000-7f4d3a8ab000 r--p 00020000 08:25 1847131                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f4d3a8ab000-7f4d3a8ac000 rw-p 00021000 08:25 1847131                    /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
7f4d3a8ac000-7f4d3a8bf000 r-xp 00000000 08:25 2233621                    /lib/x86_64-linux-gnu/libbsd.so.0.8.2
7f4d3a8bf000-7f4d3aabe000 ---p 00013000 08:25 2233621                    /lib/x86_64-linux-gnu/libbsd.so.0.8.2
7f4d3aabe000-7f4d3aabf000 r--p 00012000 08:25 2233621                    /lib/x86_64-linux-gnu/libbsd.so.0.8.2
7f4d3aabf000-7f4d3aac0000 rw-p 00013000 08:25 2233621                    /lib/x86_64-linux-gnu/libbsd.so.0.8.2
7f4d3aac0000-7f4d3aac1000 rw-p 00000000 00:00 0
7f4d3aac1000-7f4d3ab0b000 r-xp 00000000 08:25 2233641                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7f4d3ab0b000-7f4d3ad0b000 ---p 0004a000 08:25 2233641                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7f4d3ad0b000-7f4d3ad0c000 r--p 0004a000 08:25 2233641                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7f4d3ad0c000-7f4d3ad0d000 rw-p 0004b000 08:25 2233641                    /lib/x86_64-linux-gnu/libdbus-1.so.3.14.6
7f4d3ad0d000-7f4d3ad87000 r-xp 00000000 08:25 2363337                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7f4d3ad87000-7f4d3af86000 ---p 0007a000 08:25 2363337                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7f4d3af86000-7f4d3af87000 r--p 00079000 08:25 2363337                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7f4d3af87000-7f4d3af88000 rw-p 0007a000 08:25 2363337                    /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so
7f4d3af88000-7f4d3af92000 r-xp 00000000 08:25 2233684                    /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7f4d3af92000-7f4d3b191000 ---p 0000a000 08:25 2233684                    /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7f4d3b191000-7f4d3b192000 r--p 00009000 08:25 2233684                    /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7f4d3b192000-7f4d3b193000 rw-p 0000a000 08:25 2233684                    /lib/x86_64-linux-gnu/libjson-c.so.2.0.0
7f4d3b193000-7f4d3b1d0000 r-xp 00000000 08:25 1847137                    /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0
7f4d3b1d0000-7f4d3b3cf000 ---p 0003d000 08:25 1847137                    /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0
7f4d3b3cf000-7f4d3b3d1000 r--p 0003c000 08:25 1847137                    /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0
7f4d3b3d1000-7f4d3b3d2000 rw-p 0003e000 08:25 1847137                    /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0
7f4d3b3d2000-7f4d3b3d6000 r-xp 00000000 08:25 1847014                    /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.0.0
7f4d3b3d6000-7f4d3b5d5000 ---p 00004000 08:25 1847014                    /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.0.0
7f4d3b5d5000-7f4d3b5d6000 r--p 00003000 08:25 1847014                    /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.0.0
7f4d3b5d6000-7f4d3b5da000 rw-p 00004000 08:25 1847014                    /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.0.0
7f4d3b5da000-7f4d3b5e6000 r-xp 00000000 08:25 1838330                    /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0
7f4d3b5e6000-7f4d3b7e6000 ---p 0000c000 08:25 1838330                    /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0
7f4d3b7e6000-7f4d3b7e8000 r--p 0000c000 08:25 1838330                    /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0
7f4d3b7e8000-7f4d3b7e9000 rw-p 0000e000 08:25 1838330                    /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0
7f4d3b7e9000-7f4d3b7ea000 r-xp 00000000 08:25 1838332                    /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1.0.0
7f4d3b7ea000-7f4d3b9e9000 ---p 00001000 08:25 1838332                    /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1.0.0
7f4d3b9e9000-7f4d3b9ea000 r--p 00000000 08:25 1838332                    /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1.0.0
7f4d3b9ea000-7f4d3b9eb000 rw-p 00001000 08:25 1838332                    /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1.0.0
7f4d3b9eb000-7f4d3b9f0000 r-xp 00000000 08:25 1845703                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f4d3b9f0000-7f4d3bbef000 ---p 00005000 08:25 1845703                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f4d3bbef000-7f4d3bbf0000 r--p 00004000 08:25 1845703                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f4d3bbf0000-7f4d3bbf1000 rw-p 00005000 08:25 1845703                    /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
7f4d3bbf1000-7f4d3bbf3000 r-xp 00000000 08:25 1845689                    /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0
7f4d3bbf3000-7f4d3bdf3000 ---p 00002000 08:25 1845689                    /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0
7f4d3bdf3000-7f4d3bdf4000 r--p 00002000 08:25 1845689                    /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0
7f4d3bdf4000-7f4d3bdf5000 rw-p 00003000 08:25 1845689                    /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0
7f4d3bdf5000-7f4d3bdff000 r-xp 00000000 08:25 1845685                    /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7f4d3bdff000-7f4d3bffe000 ---p 0000a000 08:25 1845685                    /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7f4d3bffe000-7f4d3bfff000 r--p 00009000 08:25 1845685                    /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7f4d3bfff000-7f4d3c000000 rw-p 0000a000 08:25 1845685                    /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0
7f4d3c000000-7f4d3c021000 rw-p 00000000 00:00 0
7f4d3c021000-7f4d40000000 ---p 00000000 00:00 0
7f4d40011000-7f4d40020000 r-xp 00000000 08:25 1845675                    /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0
7f4d40020000-7f4d4021f000 ---p 0000f000 08:25 1845675                    /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0
7f4d4021f000-7f4d40220000 r--p 0000e000 08:25 1845675                    /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0
7f4d40220000-7f4d40221000 rw-p 0000f000 08:25 1845675                    /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0
7f4d40221000-7f4d40223000 r-xp 00000000 08:25 1845677                    /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7f4d40223000-7f4d40422000 ---p 00002000 08:25 1845677                    /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7f4d40422000-7f4d40423000 r--p 00001000 08:25 1845677                    /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7f4d40423000-7f4d40424000 rw-p 00002000 08:25 1845677                    /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0
7f4d40424000-7f4d4042d000 r-xp 00000000 08:25 1847016                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7f4d4042d000-7f4d4062c000 ---p 00009000 08:25 1847016                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7f4d4062c000-7f4d4062d000 r--p 00008000 08:25 1847016                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7f4d4062d000-7f4d4062e000 rw-p 00009000 08:25 1847016                    /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
7f4d4062e000-7f4d4063f000 r-xp 00000000 08:25 1845667                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f4d4063f000-7f4d4083e000 ---p 00011000 08:25 1845667                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f4d4083e000-7f4d4083f000 r--p 00010000 08:25 1845667                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f4d4083f000-7f4d40840000 rw-p 00011000 08:25 1845667                    /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
7f4d40840000-7f4d40975000 r-xp 00000000 08:25 1845650                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f4d40975000-7f4d40b75000 ---p 00135000 08:25 1845650                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f4d40b75000-7f4d40b76000 r--p 00135000 08:25 1845650                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f4d40b76000-7f4d40b7a000 rw-p 00136000 08:25 1845650                    /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
7f4d40b7a000-7f4d40b86000 r-xp 00000000 08:25 1848694                    /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
7f4d40b86000-7f4d40d86000 ---p 0000c000 08:25 1848694                    /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
7f4d40d86000-7f4d40d87000 r--p 0000c000 08:25 1848694                    /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
7f4d40d87000-7f4d40d88000 rw-p 0000d000 08:25 1848694                    /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
7f4d40d88000-7f4d40d8a000 rw-p 00000000 00:00 0
7f4d40d8a000-7f4d40dd8000 r-xp 00000000 08:25 1843828                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7f4d40dd8000-7f4d40fd8000 ---p 0004e000 08:25 1843828                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7f4d40fd8000-7f4d40fd9000 r--p 0004e000 08:25 1843828                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7f4d40fd9000-7f4d40fda000 rw-p 0004f000 08:25 1843828                    /usr/lib/x86_64-linux-gnu/libpulse.so.0.19.0
7f4d40fda000-7f4d410d3000 r-xp 00000000 08:25 1845745                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7f4d410d3000-7f4d412d2000 ---p 000f9000 08:25 1845745                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7f4d412d2000-7f4d412d9000 r--p 000f8000 08:25 1845745                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7f4d412d9000-7f4d412da000 rw-p 000ff000 08:25 1845745                    /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0
7f4d412da000-7f4d412fe000 r-xp 00000000 08:25 2233766                    /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7f4d412fe000-7f4d414fd000 ---p 00024000 08:25 2233766                    /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7f4d414fd000-7f4d414fe000 r--p 00023000 08:25 2233766                    /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7f4d414fe000-7f4d414ff000 rw-p 00024000 08:25 2233766                    /lib/x86_64-linux-gnu/libpng12.so.0.54.0
7f4d414ff000-7f4d41518000 r-xp 00000000 08:25 2233816                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4d41518000-7f4d41717000 ---p 00019000 08:25 2233816                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4d41717000-7f4d41718000 r--p 00018000 08:25 2233816                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4d41718000-7f4d41719000 rw-p 00019000 08:25 2233816                    /lib/x86_64-linux-gnu/libz.so.1.2.8
7f4d41719000-7f4d41820000 r-xp 00000000 08:25 1848695                    /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0
7f4d41820000-7f4d41a20000 ---p 00107000 08:25 1848695                    /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0
7f4d41a20000-7f4d41a24000 r--p 00107000 08:25 1848695                    /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0
7f4d41a24000-7f4d41a28000 rw-p 0010b000 08:25 1848695                    /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0.4.0
7f4d41a28000-7f4d41a2c000 rw-p 00000000 00:00 0
7f4d41a2c000-7f4d41a44000 r-xp 00000000 08:25 1863697                    /usr/lib/x86_64-linux-gnu/libTilengine.so
7f4d41a44000-7f4d41c44000 ---p 00018000 08:25 1863697                    /usr/lib/x86_64-linux-gnu/libTilengine.so
7f4d41c44000-7f4d41c45000 r--p 00018000 08:25 1863697                    /usr/lib/x86_64-linux-gnu/libTilengine.so
7f4d41c45000-7f4d41c46000 rw-p 00019000 08:25 1863697                    /usr/lib/x86_64-linux-gnu/libTilengine.so
7f4d41c46000-7f4d41ca5000 rw-p 00000000 00:00 0
7f4d41ca5000-7f4d4220d000 r-xp 00000000 08:25 1968211                    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so
7f4d4220d000-7f4d4240d000 ---p 00568000 08:25 1968211                    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so
7f4d4240d000-7f4d4240e000 rw-p 00568000 08:25 1968211                    /usr/lib/mono/aot-cache/amd64/mscorlib.dll.so
7f4d4240e000-7f4d42434000 rw-p 00000000 00:00 0
7f4d42434000-7f4d427ff000 r--p 00000000 08:25 1968214                    /usr/lib/mono/4.5/mscorlib.dll
7f4d427ff000-7f4d437ff000 rw-p 00000000 00:00 0
7f4d437ff000-7f4d43800000 ---p 00000000 00:00 0
7f4d43800000-7f4d44400000 rw-p 00000000 00:00 0
7f4d44418000-7f4d44421000 ---p 00000000 00:00 0
7f4d44421000-7f4d44619000 rw-p 00000000 00:00 0
7f4d44619000-7f4d448f1000 r--p 00000000 08:25 1843678                    /usr/lib/locale/locale-archive
7f4d448f1000-7f4d44ab1000 r-xp 00000000 08:25 2234081                    /lib/x86_64-linux-gnu/libc-2.23.so
7f4d44ab1000-7f4d44cb1000 ---p 001c0000 08:25 2234081                    /lib/x86_64-linux-gnu/libc-2.23.so
7f4d44cb1000-7f4d44cb5000 r--p 001c0000 08:25 2234081                    /lib/x86_64-linux-gnu/libc-2.23.so
7f4d44cb5000-7f4d44cb7000 rw-p 001c4000 08:25 2234081                    /lib/x86_64-linux-gnu/libc-2.23.so
7f4d44cb7000-7f4d44cbb000 rw-p 00000000 00:00 0
7f4d44cbb000-7f4d44cd1000 r-xp 00000000 08:25 2233663                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4d44cd1000-7f4d44ed0000 ---p 00016000 08:25 2233663                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4d44ed0000-7f4d44ed1000 rw-p 00015000 08:25 2233663                    /lib/x86_64-linux-gnu/libgcc_s.so.1
7f4d44ed1000-7f4d44ee9000 r-xp 00000000 08:25 2234080                    /lib/x86_64-linux-gnu/libpthread-2.23.so
7f4d44ee9000-7f4d450e8000 ---p 00018000 08:25 2234080                    /lib/x86_64-linux-gnu/libpthread-2.23.so
7f4d450e8000-7f4d450e9000 r--p 00017000 08:25 2234080                    /lib/x86_64-linux-gnu/libpthread-2.23.so
7f4d450e9000-7f4d450ea000 rw-p 00018000 08:25 2234080                    /lib/x86_64-linux-gnu/libpthread-2.23.so
7f4d450ea000-7f4d450ee000 rw-p 00000000 00:00 0
7f4d450ee000-7f4d450f1000 r-xp 00000000 08:25 2234083                    /lib/x86_64-linux-gnu/libdl-2.23.so
7f4d450f1000-7f4d452f0000 ---p 00003000 08:25 2234083                    /lib/x86_64-linux-gnu/libdl-2.23.so
7f4d452f0000-7f4d452f1000 r--p 00002000 08:25 2234083                    /lib/x86_64-linux-gnu/libdl-2.23.so
7f4d452f1000-7f4d452f2000 rw-p 00003000 08:25 2234083                    /lib/x86_64-linux-gnu/libdl-2.23.so
7f4d452f2000-7f4d452f9000 r-xp 00000000 08:25 2234099                    /lib/x86_64-linux-gnu/librt-2.23.so
7f4d452f9000-7f4d454f8000 ---p 00007000 08:25 2234099                    /lib/x86_64-linux-gnu/librt-2.23.so
7f4d454f8000-7f4d454f9000 r--p 00006000 08:25 2234099                    /lib/x86_64-linux-gnu/librt-2.23.so
7f4d454f9000-7f4d454fa000 rw-p 00007000 08:25 2234099                    /lib/x86_64-linux-gnu/librt-2.23.so
7f4d454fa000-7f4d45602000 r-xp 00000000 08:25 2234077                    /lib/x86_64-linux-gnu/libm-2.23.so
7f4d45602000-7f4d45801000 ---p 00108000 08:25 2234077                    /lib/x86_64-linux-gnu/libm-2.23.so
7f4d45801000-7f4d45802000 r--p 00107000 08:25 2234077                    /lib/x86_64-linux-gnu/libm-2.23.so
7f4d45802000-7f4d45803000 rw-p 00108000 08:25 2234077                    /lib/x86_64-linux-gnu/libm-2.23.so
7f4d45803000-7f4d45829000 r-xp 00000000 08:25 2234079                    /lib/x86_64-linux-gnu/ld-2.23.so
7f4d458b2000-7f4d45964000 rw-p 00000000 00:00 0
7f4d45968000-7f4d4599b000 rw-p 00000000 00:00 0
7f4d4599b000-7f4d459fa000 ---p 00000000 00:00 0
7f4d459fa000-7f4d45a00000 rw-p 00000000 00:00 0
7f4d45a09000-7f4d45a13000 rw-p 00000000 00:00 0
7f4d45a13000-7f4d45a14000 r--p 00000000 08:25 32253                      /usr/share/locale-langpack/en_AU/LC_MESSAGES/libc.mo
7f4d45a14000-7f4d45a1c000 r--p 00000000 08:31 1484177                    /mnt/user/Users/Clint/Documents/My Files/Game Development/Tilengine/Tilengine-master/samples/csharp/Platformer.exe
7f4d45a1c000-7f4d45a27000 rw-p 00000000 00:00 0
7f4d45a27000-7f4d45a28000 rw-s 00000000 00:14 77600                      /dev/shm/mono.16798
7f4d45a28000-7f4d45a29000 r--p 00025000 08:25 2234079                    /lib/x86_64-linux-gnu/ld-2.23.so
7f4d45a29000-7f4d45a2a000 rw-p 00026000 08:25 2234079                    /lib/x86_64-linux-gnu/ld-2.23.so
7f4d45a2a000-7f4d45a2b000 rw-p 00000000 00:00 0
7ffcf28fc000-7ffcf2904000 ---p 00000000 00:00 0
7ffcf30da000-7ffcf30fb000 rw-p 00000000 00:00 0                          [stack]
7ffcf31e9000-7ffcf31eb000 r--p 00000000 00:00 0                          [vvar]
7ffcf31eb000-7ffcf31ed000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Native stacktrace:

    mono() [0x4b96a0]
    /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f4d44ee2390]
    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38) [0x7f4d44926428]
    /lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f4d4492802a]
    /lib/x86_64-linux-gnu/libc.so.6(+0x777ea) [0x7f4d449687ea]
    /lib/x86_64-linux-gnu/libc.so.6(cfree+0x1a8) [0x7f4d44975698]
    [0x400a447f]

Debug info from gdb:

[New LWP 16799]
[New LWP 16800]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f4d44ee1f7b in __waitpid (pid=16802, stat_loc=0x7ffcf30f786c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
29    ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory.
  Id   Target Id         Frame
* 1    Thread 0x7f4d459fa740 (LWP 16798) "mono" 0x00007f4d44ee1f7b in __waitpid (pid=16802, stat_loc=0x7ffcf30f786c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
  2    Thread 0x7f4d43fff700 (LWP 16799) "SGen worker" pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
  3    Thread 0x7f4d44618700 (LWP 16800) "Finalizer" 0x00007f4d44ee0827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0xa2a920) at ../sysdeps/unix/sysv/linux/futex-internal.h:205

Thread 3 (Thread 0x7f4d44618700 (LWP 16800)):
#0  0x00007f4d44ee0827 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0xa2a920) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1  do_futex_wait (sem=sem@entry=0xa2a920, abstime=0x0) at sem_waitcommon.c:111
#2  0x00007f4d44ee08d4 in __new_sem_wait_slow (sem=0xa2a920, abstime=0x0) at sem_waitcommon.c:181
#3  0x00007f4d44ee097a in __new_sem_wait (sem=<optimised out>) at sem_wait.c:29
#4  0x00000000006662ef in ?? ()
#5  0x000000000061ea25 in ?? ()
#6  0x00007f4d44ed86ba in start_thread (arg=0x7f4d44618700) at pthread_create.c:333
#7  0x00007f4d449f841d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f4d43fff700 (LWP 16799)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00000000006cd43b in ?? ()
#2  0x00007f4d44ed86ba in start_thread (arg=0x7f4d43fff700) at pthread_create.c:333
#3  0x00007f4d449f841d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f4d459fa740 (LWP 16798)):
#0  0x00007f4d44ee1f7b in __waitpid (pid=16802, stat_loc=0x7ffcf30f786c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:29
#1  0x00000000004b977c in ?? ()
#2  <signal handler called>
#3  0x00007f4d44926428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#4  0x00007f4d4492802a in __GI_abort () at abort.c:89
#5  0x00007f4d449687ea in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f4d44a81ed8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#6  0x00007f4d44975698 in malloc_printerr (ar_ptr=0x0, ptr=<optimised out>, str=0x7f4d44a81f00 "munmap_chunk(): invalid pointer", action=<optimised out>) at malloc.c:5006
#7  munmap_chunk (p=<optimised out>) at malloc.c:2842
#8  __GI___libc_free (mem=<optimised out>) at malloc.c:2963
#9  0x00000000400a447f in ?? ()
#10 0x00000000000000f0 in ?? ()
#11 0x0000000000000002 in ?? ()
#12 0x0000000000000000 in ?? ()

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

Aborted (core dumped)
domarius@Domarius-LinuxMint /mnt/user/Users/Clint/Documents/My Files/Game Development/Tilengine/Tilengine-master/samples/csharp $

Then I just ran "mono Platformer.exe" again, and it worked?? I've got the scrolling platformer example running. I've since installed MonoDevelop and ran it through there too, so I'm almost ready to start.
----------------------------------------

When I next sit down to do this, my next goal is to get MOD tracker music playing. I'm assuming I have to start here https://github.com/flibitijibibo/SDL2-CS at the C# wrapper for SDL, and use SDL_mixer, which plays mod music. If you have any tips, I'm very keen to read them Smile
Reply
#6
You're right!

After the change to LGPL and publishing the global build Makefile, the output of the makefile and the old install.sh script are a bit out of sync regarding the library path. I have to fix it. Thanks for pointing this out.

I don't know what happened to your first run of the C# platformer sample and why it worked ok from second time onwards. I'm glad you have it already running!

The C# binding you name is the official one, which is a direct port of the C API. It's quite straightforward to load sound/music and play them, I don't have other advice than keep at hand the original documentation of the SDL_mixer here: https://www.libsdl.org/projects/SDL_mixe....html#SEC2. Despite the large number of functions, it does take just 4 function calls (complete in with suitabl parameters):
  1. Mix_Init()
  2. Mix_OpenAudio()
  3. Mix_LoadMUS()
  4. Mix_PlayMusic()
Reply
#7
(07-10-2018, 04:06 PM)megamarc Wrote: I don't know what happened to your first run of the C# platformer sample and why it worked ok from second time onwards. I'm glad you have it already running!
Yeah well - I'm just lucky I guess?? Biggrin Last week I resized some partitions, Linux Mint failed to boot... horrified, I reset... and it magically worked the second time?? Swear to god it's a plain install of Linux Mint and I haven't messed around with the OS partition, just installed apps through the software manager... and the commandline "sudo app install" whatever...


Quote:The C# binding you name is the official one, which is a direct port of the C API. It's quite straightforward to load sound/music and play them, I don't have other advice than keep at hand the original documentation of the SDL_mixer here: https://www.libsdl.org/projects/SDL_mixe....html#SEC2. Despite the large number of functions, it does take just 4 function calls (complete in with suitabl parameters):
  1. Mix_Init()
  2. Mix_OpenAudio()
  3. Mix_LoadMUS()
  4. Mix_PlayMusic()

Well that seems pretty straight forward, thanks Smile I will dive into it.
Reply
#8
Yes, you're lucky... after releasing the source code, I've found that building on different environments is like HELL. Same makefile, same sources, but different Ubuntu versions throw building and/or runtime errors whereas others run flawlessly. libpng-dev package is revealing to be specially hideous regarding incompatibilities across distros and versions. I'll revert back to my own libpng16.a build and distribute it with the sources...

Several hours of plumbering here :-)
Reply
#9
I finally have running builds for each platform, uploaded to itch.io too. People should give feedback, as they may work on mi build environments but fail in others.
Reply
#10
(07-10-2018, 10:34 PM)megamarc Wrote: Yes, you're lucky... after releasing the source code, I've found that building on different environments is like HELL.

Haha, now we know why people invent frameworks like Love2D - one dedicated team focuses solely on getting that framework to run equally well on all different platforms, while everyone else can focus on making games!

Quote:Same makefile, same sources, but different Ubuntu versions throw building and/or runtime errors whereas others run flawlessly.

Yes, I've learned there's usually the choice between 3 different versions of Ubuntu at the moment - 18.04, 17.10, 16.04. Using Linux Mint I've learned that I need to choose the 16.04 option when presented with this selection when downloading a particular software version, as that's the Ubuntu version that Linux Mint is officially based off of.

So at least it's just those 3 versions you need to test on, hopefully.

(07-11-2018, 01:17 AM)megamarc Wrote: I finally have running builds for each platform, uploaded to itch.io too. People should give feedback, as they may work on mi build environments but fail in others.

Ok I downloaded the Win32 option off Itch.io. I opened the Platformer.sln in Visual Studio 2015, and it did a one-way upgrade. It halted on Tilengine.cs:422 "DllNotFoundExeption was unhandled". Is there an extra step I have to do regarding making the dlls available? Here's the exception detail;

Code:
System.DllNotFoundException was unhandled
  Message=Unable to load DLL 'Tilengine': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
  Source=Platformer
  TypeName=""
  StackTrace:
       at Tilengine.Engine.TLN_Init(Int32 hres, Int32 vres, Int32 numlayers, Int32 numsprites, Int32 numanimations)
       at Tilengine.Engine.Init(Int32 hres, Int32 vres, Int32 numLayers, Int32 numSprites, Int32 numAnimations) in E:\Libraries\Tilengine_windows_win32\samples\csharp\Tilengine.cs:line 422
       at Platformer.Main(String[] args) in E:\Libraries\Tilengine_windows_win32\samples\csharp\Platformer.cs:line 59
       at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)