• Dear Cerberus X User!

    As we prepare to transition the forum ownership from Mike to Phil (TripleHead GmbH), we need your explicit consent to transfer your user data in accordance with our amended Terms and Rules in order to be compliant with data protection laws.

    Important: If you accept the amended Terms and Rules, you agree to the transfer of your user data to the future forum owner!

    Please read the new Terms and Rules below, check the box to agree, and click "Accept" to continue enjoying your Cerberus X Forum experience. The deadline for consent is April 5, 2024.

    Do not accept the amended Terms and Rules if you do not wish your personal data to be transferred to the future forum owner!

    Accepting ensures:

    - Continued access to your account with a short break for the actual transfer.

    - Retention of your data under the same terms.

    Without consent:

    - You don't have further access to your forum user account.

    - Your account and personal data will be deleted after April 5, 2024.

    - Public posts remain, but usernames indicating real identity will be anonymized. If you disagree with a fictitious name you have the option to contact us so we can find a name that is acceptable to you.

    We hope to keep you in our community and see you on the forum soon!

    All the best

    Your Cerberus X Team

News Cerberus X v2017-07-21 released!

Martin

Well-known member
CX Code Contributor
3rd Party Module Dev
Tutorial Author
3rd Party Tool Dev
Joined
Jun 19, 2017
Messages
344
Hey there,

we're proud to announce another release of Cerberus X! This is mainly a bug fix release which fixes that package identifier issue with Android.

There are now three different downloads, one zip for Windows, one pkg for MacOS and one tar.gz for Linux. ;)

You can download it here: https://krautapps.itch.io/cerberus-x
GitHub: https://github.com/KrautApps/cerberus

Working 64bit MinGW (for desktop target): https://www.cerberus-x.com/downloads/tdm-gcc-64.zip

It comes with precompiled binaries for Windows, MacOS and Linux.

FIX: [ANDROID] fixed Android build error when using different package name

Have fun and please let us know any issues.

Known issues:
  • GLFW Visual Studio doesn't work yet, please use MinGW 64 bit version instead.
 
Last edited:
Another version in so short time Nice Martin !!! :D

I'll made some tests for MacOS :)
Can I post the problem here or you prefer that i put the errors in bug's topic ?
 
As you wish. I'd prefer the bug section but as long this is more kind of a "family" here I'm fine with both. ;)

It's just a bug fix release but this package identifier thing was a blocker so I think it was worth a release.
 
GLFW Visual Studio doesn't work yet, please use MinGW 64 bit version instead.
At a guess I would say that it would be down to the VS solution files need to be updated. Question is, which is the most popular or used version currently?
 
Well it should be not a big deal to make it work, just had no time yet. I'm going to use VS 2017 community edition probably. Have already done some adaptions, currently it fails because of wrong VS tools version.
 
Did you start with a clean solution or upgraded one of the templates? VS upgrade tools have been known to **** up and cause head-aches to put things back right. Also check that the msbuild path in the winnt.config.txt is correct for the version.
 
Probably a mixture of those things, yes. Will look into this next.
 
Thanks a lot Martin!

Can you please help me with an Android issue:

1. Open \examples\mojo\charlie\blobmonster\blobmonster.cxs
2. Compile and run on Android.
3. Change \examples\mojo\charlie\blobmonster\blobmonster.buildv2017-07-21\android\config.cxs

#ANDROID_APP_PACKAGE="com.monster.game"

4. Compile and run:

Android shows in the logs:

07-22 00:00:27.282 28777 28777 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #12: Binary XML file line #12: Error inflating class com.cerberus.cerberusgame.CerberusGame$GameView
07-22 00:00:27.282 28777 28777 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #12: Error inflating class com.cerberus.cerberusgame.CerberusGame$GameView

Now if I check:

\examples\mojo\charlie\blobmonster\blobmonster.buildv2017-07-21\android\app\src\main\res\layout\main.xml

It has com.cerberus.cerberusgame.CerberusGame$GameView for the view class, isn't it supposed to be the new package name instead?

Sorry for a wrong report as an android newbie I am!
 
@Martin: I would have to say that MS have taken a leaf out of Apples cook-book and changed things around. Looks like each edition of VS will now follow this path format.
%PROGRAMFILES% (x86)\Microsoft Visual Studio\year\edition\MSBuild\version\Bin

So the community edition of VS 2017 would be
C:\Program File (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin

EDIT: OK. This looks useful.
And so could this, as it show how program above in the like works.
 
Last edited:
:confused::mad:o_O:D Oh well... thanks muruba, will look into it. Nothing wrong with your report! :)
 
Forgot something, uh dear...

Could you please try to edit this file: targets/android/template/gradletemplate/app/src/main/res/layout/main.xml

In line 12 replace
Code:
<view class="com.cerberus.cerberusgame.CerberusGame$GameView"

with
Code:
<view class="${ANDROID_APP_PACKAGE}.CerberusGame$GameView"

This should fix it but I cannot try atm. Could you please? Oh and delete that build directory of course. Thanks!

edit: That worked on my side.
 
Yes, that does the magic, thanks heaps!!! :)
 
Now that I'm not running any applications that are chewing up memory and CPU band-width. I've had a look at the Visual Studio templates.
The normal glfw target works, but there undefined references with the glfw angle target that need resolving.
GLFW3 solution.

I wonder what sort of a job it would be to implement vswhere into transscc.
 
Nice, thanks will take a look! :)

I haven't updated that glfw angle target yet, still don't exactly know what it's for at all.
 
