Martin's dev log

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Hey there,

just want to let you know what I am currently working on.

So first steps are already done. My first goal was to somehow "rebrand" Monkey X to Cerberus X. This includes recompiling of almost everything. I did this not only because I wanted to but especially because it's quite a nice first task to dig into everything how things work internally. I have to admit, Mark did a fantastic job.

Of course I had quite some "fun" with Qt5.5 and especially with mingw in its 64 bit version...

Cerberus will use the file extension .cxs
I've changed Ted and trans that way that they accept both .cxs and .monkey to achieve full downwards compatibility. So your projects should (!) compile without any further changes.

So for now I have Cerberus compiling current monkey projects for HTML5. GLFW3 for Windows should work too (in 64bit!) using mingw. The visual studio compiler works also, I had at least no issues here.

Next steps will be to make all targets work again with my changes, change some minor things (e.g. launcher) and especially get everything working cross platform (Windows, Mac and probably Linux).

Have a fantastic weekend! I'm glad you're all here already. :)
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Sooo.... after having some "joy" with the internals of Monk...erus I made it that Ted now accepts both .cxs and .monkey and trans compiles every mix of both endings. Sounds not to hard to achieve but actually was quite some troublesome experience. Switching to cxs alone would have worked instantly, but I wanted to keep it compatible with existing code so your old projects *should* compile as usual. So feel free to use any extension you prefer, be it the good ol' .monkey or the new incredible fresh .cxs ;)

Ted is now running under Qt5.5 which adds quite some binary size but I guess that's ok.

I've installed MacOS Sierra and Ubuntu 16 on VMWare to build the binaries there as well, so we're getting closer to our first binary build of Cerberus X.
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Windows and MacOS are working roughly fine now. Currently I'm going through all targets to see that everything builds fine under Windows and Mac. Most probably we will provide a first binary within the next week for Windows and Mac. Linux will follow.
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Apparently GLFW is broken under MacOS Sierra. But this seems to be true for the original Monkey X as well. I can build but the app doesn't start. Looks like there is a bug in GLFW which has been fixed already but I have to update GLFW.

Beside that, almost everything works fine now. A first binary will be available soon to have a starting point and finally start with the real work. I've learned quite a lot about the internas which will be quite useful for the coming tasks...
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Ok. GLFW was quite... old. I've updated to GLFW 3.3 and got it to work with Windows after quite some linker issues. YAY! Now *fingers crossed* to make it work with the latest Mac OS...
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Good news. Android Gradle works already! :) Still have to sort out some stuff and check more complex examples. This will include Admob Interstitials as well!

Min SDK version will be 14 then which is Android 4.0 Jelly Bean, but I guess this is ok?
 

York

New Member
Patreon Bronze
Joined
Jul 5, 2017
Location
Germany
It sounds good that Android gradle work. I think Android 4.0 is ok. Active user of my apps , who are using < Android 4.0 are less than 1% .
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Yeah I tend to agree. It will be possible to use lower API levels but Admob requires at least API 14.
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Haha no way. I even might add a swift target for iOS as I never really got warm with Obj-C. :D

BTW: Admob works too! I currently work on the interstitial ads and then in app purchase stuff. After that I'll test everything under MacOS and probably add that missing Linux package as well at some point.
 

dawlane

Active Member
CX Code Contributor
Joined
Jun 21, 2017
Hi Martin
Will the Flash target still work now that Ant has been retired, or have you included the GradleFx plugin to the mix?
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Oh boy, now this libcurl is some "fun". I think I almost have it at least for Windows GLFW using HTTPS but there will be 3 DLLs to ship with. I cannot get libcurl static linked atm...

Time: Tue, 25 Jul 17 13:08:08 +0000
Source ip: xxx.xxx.xxx.xxx

Headers (Some may be inserted by server)
HTTPS = on
SSL_TLS_SNI = posttestserver.com
SSL_SERVER_S_DN_CN = www.posttestserver.com
SSL_SERVER_I_DN_C = US
SSL_SERVER_I_DN_O = GeoTrust Inc.
SSL_SERVER_I_DN_CN = RapidSSL SHA256 CA
SSL_SERVER_SAN_DNS_0 = www.posttestserver.com
SSL_SERVER_SAN_DNS_1 = posttestserver.com
SSL_VERSION_INTERFACE = mod_ssl/2.4.18
SSL_VERSION_LIBRARY = OpenSSL/1.0.2g
SSL_PROTOCOL = TLSv1.2
SSL_SECURE_RENEG = true
SSL_COMPRESS_METHOD = NULL
SSL_CIPHER = ECDHE-RSA-AES256-GCM-SHA384
SSL_CIPHER_EXPORT = false
SSL_CIPHER_USEKEYSIZE = 256
SSL_CIPHER_ALGKEYSIZE = 256
SSL_CLIENT_VERIFY = NONE
SSL_SERVER_M_VERSION = 3
SSL_SERVER_M_SERIAL = 0F8DADD982A56BBC2DEFEE56675C6716
SSL_SERVER_V_START = Apr 26 00:00:00 2017 GMT
SSL_SERVER_V_END = Apr 25 23:59:59 2020 GMT
SSL_SERVER_S_DN = CN=www.posttestserver.com
SSL_SERVER_I_DN = CN=RapidSSL SHA256 CA,O=GeoTrust Inc.,C=US
SSL_SERVER_A_KEY = rsaEncryption
SSL_SERVER_A_SIG = sha256WithRSAEncryption
SSL_SESSION_ID = 40a9f77a4708b0956d2be4249da91babdbe7caf0b00af374420ab668cb35c31b
SSL_SESSION_RESUMED = Initial
HTTP_HOST = posttestserver.com
HTTP_ACCEPT = */*
CONTENT_LENGTH = 1
CONTENT_TYPE = application/x-www-form-urlencoded
REMOTE_ADDR = xxx.xxx.xxx.xxx
DOCUMENT_ROOT = /var/www/html
REQUEST_SCHEME = https
CONTEXT_PREFIX =
CONTEXT_DOCUMENT_ROOT = /var/www/html
REMOTE_PORT = 24538
GATEWAY_INTERFACE = CGI/1.1
REQUEST_METHOD = POST
QUERY_STRING =
REQUEST_URI = /post.php
PHP_SELF = /post.php
REQUEST_TIME_FLOAT = 1500988088.923
REQUEST_TIME = 1500988088

Post Params:
key: 'H' value: ''
Empty post body.

Upload contains PUT data:
H
 

muruba

Active Member
CX Code Contributor
3rd Party Module Dev
Patreon Silver
Joined
Jul 5, 2017
That's pretty cool!! Is there a way to allow self-signed certs or broken certs?
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
At the moment I've just set it that way it will accept them. So it won't complain as long as it is https at all. ;)

These are the codelines for it:
Code:
curl_easy_setopt( _curl, CURLOPT_SSL_VERIFYPEER, 0L );
curl_easy_setopt( _curl, CURLOPT_SSL_VERIFYHOST, 0L );
I could make it optional of course because doing it that way is less "secure".
 

Martin

Administrator
Joined
Jun 19, 2017
Location
Germany
Woah XCode is kind of "fun". Have moved to latest Admob SDK for iOS and can finally say, that it works again including interstitial ads. Will continue with https for GLFW on Mac now. There will be a new release next week very likely.
 
Top Bottom