Jump to content

  • Log In with Google      Sign In   
  • Create Account

Braden M

Member Since 29 Nov 2012
Offline Last Active Apr 02 2013 10:32 AM

Posts I've Made

In Topic: Marmalade: Angelscript runs fine on x86, crashes on ARM

19 December 2012 - 01:58 PM

Hi Andreas, I just found two more places where fopen_s is still causing that error even with the latest revision (if I omit the preinclude.h file) - both in add_ons:

scriptfile/scriptfile.cpp (line 320)
scripthelper/scripthelper.cpp (line 169)

In Topic: Problem with POD class ref array on AngelScript 2.25.2

07 December 2012 - 04:59 PM

Wow, never mind. Solved my own problem just after I posted! I had to swap GarbageCollect() and DiscardModule() at the end, and now it all works. I can't see how to delete this thread though...

In Topic: Marmalade: Angelscript runs fine on x86, crashes on ARM

06 December 2012 - 05:05 PM

Thanks Andreas! I really appreciate how responsive you are with fixes to AngelScript. I just tried out r1490 and it works perfectly as far as I can tell. I've put the new MKB in a separate branch for now, and I'll update "master" once 2.26 is released. The only "tweak" that I had to leave in was a definition of "fopen_s" that I put in preinclude.h, because Marmalade's standard library doesn't have that function available, even in Visual Studio.

Also, FYI, there are two compiler warnings that come up with Marmalade's ARM GCC4.4 (arm-none-eabi-g++); the first one looks like it could possibly affect bytecode output so I'll mention it in case you weren't aware of it.

angelscript/source/as_bytecode.cpp: In member function 'void asCByteCode::DebugOutput(const char*, asCScriptEngine*, asCScriptFunction*)':
angelscript/source/as_bytecode.cpp:2114: warning: format '%3d' expects type 'int', but argument 3 has type 'long unsigned int'

add_on/scripthelper/scripthelper.cpp: In function 'int WriteConfigToFile(asIScriptEngine*, const char*)':
add_on/scripthelper/scripthelper.cpp:194: warning: format '%X' expects type 'unsigned int', but argument 3 has type 'asDWORD'
The second warning occurs a total of ten times at different lines in scripthelper.cpp.

In Topic: Marmalade: Angelscript runs fine on x86, crashes on ARM

04 December 2012 - 07:41 PM

That is an excellent idea: You could use (I3D_ARCH_X86 || I3D_ARCH_ARM) as a test for the Marmalade platform. It would be nice to remove the predefines from the MKB makefile if possible. I found out about these defines from the Marmalade forum; they are not in the documentation, although they have been around for a long time. (Unfortunately there are quite a few of these little Marmalade "tricks" that are completely undocumented except for the occasional insightful forum post from Marmalade staff.)

Edit: It's worth mentioning that Marmalade also supports other platforms (although they're not nearly as popular as x86 and ARM); their preprocessor definitions are: I3D_ARCH_AMD64, I3D_ARCH_MIPS, I3D_ARCH_PS3, I3D_ARCH_X360, and I3D_ARCH_PSP. I've never worked with any of those other platforms. The full list of symbols can be seen in the "temp_defines_debug.h" file that Marmalade's makefile_builder creates during the build process.

Edit 2: Upon looking at that file further, I see that you could also detect the Marmalade platform by looking for "IW_SDK", "__S3E__", or any number of other definitions. Check out this copy of an example temp_defines_debug.h file to see.

In Topic: Marmalade: Angelscript runs fine on x86, crashes on ARM

04 December 2012 - 05:18 PM

Hi everyone,

I want to say a big thank you to all of you for your hard work in getting AngelScript to work on Marmalade. Unaware of UltimateWalrus's latest posts, I spent some time last week integrating AngelScript into Marmalade, and have put together yet another integration of AngelScript and Marmalade: angelscript-marmalade project on GitHub.

It seems to be working well on MSVC/x86, VS/GCC-ARM, XCode/Clang/x86, XCode/GCC/x86, XCode/ARM, and Scons/ARM. I've included portable binaries in the distribution so that it can be used right away. If one does want to [re-]compile it, it should compile easily and run with native calling conventions on Marmalade Windows, Marmalade Mac, or Marmalade ARM. (Although due to the presence of the ".S" files, one line of the MKB must be commented out before it will compile with Visual Studio). I made sure that the AngelScript code is completely unmodified; in fact, if you use the MKB to build the project, it will download the unmodified source upstream code as part of the build process.

I'm just getting started with AngelScript, but everything looks very promising so far. Just wanted share my code and to say thanks Posted Image