Download and install Visual Studio 2015
(You only need to install the C/C++ components but it should still
work if you installed everything.)
Download and install Android Studio
Make sure to tell it to install the NDK components if given the option.
(There are some screenshots in the Blurrr SDK Instructions.md)
Download and unzip Blurrr SDK for Windows
Launch BlurrrGenProj.exe in the root of the folder. Follow the setup
directions I told you in the previous message.
one more quick question. Does the code seem to run oke now (except for maybe it’s not Unicode base & the sdl-geteventfilter) ? Also my original code wasn’t so bad was it , except that I didn’t use ALmixer and didn’t know how to port to blurrr? It did run perfectly fine on my laptop before you tested it, with no noticeable bugs at all, graphics were fine etc.
I didn’t spend much time with your program. After fixing the graphics
glitch, I haven’t been able to make the program do anything. Since
there is no mouse support, I wasn’t inclined to explore it. On
Android, none of my touches did anything, but I don’t know what it’s
supposed to do.
I suspect you may still have a few bugs to fix. However since you said
your program worked fine before, I think you’ll be able to solve these
bugs reasonably quickly. Cross-platform can be a double edged sword.
It’s a little more effort to do, but it can also help reveal bugs
quickly.
Justadot, before Eric fixed your code, i fixed your code, making it to run in Linux. I don’t know where did your code run before, but in Linux it didn’t compile and run at all. Eric took your code that were fixed by me, and further fixed bugs in it.
it compiles and runs perfectly fine in windows 7 , and using devc++ / mingw? I don’t understand how it can be so many bugs while it works perfectly fine for me on my laptop ?? I tested every way possible etc. no problems encountered.
I just want this to run on android at this point.
Eric: There’s a start button in the top left , that should load the next screen at least. I know the screen background and buttons are too dark and barely visible , I was going to change that still. Hopefully it works, I hope to be able to test it myself soon as well.
The button isn’t responding when I try it.
I didn’t have time to debug it because I was debugging another
problem. You were using both SDL_GetWindowSurface() and the
SDL_Renderer APIs. You are not allowed to mix these. Windows was
letting you get away with this, but this was one of the original
reasons why Android and Mac originally failed. When I fixed Android
and Mac, I ended up breaking Windows (I had not tested it again until
now.) I think you want SDL_Renderer, so I removed GetWindowSurface and
code that used it. (pushed to my Github). You should review those
changes because I don’t really know your full intent in those
sections. But the good news is that I’m getting the exact same thing
now on Windows, Mac, and Android.
Sadly I’m still up as well , can’t sleep with all this. Maybe it’s because the code is testing for touch events tfinger , I did not code this for mouse motion/up/down ?
You might consider putting back the mouse code and maybe even
commenting out the finger code. As I said earlier, SDL automatically
applies mouse code to single finger touches. So if you get the mouse
working again, the touch code just might work by itself.
But you should get some sleep. Programming bugs are the norm in this
industry and everybody knows this takes time. Things can make more
sense after rest and a fresh perspective. It seems like you have
plenty of time and you aren’t under some contractual obligation to
ship immediately. So relax and breathe. You’ll get it done eventually.
Eric. I tried generating a new project in Blurrr by selecting BlurrGenProj.exe and
the create new project button. But when I type a project name and everything is selected the generate project button is still greyed out?
I simply downloaded and installed Visual studio. Android Studio was already installed.
So what could be the problem?
Okay, I think that means you still need to install Visual Studio’s C/C++ support. In Visual Studio, choose File -> New -> Project -> C++ and you will be prompted to install the necessary components.
I think this video walks through it.
Once you have it installed, in BlurrrGenProj, hit the “Purge” button and then “Generate” to re-try.
I cannot make this code changed by Eric to work with NDK. Blurr appears in the source code, trying to find the path to resources. Why is that necessary when the resources path in these projects is always the same. Removed that, but now it likely crashes because it cannot load the resources.
I tried to build the example of my kiss_sdl widget toolkit with the exact same project, c++11 and everything, just copied the assets and source files from my toolkit’s android branch, changed the sources lists in Android.mk and Makefile, and it did run just fine. I don’t know what’s the difference, and why when running the justadot code, no window appears at all. I compiled and run the exact same code, modified by Eric, in Linux, and it did work, that is, window appears, and it also played some kind of sound, but i didn’t see anything else working there. I understand that Eric solved the problem why the window does not appear in justadot app on Android, but the exact same code doesn’t display any window when built with NDK tools, while another code works completely with the same exact configuration. I don’t know why is that and what is different in justadot code.
The only difference from the code modified by Eric, was that i used SDL_mixer, not ALmixer, and my toolkit’s example uses no sound, so maybe SDL_mixer with smpeg2 doesn’t work in Android and causes it to crash. Just a conjecture, because this is the only difference i see so far.
It looks to me now that NDK tools work perfectly, the problem is not in that.
With the same NDK configuration, my toolkit example did run perfectly, but it does not use SDL_mixer. The SDL_mixer playmus demo built but exited immediately when playing mp3 file. The justadot app modified by Eric did run in Linux and did show a window when all sound playing was removed (including the SDL_mixer header), but did not show a window in Android. I may test it further if anyone is still interested in building that app with NDK tools, otherwise not.
So first, I really hope this means you got the Windows part working.
As for Android:
If you downloaded the NDK separately, then set Blurrr’s NDK path to
that. The correct directory should contain files like "ndk-build.cmd"
and folders like “toolchain”.
If you installed the NDK through Android Studio via going to the
Configure (on the launch screen) -> “SDK Manager” and then going to
the SDK Tools tab, and checking/installing “NDK”, Android likes to put
it inside the SDK directory.
So the SDK would be something like:
C:\Users<username>\AppData\Local\Android\sdk
And the NDK would be
C:\Users<username>\AppData\Local\Android\sdk\ndk-bundle
One note, Android recently changed the NDK slightly and broke Blurrr’s
little green checkmark for the NDK. You may still see the warning
badge instead. This will not prevent Blurrr from working though. Just
be very sure you are pointing at the right directory (e.g. the one
with ndk-build.cmd and toolchain).
Please install that and then Generate Project should create an Android
Studio project in your New Project’s BUILD/Android directory, e.g.
C:\TEMP\MySDLProject\BUILD\Android
In Android Studio, select Open an existing Android Studio project. And
go to that directory and open it.
At this point, you should be able to go to the Build and Run menus to
build and run the project.