Jump to content

  • Log In with Google      Sign In   
  • Create Account

#ActualGrimshaw

Posted 29 March 2013 - 07:27 PM

Hello,

 

My angelscript programs have the ability to draw things on the screen using openGL. This works just fine usually, as the angelscript merely calls regular functions that wrap the openGL themselves.

 

For example, both the C++ and the angelscript have the ability to call void drawQuad(pos, size, color). However, in some builds it fails to work correctly. the exact same function when called from C++ always works and the result is on the screen, but if called from angelscript it fails to draw anything even though the script is executed.

 

Tested platforms:

Windows -> Generic calls -> works

Windows -> Native calls -> works

Android -> Generic calls -> works

Android -> Native calls -> fails

Linux -> Native calls -> fails

 

this is all the data I have so far... It is very weird, but i double-tested it and it is a reality. I can even call it three times: c++ then angelscript then c++, and only the first and last are effectively drawn.

 

If you have any idea of what this may be, i appreciate it.

 

EDIT: It seems to be another weird inexplicable bug with the registration of my Color type. I checked and when it comes from scripts, it comes with undefined behavior (always trash values). Must be some wicked issue with the copy constructor or something, i ll try to resolve it tomorrow and post about it then)


#1Grimshaw

Posted 29 March 2013 - 07:14 PM

Hello,

 

My angelscript programs have the ability to draw things on the screen using openGL. This works just fine usually, as the angelscript merely calls regular functions that wrap the openGL themselves.

 

For example, both the C++ and the angelscript have the ability to call void drawQuad(pos, size, color). However, in some builds it fails to work correctly. the exact same function when called from C++ always works and the result is on the screen, but if called from angelscript it fails to draw anything even though the script is executed.

 

Tested platforms:

Windows -> Generic calls -> works

Windows -> Native calls -> works

Android -> Generic calls -> works

Android -> Native calls -> fails

Linux -> Native calls -> fails

 

this is all the data I have so far... It is very weird, but i double-tested it and it is a reality. I can even call it three times: c++ then angelscript then c++, and only the first and last are effectively drawn.

 

If you have any idea of what this may be, i appreciate it.

 


PARTNERS