Angle if I recall is a translation layer for converting OpenGL ES api calls into DirectX api calls.
https://github.com/Microsoft/angle

I also think that there is a version by google.

EDIT: There's a wiki on it. And I'v just looked at googles.

The official web.

EDIT2: Just read that ANGLE may not VS2017 compatible yet, but that just maybe building it.
 
Last edited:
Martin,
I'm using Bouncing Alien to validate targets:
- Android : build and run in mobile device
- iOS : build and run in Simulator
- GLFW : build and run in MacOS

Problem that I got : I need to change permission in the examples directory to compile :D

I'll try all my games now, in the first release I got some problems .. so I'll try again with this version and report if I got problems

Thanks again for working in our monkey language ;)
 
Last edited:
I've replaced the binaries with working ones, so every download from now on includes this tiny fix.
 
I am trying to compile an admob sample on my macmini and getting this exceptions, can you please advice mac-gurus, I am a mac newbie.

/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:4364:9: fatal error: 'GADBannerView.h' file not found

TRANS cerberus compiler V2017-07-21
Parsing...
Semanting...
Translating...
Building...
Build settings from command line:
SDKROOT = iphonesimulator10.3
=== BUILD TARGET CerberusGame OF PROJECT CerberusGame WITH CONFIGURATION Debug ===
Check dependencies
Write auxiliary files
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame-own-target-headers.hmap
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame.hmap
/bin/mkdir -p /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/Objects-normal/x86_64
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/Objects-normal/x86_64/CerberusGame.LinkFileList
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame-generated-files.hmap
/bin/mkdir -p /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/SharedPrecompiledHeaders/CerberusGame_Prefix-ciavipmmeyhtrcbvgeptkfrrwifm
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/SharedPrecompiledHeaders/CerberusGame_Prefix-ciavipmmeyhtrcbvgeptkfrrwifm/CerberusGame_Prefix.pch.pch.hash-criteria
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame-all-non-framework-target-headers.hmap
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame-project-headers.hmap
write-file /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame-all-target-headers.hmap
Create product structure
/bin/mkdir -p /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/Debug-iphonesimulator/CerberusGame.app
ProcessProductPackaging "" build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame.app.xcent
cd /Users/user/Downloads/admobtest.buildv2017-07-21/ios
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Entitlements:
{
"application-identifier" = "FAKETEAMID.com.yourcompany.CerberusGame";
"keychain-access-groups" = (
"FAKETEAMID.com.yourcompany.CerberusGame"
);
}
builtin-productPackagingUtility -entitlements -format xml -o /Users/user/Downloads/admobtest.buildv2017-07-21/ios/build/CerberusGame.build/Debug-iphonesimulator/CerberusGame.build/CerberusGame.app.xcent
CpResource data build/Debug-iphonesimulator/CerberusGame.app/data
cd /Users/user/Downloads/admobtest.buildv2017-07-21/ios
.........]
return mach_absolute_time()*timeInfo.numer/timeInfo.denom;
~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:162:27: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
return gc_object_alloc( size );
~~~~~~~~~~~~~~~ ^~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:533:97: warning: implicit conversion loses integer precision: 'long long' to 'int' [-Wshorten-64-to-32]
gc_mark_queued( (long long)(gc_new_bytes)*(gc_alloced_bytes-gc_new_bytes)/(CFG_CPP_GC_TRIGGER)+gc_new_bytes );
~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:794:44: warning: implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
String( NSString *nsstr ):rep( Rep::alloc([nsstr length]) ){
~~~ ^~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:1138:37: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
return CString<char>( &buf[0],buf.size() );
~~~~~~~ ~~~~^~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:1180:10: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int n=fread( tmp,1,4096,fp );
~ ^~~~~~~~~~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:1184:49: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
return buf.size() ? String::Load( &buf[0],buf.size() ) : String();
~~~~~~ ~~~~^~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:1243:49: warning: implicit conversion loses integer precision: 'size_type' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
return chars.size() ? String( &chars[0],chars.size() ) : String();
~~~~~~ ~~~~~~^~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:1311:21: warning: implicit conversion loses integer precision: 'long' to 'int' [-Wshorten-64-to-32]
return (char*)this-(char*)obj;
~~~~~~ ~~~~~~~~~~~^~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:2016:9: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int n=fread( p,1,BUF_SZ,f );
~ ^~~~~~~~~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:2501:13: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int iwidth=CGImageGetWidth( cgimage );
~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:2502:14: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int iheight=CGImageGetHeight( cgimage );
~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:2567:30: warning: implicit conversion loses integer precision: 'long long' to 'UInt32' (aka 'unsigned int') [-Wshorten-64-to-32]
UInt32 dataSize=fileLen * outputFormat.mBytesPerFrame;
~~~~~~~~ ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:2582:15: warning: implicit conversion loses integer precision: 'SInt64' (aka 'long long') to 'int' [-Wshorten-64-to-32]
*length=fileLen;
~^~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:2992:8: warning: implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
int n=[str length];
~ ^~~~~~~~~~~~
/Users/user/Downloads/admobtest.buildv2017-07-21/ios/main.mm:4364:9: fatal error: 'GADBannerView.h' file not found
#import "GADBannerView.h"
^
15 warnings and 1 error generated.
TRANS FAILED: Error executing 'xcodebuild -configuration Debug -sdk iphonesimulator', return code=16640
 
Thanks, will look into it!
 
Will be fixed in the next version. I'm going to update Admob to 7.0 for iOS. Works already locally...

iosadmob.png
 
Back
Top Bottom