Avoid a situation where all code is thrown in the Container directory simply because there is no other place for it.
Separate code into speciffic headers to make headers more intuitive.
Allows the user of iterators in a constexpr context. Also moves them into their dedicated header so you don't have to include VectorBase.h to get access to them which may not be that intuitive.
[ 19%] Building CXX object Source/ThirdParty/SLikeNet/CMakeFiles/SLikeNet.dir/Source/src/BitStream.cpp.o
In file included from /home/romain/Projects/Urho3D/Source/ThirdParty/SLikeNet/Source/src/BitStream.cpp:48:
/home/romain/Projects/Urho3D/Source/ThirdParty/SLikeNet/Source/include/slikenet/linux_adapter.h:17:10: fatal error: 'winsock2.h' file not found
#include "winsock2.h"
^~~~~~~~~~~~
1 error generated.
[ 53%] Building CXX object Source/Urho3D/CMakeFiles/Urho3D.dir/Core/ProcessUtils.cpp.o
In file included from /home/romain/Projects/Urho3D/Source/Urho3D/Core/ProcessUtils.cpp:41:
In file included from /home/romain/Projects/Urho3D/build/include/Urho3D/ThirdParty/LibCpuId/libcpuid.h:88:
/home/romain/Projects/Urho3D/build/include/Urho3D/ThirdParty/LibCpuId/libcpuid_types.h:61:29: error: typedef redefinition with different types ('long long' vs '__int64_t' (aka 'long'))
typedef signed long long int64_t;
^
/usr/include/sys/_stdint.h:51:20: note: previous definition is here
typedef __int64_t int64_t;
^
In file included from /home/romain/Projects/Urho3D/Source/Urho3D/Core/ProcessUtils.cpp:41:
In file included from /home/romain/Projects/Urho3D/build/include/Urho3D/ThirdParty/LibCpuId/libcpuid.h:88:
/home/romain/Projects/Urho3D/build/include/Urho3D/ThirdParty/LibCpuId/libcpuid_types.h:62:29: error: typedef redefinition with different types
('unsigned long long' vs '__uint64_t' (aka 'unsigned long'))
typedef unsigned long long uint64_t;
^
/usr/include/sys/endian.h:54:20: note: previous definition is here
typedef __uint64_t uint64_t;
^
2 errors generated.
[ci package]
Commit: b67cec1a52
Message: Fix build with FreeBSD clang version 6.0.1 (#2458)
Building CXX object Source/ThirdParty/StanHull/CMakeFiles/StanHull.dir/hull.cpp.o
/home/romain/Projects/Urho3D/Source/ThirdParty/StanHull/hull.cpp:2590:28: error: cannot initialize return object of type 'int' with an rvalue of type 'nullptr_t'
if(verts_count <4) return NULL;
^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL nullptr
^~~~~~~
1 error generated.
[ 12%] Building CXX object Source/ThirdParty/StanHull/CMakeFiles/StanHull.dir/hull.cpp.o
/home/romain/Projects/Urho3D/Source/ThirdParty/StanHull/hull.cpp:2590:28: error: cannot initialize return object of type 'int' with an rvalue of type 'nullptr_t'
if(verts_count <4) return NULL;
^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL nullptr
^~~~~~~
1 error generated.
[ 19%] Building CXX object Source/ThirdParty/SLikeNet/CMakeFiles/SLikeNet.dir/Source/src/RakString.cpp.o
/home/romain/Projects/Urho3D/Source/ThirdParty/SLikeNet/Source/src/RakString.cpp:1392:17: error: no matching function for call to 'vsnprintf_s'
int numChars = vsnprintf_s(stackBuff, 511, str, ap);
^~~~~~~~~~~
/home/romain/Projects/Urho3D/Source/ThirdParty/SLikeNet/Source/include/slikenet/linux_adapter.h:42:5: note: candidate function not viable: requires 5 arguments, but 4 were provided
int vsnprintf_s(char *buffer, size_t sizeOfBuffer, size_t count, const char *format, va_list argptr);
1c55f0bf23 Squash angelscript.master-modified-for-urho3d.
REVERT: 76c92e1a7e Another attempt to merge upstream changes with local ones.
REVERT: 4407e00f81 Adapt to AngelScript 2.33.0 WIP.
REVERT: 2d1dcc5ace Travis CI: bump copyright to 2018. [cache clear]
REVERT: 632c3f505a Add macro for checking the compiler's C++11 type trait templates. Modify angelscript.h header file to use our custom compiler define based on the check result to cater for pre-standard Clang compiler toolchain.
REVERT: a8c35e00c4 Remove "execute" permission in the source files. [ci skip]
REVERT: faa58bc4f1 Allow possibility of building Urho3D without C++ exceptions feature. Disallow Android build to turn off C++ RTTI feature.
REVERT: 380964ffd8 Unconditionally disable the x86 syscall prologs / epilogs on GCC, since the assembler error related to cfi instructions could also happen on newer versions.
REVERT: 4944524d01 Old GCC version check in as_callfunc_x86.cpp for CI.
REVERT: 73aac66775 Restore Urho3D tweaks to as_config.h and earlier ifdef check for C++11 features.
REVERT: d0dd6f54dc Restore earlier ifdef for AS type traits due to some Android CI builds failing.
REVERT: 53bf0c68b4 Clang internal error workaround to as_callfunc_x86.cpp
REVERT: 882e776ad1 Travis CI: bump copyright to 2017. [ccache clear]
REVERT: b41f490557 Initial work to update to AngelScript 2.31.2.
REVERT: 4619fb1240 Move the bits into places.
REVERT: 3550aa1f60 - fixed a bug with symbol lookup introduced with the refactoring
REVERT: 2e3a756923 - fixed a bug with symbol lookup introduced with the refactoring
REVERT: f86ebb43fc - Continued the refactoring of symbol lookup so both function calls and variable access use the same logic - Virtual property accessors must not have the same name as real property or function in the same scope
REVERT: 7265999643 - Refactored how he compiler does symbol lookups to better handle namespace hierarchies and child types. - The array's and string's length property accessor has been renamed to 'size' to avoid conflict with the length() method
REVERT: 270856ff08 The copy constructor of script classes are now used properly by the compiler
REVERT: af2c56e2ad - Fixed problem with use of unsafe references and global variables
REVERT: c9e4bb6040 - When unsafe references is allowed the stream operator (<<) can now be implemented on value types with correct behaviour for chained expressions - The asBC_REFCPY and asBC_RefCpyV instructions can now be used with value types too
REVERT: 0aa30f092b Fixed compiler error in as_callfunc_x86.cpp for gnuc/mingw when compiling with optimizations
REVERT: 7707e9a22c CScriptAny now supports forwarding gc enum callbacks to value types with gc behaviour
REVERT: c598c98ad0 CScriptGrid now support forwarding gc enum callbacks to value types with gc behaviour
REVERT: d0a44858e4 Included SetCircularRefDetectedCallback to allow application developers to easier identify the origin of circular references
REVERT: 2fea402a22 Fixed a bug when loading bytecode having identical shared functions in different namespaces
REVERT: bf9480602b Fixed problem in compiler that didn't release a temporary variable when passing anonymous object to function expecting ?&in
REVERT: 0a32333cf9 - AssignScriptObject will now set a script exception for ref types if asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is used - Initialization lists will implicitly assume objects by handle if asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is used
REVERT: 1ef192e4cc Passing a string literal to function expecting &out will now give compiler error
REVERT: 5c154f1ccb Fixed bug introduced in previous revision
REVERT: 71d557fd6d Fixed assert failure on call to opCast(?&out) with a non-variable expression
REVERT: fbfc3cbc5c Bytecode with external shared classes with virtual methods failed to load from bytecode
REVERT: 5b97a695c8 The bytecode for external shared entities is no longer saved in the module when inherited from (additional fix when the same function was used in another class too)
REVERT: 3b7448cd61 The bytecode for external shared entities is no longer saved in the module when inherited from
REVERT: 21e4c65fb7 Fixed loading byte code that uses external shared classes in namespace
REVERT: 19cb3e303f Reduced the size of the saved byte code, especially when there are lots of functions without parameters
REVERT: ce6fe5b80b CScriptDictionary now supports forwarding gc enum callbacks to value types with gc behaviour
REVERT: c102cf24a3 Added exception handling to the MSVC8 project
REVERT: 3af7bab9d5 Initializing an ASHANDLE type with overloaded opHndlAssign taking a var type as a handle wasn't done correctly
REVERT: 11600f0d96 - Added the engine methods ForwardGCEnumReferences and ForwardGCReleaseAllReferences - CScriptArray now supports forwarding gc enum callbacks to value types with gc behaviour
REVERT: d787280628 - Registered value types can now register GC behaviours to solve circular references involving these types - CScriptHandle registers the ENUMREFS and RELEASEREFS gc behaviours
REVERT: db6a199d60 CScriptBuilder now supports having multiple meta data blocks for each entity
REVERT: e6da96550a auto declarations now works correctly with implicit handle types
REVERT: 45194c3cf6 Fixed bug when loading bytecode containing shared interfaces with inheritance
REVERT: 6c6f887d26 meta data is now correctly extracted for class methods with decorators
REVERT: f982e0dc2a The correct resolution is now done for types implementing both opCast and opImplConv and the const overloads. The same for opConv and opImplConv
REVERT: 7716d5479f Added MSVC 2017 projects
REVERT: e7368f62a8 Fixed compiler error when both opConv and opImplConv are implemented
REVERT: 6fafba3022 opImplCast with variable type won't be used for non-ref types
REVERT: f8a9eaed89 Fixed memory build-up due to delayed cleanup when discarding modules with shared entities
REVERT: 1649f60370 Further fixes related to template types and namespaces
REVERT: 14b56414db Template types are now properly identified in separate namespaces
REVERT: f0ed5e519f Fixed an error when compiling a class method call as post-op and the name matches a type name
REVERT: e3ca22c65a Saving bytecode for a never returning function would cause assert failure
REVERT: c8095307f3 Class constructors can now be declared with private and protected too
REVERT: 64ab05ba0c Fixed error when saving bytecode for scripts containing interfaces that derives from interfaces
REVERT: 8bd5d40097 weakref now properly identifies different object instance when the address is the same as the previously freed object
REVERT: cbaa500fb3 Fixed compiler error on Linux
REVERT: d0e37c201b Implemented a callback to allow application to translate C++ exceptions thrown by registered functions
REVERT: 8037ae9a51 By default asEP_GENERIC_CALL_MODE is set to use the new behaviour
REVERT: ef7d9a44ad Implemented engine property asEP_GENERIC_CALL_MODE to make the generic calling convention treat handles the same way that the native calling convention do
REVERT: f15dcfcc56 Compiler would crash on compiling ternary operator with anonymous list in one of the conditions
REVERT: aa7d45b60e Template types can now be registered with methods taking parameters as &inout
REVERT: 12c7ab4d6c - Loading bytecode that included use of template value types with a template type as argument crashed - All methods for template instances now get unique functions to show the template instance as the object type
REVERT: 32c4b235ba documentation
REVERT: 18678f1da9 The compiler will now give an error on bitwise operator with floats instead of silently converting to integer
REVERT: 400c54c299 Fixed bug with anonymous initialization lists when used to initialize value type passed by value to function
REVERT: c168f89b4b - Fixed crash in debugger add-on when printing call stack in template function - Documented the script grammar in BNF - Added support for specifying parameter types to lambda functions
REVERT: 80adf56b06 Minor refactoring to reduce some duplicated code for verifying if proceeding token sequence is a type
REVERT: d8e324cad1 Engine error messages now include the symbol name for the error code for easier interpretation
REVERT: c6803b2a0a - Implemented a #pragma callback in the builder add-on - asrun can now turn on debugging with #pragma debug (works the same as -d command arg)
REVERT: 42c35611d6 Fixed incorrect use of setlocale in parseFloat
REVERT: 18fc360ef2 Changed the compiler to do less copies of objects and especially string constants
REVERT: ba12d89ea0 cmake changes
REVERT: 9c93ca0c69 Fixed crash when compiling is null comparison with ASHANDLE object without any opEquals operator
REVERT: 66e4471016 Changed the clean-up of the string factory in the stdstring add-on to avoid crash if the script engine is stored in global singleton
REVERT: 1eb058cf24 - filesystem's changeCurrentPath doesn't modify anything if the new path is invalid - Implemented the methods makeDir, removeDir, deleteFile, copyFile, and move on the filesystem add-on
REVERT: 76aeadd7f3 Updated the cmake project for better usability
REVERT: bfd447ddcb The asrun sample now waits for user input before closing on any error when executed from file explorer on Windows
REVERT: 153b385a1f Preparing the tests for new optimizations
REVERT: 4dd0bd304a Added methods setDate and setTime to datetime add-on and operators to add seconds, compare, and determine difference in seconds
REVERT: d50e15345c Added the methods IsLink and GetSize to filesystem add-on
REVERT: 315252e5d1 Releasing 2.32.0
REVERT: 117d6a49cd Updating the config according to the new way of registering the string factory
REVERT: 833178fcaf RefCastObject was allowing explicit cast from base class to derived class even though the true type was of the base class
REVERT: d582d62bf4 Linux with ARM doesn't support catching c++ exceptions yet
REVERT: 4232d7c0c8 Fixed problem on platforms where char is unsigned by default
REVERT: c13e697abd Removed unnecessary include
REVERT: 0270b00838 Increased initial buffer size in asCString::Format to work around problem on Linux
REVERT: 3f5163be6c Fixed compiler warning
REVERT: 827c153abe Fixed buffer overflow when formatting error message with very long tokens
REVERT: 028f4cf94e Testing long tokens
REVERT: 8b279427dd Corrections for Linux/GNUC
REVERT: 5257e9234e Fixed an incorrect default arg
REVERT: 38fb52292f - Implemented generic calling convention for the CScriptArray::Sort method with callback - Fixed compiler error with AS_NO_COMPILER - Fixed tests for AS_MAX_PORTABILITY
REVERT: 8a5f493719 Documentation
REVERT: 680bde46d5 - Documentation - Removed the option to turn off the new string factory
REVERT: 11f1654449 Documentation
REVERT: a49a9b59ba Documentation
REVERT: 12d2dcae4d Documentation
REVERT: cdc47e3c1f Documentation
REVERT: 00b102d455 - Object properties can also be registered for composite objects - WriteConfigToStream and ConfigEngineFromStream properly handles composite properties - Debugger is capable of inspecting value of composite properties
REVERT: d0896a561c Added support for registering class methods for composite types
REVERT: 737a4dc5c0 Removed deprecated code from previous versions
REVERT: c503c760b9 Changed how string literals are handled by the script engine. Now they are evaluated at compile time and a pointer to the application native string object is stored in the byte code.
REVERT: 6f3df65557 Cleaning up
REVERT: fc9738dc20 Compiler was allowing to pass a const object by reference to a parameter expecting a non-const when using unsafe references
REVERT: 18cc16c9fd Saved byte code with scripts that used child funcdefs couldn't be loaded
REVERT: 699cd4806f Value type without opAssign but with a copy constructor can now be implicitly copied in type conversions
REVERT: af1cd92622 Explicitly creating a copy of a const object to get a non-const handle would give a compiler error
REVERT: 6672b26d13 - Objects that rely on asGetActiveContext during clean-up can now do so even during exception handling - Dictionary storing a const handle now allows retrieving by value
REVERT: c5ad0228ab cleaning up the test code a bit
REVERT: 03d1e39c1e more cleanup in test code
REVERT: 8b44cde9b4 - Both Read and Write in asIBinaryStream can now return an error code to signal failure - fixed compiler warnings in test applications
REVERT: 49f44eaffa Fixed compilation error when the project path included space characters
REVERT: 026b87b5b6 Code clean-up
REVERT: 99d5a7d155 Using bit fields for function traits
REVERT: 4f6b4f38f0 Fixed the asbuild sample config and script files
REVERT: aa74157748 Minor code cleanup
REVERT: 923f709dd3 Fixed assert failure when compiling expression with anonymous initialization list
REVERT: f61dc2abc3 Fixed assert failure while compiling unary minus operator on constant integers smaller than 32 bits.
REVERT: 570966664a Fixed crash in compiler when compiling type conversion with invalid use of named arguments
REVERT: 393403156b Fixed assert failure when compiling comparison expressions with primitives smaller than 32bit
REVERT: f610f7ed14 Fixed compiler error in deprecated IsHandleCompatibleWithObject when using AS_DEPRECATED
REVERT: 3d0c058e3c Handles received by reference is now properly treated when passed to function expecting variant type
REVERT: cb4ddab368 Improved compiler error message when identifier before parenthesis doesn't evaluate to a function
REVERT: 8e58862e53 Fixed bug in compiler that would in complex expressions overwrite a temporary variable before it was used
REVERT: 25ba4116f4 Fixed memory leak in RemoveGlobalProperty as the property wasn't uninitialized before it was removed
REVERT: 87acdae676 Fixed compiler error with address sanitizer on g++ 5
REVERT: 4661e59bb9 Fixed rtti in test_refcast.cpp on gnuc
REVERT: 679528d396 - minor tweaks to datetime.cpp add-on - additional regression tests for garbage collections and native calling convention with multiple inheritance
REVERT: 0c46ee6ae6 Fixed bug where compiler didn't allow default arguments to be name of global functions
REVERT: d36df794c9 The VM now raises an exception when application performs too many nested calls
REVERT: 5c5602222a RegisterFuncdef, RegisterInterface, RegisterTypedef, RegisterEnum now returns the type id on success
REVERT: be39c3c299 Implemented sort in CScriptArray that takes as input a script function to compare two elements
REVERT: bbbcbad25e Template instances now correctly replaces child funcdefs
REVERT: ba3a9d0fe2 Child funcdefs of template instances are now released together with the template instance type rather than at the shutdown of the engine
REVERT: 70e6b2d506 Fixed assert failure when compiling ref cast and multiple matching cast operators are found
REVERT: af747c88ca Improved compiler error messages with anonymous initialization lists
REVERT: 44aaca6cf7 Fixed bug in parser that would produce misleading error message on invalid code
REVERT: 9e22deffe6 Implemented support for typeless anonymous initialization lists
REVERT: 5fc02ac206 WriteConfigToStream now resets the namespace for the string factory
REVERT: 0e892a7395 Saving the noDebugInfo flag in a platform independent way
REVERT: f695abcad2 Fixed a couple of bugs on platforms with 4 byte booleans
REVERT: 07a5b91412 Documentation
REVERT: 1f75a0e039 - Fixed compiler warning in engine - Added proper error messages if external shared entities are not found while loading bytecode
REVERT: c8551eff54 Saved bytecode now takes advantage of shared funcdefs and functions declared as external and includes less bytes
REVERT: 3c31e25425 Saved bytecode now takes advantage of shared enums, classes, and interfaces declared as external and includes less bytes
REVERT: 1d730f3bc7 - ScriptBuilder add-on now support metadata for enums too - ScriptBuilder add-on properly handles 'external' and 'shared' keywords when parsing metadata
REVERT: 33462b453c - funcdefs can now be explicitly declared as shared - shared funcdefs can also be declared as external
REVERT: 404c5739e0 shared functions can also be declared as external
REVERT: 445ebcb958 shared classes can also be declared as external
REVERT: 3cdec2d340 shared interfaces can also be declared as external
REVERT: 9d3c51b1fa Can now declared shared enums as external to explicitly inform that the enum should be included from previously compiled module
REVERT: 47df85f289 Fixed crash when compiling expression using opIndex property accessor without arguments
REVERT: d4475e8b4c Fixed macro redefinition warning
REVERT: b50c53fa2a Fixed problem with calling function expecting @&in where the argument was itself a & argument
REVERT: eb753e5b0a Fixed problem that could happen when saving bytecode that used shared classes
REVERT: bdadb13885 Fixed problem that could happen when saving bytecode that used shared functions
REVERT: d0498a4c96 Fixed problem with SetDefaultNamespace and nested namespaces
REVERT: 3c9642bc3a Fixed compiler error in asFUNCTIONPR on MSVC2017
REVERT: 1195178d0a Handles explicitly initialized with null in declarations no longer produce any bytecode
REVERT: bdb4bb7fbc Fixed the symbol search order so class name with same name as type is properly handled
REVERT: d255499c16 Fixed a problem where the use of a get accessor could incorrectly reuse temporary variables
REVERT: 8a8f0f1e00 documentation
REVERT: 567a01d8e2 Fixed bug in CScriptArray::RemoveRange
REVERT: 7c53d1fd64 Fixed compiler error on MSVC2008 due to missing stdint.h
REVERT: 9216d9b990 Registered funcdefs can now be used by shared script functions
REVERT: 3f06f8244f Releasing 2.31.2
REVERT: f4792b6e28 Fixed problem with temporary variables being overwritten when invoking overloaded dual operators with left-to-right evaluation.
REVERT: 18a798da6b Fixing last remaining CastToObjectType
REVERT: f712d97c3a Fixed crash on GCC 6 due to CastToObjectType accepting this == null
REVERT: 4a735d5f6e Fixed bug in script builder for meta data on functions with default arguments
REVERT: 07ca5fc71c Corrected as_config.h so Linux for 64bit ARM doesn't try to compile as_callfunc_x64_gcc.cpp
REVERT: 07268f51e3 Fixed compiler warnings on Linux with gnuc
REVERT: bf360f5aea Documentation
REVERT: e8ad42295b Changes to meson project files
REVERT: fc6d89e29b opCast(?&out) on null handle now works without raising null pointer exceptions
REVERT: 93df53f93f Fixed assert failure on implicit conversion from 8/16 bit uint constant to integer
REVERT: cfad5f2fe2 Non-assignment dual operators, e.g. +, now evaluates left to right even when using overloaded operators
REVERT: 166f988247 Reduced the number of calls to addref and release that the compiler includes in the bytecode in some cases
REVERT: 4060eda8b9 Fixed problem with registering types using the asOBJ_IMPLICIT_HANDLE flag
REVERT: b695c4ae56 Fixed bug in bytecode serialization when adjusting pointer sizes for calls using asBC_ALLOC
REVERT: 6a0489669d Fixed assert failure when compiling comparison operator on boolean constant
REVERT: d86baba90e Fixed compiler error on Linux with non-x86 64bit platforms, e.g. arm64, mips, and s390x architectures
REVERT: ce8bc5ffc0 Non-pod value types are now allowed to be registered without default constructor, as long as at least one constructor is registered
REVERT: b952c63d6c - Compiler emits warnings if 64bit integer constants cannot fit when implicitly converted to smaller types - Compiler didn't support implicitly converting constant uint64 values to uint32 values - Introduced a new keyword 'if_handle_then_const' that is used to tell template that a handle should be to const object - Compiler now emits an error if an integer constant is larger than 2^64-1
REVERT: 2fe55ac217 Fixed incorrect compiler warning about too large value when assigning negative value to const int8/int16
REVERT: e8d1be8ba8 Fixed assert failure when compiling boolean not operator on constant
REVERT: ac47ea3f53 Fixed bug when compiling get property accessor returning a registered type that is then implicitly converted to another
REVERT: cfe4ccf1c9 Fixed bug in compiler when passing a @& argument to a function
REVERT: 336e95c22c Fixed assert failure in compiler when compiling invalid switch case
REVERT: c7d3977db1 Fixed bug with saved byte code not being portable between 32bit and 64bit platforms when including ChkNullS instruction
REVERT: 802ad4aadf Fixed big endian errors in the compiler related to implicit conversions of constants
REVERT: 671c53885f Introduced a new keyword 'if_handle_then_const' that is used to tell template that a handle should be to const object
REVERT: 3833ce1f8d Fixed crash when discarding modules containing shared funcdefs
REVERT: 4aac321d14 Documentation
REVERT: 992c5de0e8 Registered the opAssign method for weakref to allow value assignments for this type
REVERT: cb1f7925ea CreateScriptObject crashed when called for template value types
REVERT: 83055f97ba Fixed a big endian error in the test framework
REVERT: 871307605c Fixed big endian errors in the compiler related to enum values
REVERT: 7eace17781 Fixed a bug in asrun example where the context was returned to the pool before being unprepared
REVERT: 88f8e7a959 - Fixed asGetTypeTraits on clang 3.8 - Fixed a minor bug in ExecuteString that could cause problem in rare cases
REVERT: 8855bb2afc Fixed compiler warning about missing GNU-stack on gentoo Linux
REVERT: ecfa22dba6 Releasing version 2.31.1.
REVERT: a64afbdbff Fixed some gnuc compiler errors on Linux
REVERT: f5d9c1b19f Fixed compiler error in datetime add-on on gnuc
REVERT: 44900ddd97 Fixed bug when retrieving a bool from a dictionary value stored with an int.
REVERT: 33cda50795 Fixed some big endian compatibility issues
REVERT: 60d282c5d1 Function pointers wasn't properly handled in asIScriptGeneric GetArg and SetReturn methods
REVERT: 32a796e10f Function pointers wasn't properly handled in context's SetArg and GetReturn methods
REVERT: 17f3412a0c Added asEP_HEREDOC_TRIM_MODE to allow application to decide how/if heredoc strings should be trimmed
REVERT: d979819717 Anonymous objects initialized with initialization lists are now parsed as expression terms, rather than expressions by themselves
REVERT: 364a5782de opCast can now be used on types registered with asOBJ_NOHANDLE too without crashing
REVERT: 36ee5711fc Fixed crash with 'auto var = null;' as global variable
REVERT: 30617a4366 Function pointers in initialization lists would crash the application
REVERT: a48749ae3d Returning a function pointer from a registered function wasn't working properly
REVERT: 97f113da6f Incorrect constructor could be used when declaring variable of object type and the initialization expression was of the same type but type had no copy constructor
REVERT: 0fb532d05f Fixed the script array when using AS_USE_STLNAMES
REVERT: 6647cf776a Implemented insertAt for the array add-on that inserts all the elements from another array
REVERT: 0ccaa66fe2 Enum to int32 conversion is now preferred over enum to int of other sizes in function overload resolution
REVERT: ba54cb3cf2 Fixed crash in compiler when compiling 'null();'
REVERT: 64f1710a02 Fixed assert failure in compiler with AS_DEBUG when compiling anonymous function from class method
REVERT: b652b22831 Offset for bytecode ClrVPtr wasn't adjusted correctly when saving/loading bytecode when the referred to variable was a null pointer
REVERT: 9fb010c6c2 Implemented removeRange for the array add-on
REVERT: b1abf6c829 Implemented findFirstOf, findLastOf, findFirstNotOf, findLastNotOf, insert, and erase for the string add-on
REVERT: cd1c9635fc Implemented parseUInt for the string add-on
REVERT: 8f4ccd57f8 Fixed error when discarding a module if a context was still holding a reference to global var
REVERT: 3208626ade Compiler wasn't giving an error on 'void &'
REVERT: bb6d2cdbcd auto var = null; no longer causes a crash in the compiler
REVERT: b14d84bcf1 Expressions like (expr ? null : null) is now compiled correctly
REVERT: 430580a6cf Fixed null pointer access crash in compiler when compiling invalid script with value assign of function pointer
REVERT: b36173c237 The generic calling convention wasn't properly handling funcdefs in arguments or return type
REVERT: 89cd10929b Fixed null pointer access crash in asBC_Thiscall1 when calling opIndex on a null pointer
REVERT: 025552c4de The auxiliary pointer wasn't stored with object methods registered with the asCALL_GENERIC calling convention
REVERT: 45f8d6d50c Fixed compiler bug when passing funcdef by reference to a function
REVERT: ded27ec5fb Fixed assert failure in compiler when attempting to implicitly convert primitive to function pointer
REVERT: be5c1c4028 Releasing 2.31.0
REVERT: 8b09cb6883 Documentation
REVERT: 8fcda61d36 Compiler properly resolves namespace when calling base classes method and the base class is declared in a different namespace
REVERT: 32e64f7604 CScriptBuilder incorrectly replaced /./ in include paths with nothing
REVERT: f32f202ec0 CScriptAny released asITypeInfo that it didn't own when a null handle was stored in it
REVERT: 098eee16c5 Fixed bug in compiler when passing a handle from function argument to copy constructor
REVERT: 401b3ce3a1 Documentation
REVERT: 217cfaa10e Documentation
REVERT: d3eebc9d22 Implemented getInput in the asrun sample to allow it to get user input from standard input
REVERT: 96bf7a4459 Implemented CDateTime as a basic way of getting the time in scripts
REVERT: 550003b0d1 Documentation
REVERT: df4c869dcb Documentation
REVERT: aab1949ccb Documentation
REVERT: 4d0e08e718 Documentation
REVERT: 5916c4f56c Fixed memory leak when passing funcdef to application registered function
REVERT: 5fc10cdb88 Fixed the problems on Linux 32bit when compiling with optimizations
REVERT: 2bfef733a6 Fixed crash on Linux 32bit when application threw C++ exception and library had been compiled with optimizations
REVERT: 1ffa571cac - documentation - Implemented CScriptDictionary::find - Changed CScriptDictionary::Delete to return bool
REVERT: 82216d4a5e Documentation
REVERT: 0b41281657 - Fixed some compiler warnings in the test code - Added a clang configuration for MSVC (though not fully working yet)
REVERT: 424d40e737 Clang is now recognized in angelscript.h as supporting C++11 features
REVERT: c04e6f42ee Modules now keep a reference to funcdefs that are indirectly created by taking the address of function pointers. This way these are saved as declared funcdefs together with the bytecode, eliminating the need to store the function signature together with each use of the type info.
REVERT: ae4e15c440 Finished the refactoring of the internal representation of types
REVERT: 48ff982d27 Refactoring
REVERT: 3d37442ee2 Fixed a crash when calling CompileGlobalVar and the compilation failed.
REVERT: 4d7a725d64 - Implemented GetParentType in asITypeInfo - Deprecated GetParentType in asIScriptFunction
REVERT: 3d3ae06c8c - Fixed compiler warnings about hidden variables - GetChildFuncdef now returns an asITypeInfo instead of asIScriptFunction - Added GetFuncdefSignature to asITypeInfo - Deprecated GetFuncdefFromTypeId
REVERT: 519c19b96a - asOBJ_SCRIPT_FUNCTION has been removed - RefCastObject can now be used for function pointers too - ScriptHandle and Dictionary no longer need special code for function pointers
REVERT: 6f145057ff Fixes for big endian CPUs
REVERT: 0147c13af9 Fixed compiler error in as_memory.cpp on OpenBSD
REVERT: 5e2845abb2 Fixed compilation error without AS_DEBUG defined
REVERT: 2ee4179af7 - Array is now probably disallowing funcdefs by value as subtypes - The compiler is properly handling passing reference to a handle to a funcdef as function argument
REVERT: 9302c4cdf5 Fixed a bug in compiler with calling function with const reference and the function expected non-const reference
REVERT: ddbee98e92 Functions with generic calling conventions now catch application exceptions
REVERT: ed3047385e Funcdefs are now handled as asCFuncdefType instead of asCScriptFunction internally thus making it more uniform with other types
REVERT: 2cd4774c40 Refactoring
REVERT: c51331e505 funcdefs are now stored internally as asCFuncdefType derived from asCTypeInfo
REVERT: f226c6e558 Changed GetTypedefByIndex to return an asITypeInfo and removed all the output parameters
REVERT: 9a7eb83199 Changed GetEnumByIndex to return an asITypeInfo and removed all the output parameters
REVERT: 3652d0b7e6 - Implemented asITypeInfo::GetEnumValueCount and GetEnumValueByIndex - Deprecated GetObjectTypeByName/Decl, GetEnumValueCount/ByIndex, GetObjectTypeById, SetObjectTypeUserDataCleanupCallback in engine - Deprecated GetObjectTypeByName/Decl, GetEnumValueCount/ByIndex in module - Deprecated asIObjectType
REVERT: 87ad59d04f Implemented GetTypeInfoByDecl, GetTypeInfoByName, GetTypeInfoById, and SetTypeInfoUserDataCleanupCallback
REVERT: 3e81962d87 Partially specializing the scope as the enum type when referring to enums in namespaces is now possible
REVERT: d550b0b686 Access mask in the engine now defaults to all bits set to make sure built-in functions are available to all modules
REVERT: 43d5e4d768 Linux with PPC64 Little Endian is now working with AS_MAX_PORTABILITY
REVERT: 8f98c60f1c Renamed asIObjectType to asITypeInfo
REVERT: cc0f302e03 Continuing the refactoring
REVERT: e86c3f9d9a Refactoring the code in preparation for the new asITypeInfo interface
REVERT: d49694f095 Added configuration in as_config.h to identify GNUC+Linux+PPC64
REVERT: 6686a7317f Refactoring
REVERT: 0beecd15e9 Fixed problem with named args and registered behaviours
REVERT: 344c6585a5 Implemented asEP_ALLOW_UNICODE_IDENTIFIERS
REVERT: 96ae96a92b Tweaking the gnuc makefile
REVERT: fe410fb75b Corrected the name of the shared object filename in the gnuc makefile
REVERT: 815fbb762e Fixed cmake project files
REVERT: dae5b89167 Ternary condition can now return function pointers
REVERT: 5befb8f6ab Fixed problem in CScriptAny with constructing any object from primitive
REVERT: 54a8f4a8ee Added GetParentType to asIScriptFunction to allow querying the parent type for child funcdefs
REVERT: 3abef81c47 Improving the validations for error scenarios with child funcdefs
REVERT: ccd7a6a491 Child funcdefs in templates works properly in the template instances
REVERT: edc36aba1a Working on the support for child funcdefs in template types
REVERT: 24e739a313 Fixed bug with namespace and class member initialization
REVERT: 7d7cdd846c It is possible to register child funcdefs in template types too
REVERT: 0b9b7e2b51 WriteConfigToStream and ConfigEngineFromStream is properly handling child funcdefs
REVERT: 6b024152f2 It is now possible to register child funcdefs with RegisterFuncdef too
REVERT: 0a846b7014 - Added GetChildFuncdefCount and GetChildFuncdef to asIObjectType - Renamed GetFuncDefFromTypeId to GetFuncdefFromTypeId for consistency
REVERT: cbbb047d31 Fixed compiler errors in add-ons when using AS_USE_NAMESPACE
REVERT: 3e2d8b798f funcdefs declared as child of class can now use other child funcdefs in the same class in the signature
REVERT: ff1cfa873f Child funcdefs are now visible in derived classes too
REVERT: d86c14881e Fixed bug with template value types and loading bytecode
REVERT: 038df03ce4 child funcdefs in shared classes is now working properly
REVERT: ad9710bede Saving and loading bytecode with child funcdefs is now working
REVERT: 7194d5a8a1 Name conflicts between child funcdefs and other class members are now properly detected
REVERT: b6949e8cc3 The basics for child funcdefs is now working
REVERT: 08e72ea853 Working on member funcdefs
REVERT: ff249212ba Compiler will no longer match funcdefs for datatype if the namespace is not the correct one
REVERT: 67464a35ac Parser now supports declaring funcdef as child of class
REVERT: 8499398404 Improved parser error message when finding unexpected token to inform if the token is reserved or not
REVERT: ff4690a39c Compiler no longer crashes when assigning anonymous function to variable declared with auto type
REVERT: 80ef835773 Added support for registering and retrieving the auxiliary object pointer with asCALL_GENERIC
REVERT: 15bc0c5a08 Fixed compiler error on non-MSVC compilers with AS_DEBUG defined.
REVERT: f68d27beef - Upgraded project files to MSVC 2015 - Fixed compiler errors on MSVC 2015
REVERT: 8ccf4d8720 Releasing 2.30.2
REVERT: a278d917dc Fixed a bug with SaveByteCode on 64bit platforms when the script called constructor with primitive arg before object arg
REVERT: 517162d870 Documentation
REVERT: e187097c95 Documentation
REVERT: 96a9b9ce74 Documentation
REVERT: 9a8de9bf16 Documentation
REVERT: 491e19f64c Initialization lists can be used to initialize variables declared as handles too
REVERT: 63eb215025 ANGELSCRIPT_VERSION is now the default argument to asCreateScriptEngine
REVERT: 738045d945 - CScriptDictionary now uses a typedef for the key type to make it easier for applications that uses custom string types - Changed to use std::unordered_map in CScriptDictionary when C++11 is used - The CScriptDictionary now caches its object type to avoid looking it up in the engine for each instance
REVERT: 2b6813bd23 Fixed compiler bug with nested namespaces, when the outer namespace has not been explicitly registered
REVERT: 3fa061c89a Improved compiler to create less temporary objects when using the opConv(?&out) type conversion operator
REVERT: 35f4b84673 - Optimized some byte code sequences generated by the compiler - On C++11 enabled compilers the string pool is now using the unordered_map container for faster look-up
REVERT: 43843f584a - cleaned up old code comments - Improved the compiler to generate less temporary copies of objects - The options argument in formatInt, UInt, and Float now has a default argument of an empty string
REVERT: d928c8e71a Minor improvements
REVERT: 8355f7ba9a - Functions can be called with anonymous functions as arguments - asIScriptModule::CompileFunction can also declare anonymous functions - anonymous functions can also be used within shared functions - Fixed compiler error in scriptbuilder.h - anonymous functions can be used in asIScriptModule::CompileGlobalVar
REVERT: 968d4a7098 Working on the anonymous functions
REVERT: 5b4a451c77 Fixed crash with asCALL_THISCALL_ASGLOBAL and objects passed by value in argument
REVERT: bba7e771f9 Parser now understands the syntax for anonymous functions
REVERT: 9158e0da21 Added the reserved keyword 'function' that will be used to declare lambdas
REVERT: b1edac721c Fixed compiler error
REVERT: 0d9ff0bdc2 Throwing exception from application code would cause a crash if the library had been built without optimizations on 64bit GNUC
REVERT: 15676bbf39 Improved performance for saving bytecode that uses lots of global properties
REVERT: 9a6184a2e6 Improved thread safety to support multiple threads querying typeIds simultaneously
REVERT: e9c3bcf1f1 Optimized GetTypeIdFromDataType
REVERT: 0c93911923 Changed how strings are saved to byte stream to reduce the size of the stream
REVERT: 94c9697ea7 - Built-in function names and object types are now prefixed with $ to make it quicker to identify them while loading bytecode - Optimized logic for finding registered function/method in LoadByteCode - ConfigEngineFromStream appropriately treats names of behaviour functions before registering them since they are now prefixed with $ in WriteConfigToStream
REVERT: 5d94458567 Preparing tests for optimizing LoadByteCode
REVERT: 9c4a4a3965 Releasing 2.30.1
REVERT: 602ef9f655 Defined AS_NO_EXCEPTIONS for Android ARM, as catching C++ exceptions is currently not working
REVERT: 64dd02148e Documentation
REVERT: 27a1944019 Documentation
REVERT: cfdcbdc264 Fixed compile error in scriptbuilder.cpp
REVERT: 14eb7bc90f Improved performance for loading saved byte code
REVERT: f12c372e19 CScriptBuilder now does case insensitive compares for duplicate include files on Windows
REVERT: 24d17cc165 Fixed compiler bug that allowed class method handle to be converted to primitive
REVERT: b21ed4b607 Fixed compiler bug when using construct call for a reftype on an object with opConv(?&out)
REVERT: f0dfbfb192 for-loops now support multiple increment expressions separated by ,
REVERT: 15b8bb1e4d - Implemented GetAddressOfValue in the dictionary value and iterator to simplify inspecting the content with the debugger - Added a Set/GetEngine to the CDebugger to hold an engine pointer that can be used by the callbacks - The debugger's ToString method and Callbacks now take a expand members recursively - Implemented DictionaryToString debugger callback in asrun sample
REVERT: a13051ef2a Fixed some compiler errors on Linux with ARM
REVERT: 4455d829d0 Fixed a possible null pointer access while releasing a script function
REVERT: ebfc38c7f2 Fixed a compiler problem in asrun when C++11 support is not available
REVERT: d212634bc5 Fixed compiler warnings in asGetTypeTraits on gnuc 5.1
REVERT: 2176ce3332 Fixed a null pointer access failure that could happen in asGetActiveContext
REVERT: c6a7a000bc - Improved Android project files - Added configuration to build AngelScript for Android with MIPS
REVERT: 9938f3d678 - Added meson project file - Changed a couple of tests to not fail if regression test suite is executed from the wrong path
REVERT: 64ea1694ea Added an android project for test_feature
REVERT: 2d3f8c0c03 XBox 360 now supports 64bit integer arguments in native functions
REVERT: 83ab984007 Fixed compiler error with AS_MAX_PORTABILITY
REVERT: 1e06c7f0eb Added #if !defined(AS_MAX_PORTABILITY) condition in the GNUC assembler files to avoid compilation errors when AS_MAX_PORTABILITY is defined
REVERT: f9a5aafa9f Added supported for native calling conventions on Linux with MIPS
REVERT: d6312f6d73 Native calling conventions on Linux with MIPS is now fully working
REVERT: 754023866e Working on native calling conventions for Linux with MIPS
REVERT: e3ad5cfebf Fixed a bug with native calling conventions on Win32 when using Clang with MinGW 4.7+
REVERT: 63c9c072a5 Fixed crash on Win64 when calling native function that takes object by value that requires clean-up after call and the function also return an object by value
REVERT: 9eecf27d2c Working on support for native calling convention on Linux with MIPS
REVERT: 7aac1390da Fixed assert failure in compiler when creating delegate from temporary object
REVERT: 81eb0833fa Working on support for native calling conventions on Linux with MIPS
REVERT: c36b608be8 Working on support for native calling conventions on Linux with MIPS
REVERT: c899ba1332 Working on support for native calling conventions on Linux with MIPS
REVERT: a3fa86cc67 Preparing for Linux MIPS
REVERT: 92fe6b8d40 Saving bytecode that used templates with multiple subtypes is now working properly
REVERT: b51b4072bb Fixed bug with opIndex when global variable had same name as datatype in a different namespace
REVERT: fb79903ce6 Script array is now constructed even if the current script context has a script exception set
REVERT: a43411c013 Included asserts in CScriptAny to detect improper usage from application
REVERT: efb0a831cd Fixed problem with ternary conditions returning references to global variables
REVERT: 38f9bf2ea1 Parser properly handles template type and non-template type of same name in different namespaces
REVERT: d4c789236c Added formatUInt for strings
REVERT: 7b652687dd Added assert in CScriptArray to verify that the informed object type is indeed an array type
REVERT: 9ad99f428b Implemented asBC_Thiscall1 for faster calls to class methods that take an int argument and return a reference
REVERT: 68c2f844e8 cmake now reads the version from the angelscript.h file
REVERT: 17583ec9dd Implemented an experimental byte code instruction for quicker access to array elements. It reduces the overhead of the opIndex call to about 1/3rd.
REVERT: d0db10a7f2 - Added GetBuffer to the CScriptArray object - Added GetRef to the CScriptHandle
REVERT: 1ea8dc3e64 Fixed bug with compiler accepting null handle in initialization lists that didn't support it
REVERT: 2ba7ab93b5 It is now possible to register member properties as references if the member should be dereferenced before access
REVERT: 8ad8dae1dc Serializer attempted to backup non-pod types that had no user type registered with bitwise copy potentially causing errors
REVERT: a4ffb5f59b Fixed bugs in serializer add-on
REVERT: a34206d682 Compiler no longer gives error when access global variable in global namespace from class in namespace
REVERT: bc7f3697b8 Documentation
REVERT: 7e403bfc93 Fixed bug in compiler when using compound assignment on virtual property on temporary variable
REVERT: c79bf717b7 Releasing version 2.30.0
REVERT: b929ab4c65 Documentation
REVERT: acfd1b4916 Documentation
REVERT: cf80801f81 Fixed incorrect compiler warning about converting to handle after get accessor
REVERT: bef2781977 Fixed crash on iOS/arm64 with thiscall callback functions
REVERT: cd4adcab09 Fixed bug in asBC_u64TOd and asBC_u64TOf on non-MSVC compilers
REVERT: 817988ec6e Documentation
REVERT: ed11f51869 Documentation
REVERT: 23e6b93129 Fixed a couple of compiler warnings on XCode
REVERT: 0fd3fc8f83 - Template instances have the clean-up instructions in the functions re-prepared - Prepared CContextMgr for use with AS_MAX_PORTABILITY - Fixed bug in dictionary's opIndex when generic calling convention was used - Fixed bug in CScriptHandle when AS_MAX_PORTABILITY was used - Fixed bug in CScriptWeakRef when AS_MAX_PORTABILITY was used
REVERT: 0e394473fc Documentation
REVERT: aa59c4e078 Added engine property asEP_PRIVATE_PROP_AS_PROTECTED
REVERT: 28a96b5624 Documentation
REVERT: 441b1ebcba Mapping the document changes that are needed
REVERT: fd13ec11d2 More cmake enhancements
REVERT: e5cfebf1af Documentation
REVERT: 352a5d9573 Recursively search parent namespaces in methods that look for functions, global variables, and object types
REVERT: 638ebd212f Improved cmake project to support building the library as shared object
REVERT: 769ca172ee Fixed problem with compiler not detecting incorrect type when passing class method as argument to constructor
REVERT: e494b21916 bug fix: Methods declared in mixins in namespaces weren't compiled with the correct namespace
REVERT: ff574d8f75 Directly calling a funcdef retrieved from member property accessor would get wrong arguments
REVERT: 14ead22a69 Compiler didn't properly check the access masks for registered class methods
REVERT: 44343a783b Fixed compilation error on platforms with SPLIT_OBJS_BY_MEMBER_TYPES config (e.g. gnuc)
REVERT: b8f09654ab Improved WriteConfigToStream so that template types are fully registered before other types
REVERT: ce6d59a27c Included check to avoid modifying template types registration after a template instance has already been generated
REVERT: 4a44d597c9 Fixed problem with nested namespace in ConfigEngineFromStream
REVERT: 582e1cba77 Fixed bug in compiler where default argument could use temp var used in previous arguments
REVERT: dd927755c7 Fixed ScriptArrayIsEmpty_Generic that didn't set the return value
REVERT: fa90832a29 Fixed an issue with the global namespace in ConfigEngineFromStream
REVERT: efa5c626ef - When formatting type declarations for messages the namespace will always be included if different than the current namespace - Fixed WriteConfigToStream to keep the valid object type flags
REVERT: ed4f2d57f0 Fixed a couple of invalid memory accesses detected with valgrind
REVERT: b1412ea68e Fixed compiler warnings with gnuc
REVERT: 490d8cc0cd Fixed access to previously deleted memory when discarding modules
REVERT: 4523ce7abb Fixed for multiple overloads for opCast and opImplCast
REVERT: ec6c22c5f8 Deprecated asBEHAVE_REF_CAST and asBEHAVE_IMPLICIT_REF_CAST
REVERT: edf43b9a5a Script classes can now implement opCast and opImplCast to provide custom ref cast behaviours
REVERT: 19452c4370 Added support for protected class members
REVERT: 70c0aa4b66 Private class properties are not accessible from derived classes
REVERT: 6620c4fed8 - script engine now only keeps reference to shared script types - removed compiler warning on empty script sections
REVERT: 70ff76edb7 Changed delete to asDELETE
REVERT: 18945fd0ca Fixed bug in compiler for compound assignments with virtual properties
REVERT: bd8173c7ac - Completely re-factored the way the memory management for the internal script code is done - Discarding modules is much faster, and doesn't burden the garbage collector - No more memory build-up when the script has circular references between classes and templates
REVERT: 3ba650dc66 Fixed a problem with the conditional operator returning a reference to objects in parameters
REVERT: 5b34473f1a Better error messages to explain why compound assignments are not always supported for property accessors
REVERT: 2ed370fb8a Implemented a test to verify performance of rebuilding a module repeatedly
REVERT: a878e42615 Compound assignment operators can now be used with virtual properties
REVERT: d3281b396d Fixed GetModule() thread safety for real
REVERT: 51e915475a Fixed thread safety issue in GetModule
REVERT: 61a7fd79ae Planning a redesign for module clean-up for improved performance during shutdown and recompilation of modules.
REVERT: ea3345fb0b Added support for compound assignments for global virtual properties
REVERT: c00ed1c0ac Documentation
REVERT: 0ced9c01ce imported functions can now be placed in namespaces too
REVERT: 894eeabca4 Tests and documentation
REVERT: ab78103964 It is possible to register an enum with the same in a namespace after it has been registered in the global namespace
REVERT: 4812cd99d0 CScriptBuilder expands relative paths to absolute paths before verifying if the include file is duplicate
REVERT: ff192e1d93 Debugger now accepts namespace for printing variables
REVERT: bf2537042f opImplConv can now be used to allow implicit conversion to bool for registered value types
REVERT: d662b11976 The ternary condition operator can now be used as lvalue if both options are lvalues of the same type
REVERT: fec451a013 Changed SetLineCallback so that it is safe to call it from a second thread while the context is running
REVERT: 4f264b13a4 Reduced overhead in CallSystemFunction
REVERT: 5a857c3175 Completed documenting the syntax in BNF
REVERT: d3af3139f1 Tweaks and code clean-up
REVERT: c29db17fef Minor tweaks and optimizations
REVERT: 8716f462fe Minor tweaks and optimizations
REVERT: e25147b5e9 Updated the manual with the maximum and mininum value for double
REVERT: 7f4a23ee55 - Implemented support for user data in script object instances - The asCArray now use asUINT to hold the size instead of size_t
REVERT: b84f429291 dictionaryValue has better support for boolean values
REVERT: 4f37b2b656 Documenting the syntax in BNF
REVERT: 22eab20828 Added ShutDownAndRelease to explicitly tell when the engine should be shut down, compared to simply releasing the reference
REVERT: 07b95ab0fe Documenting the syntax in BNF
REVERT: 4ba7604879 Documenting the syntax in BNF
REVERT: 40e366f410 Simplified the CFileSystem a bit (no longer does it do pattern matching when enumerating files/directories)
REVERT: 5c0c2c0406 Implementing Linux support for the file system add-on
REVERT: 151e39b4f6 Fix to the gnuc makefile
REVERT: e3af360d8f Minor portability fixes for Linux
REVERT: 02818a9358 Updated gnuc makefile to automatically retrieve version number from angelscript.h for the shared library file name
REVERT: 618faf5b9a Fixed some compiler warnings on gnuc in the add-ons
REVERT: a5db6461bf Implemented SetArgVarType to the context for calling functions with variable argument types
REVERT: eee744cfeb Continuing to document the language syntax in extended BNF
REVERT: 2b8750cfd8 Starting to document the language syntax in extended BNF
REVERT: edc9ac4928 - Fixed bug in CScriptFile - Improved compiler error messages when constructor/destructor is given the wrong name
REVERT: 88ef135865 Changed CScriptFile::ReadLine and ReadString to return the string by value instead of as an output parameter
REVERT: 81d660cf16 Class method can refer to base class' method with fully specified namespace
REVERT: 73d7a15e84 Application can now register types with asOBJ_IMPLICIT_HANDLE if this option is turned on
REVERT: e6e9c032fb - The dictionary now supports function pointers in the ref cast behaviour again - RefCastObject returns an error if used for a function pointer
REVERT: ab7c741385 Implemented asEP_DISALLOW_EMPTY_LIST_ELEMENTS to allow application to disable empty elements in initialization lists
REVERT: 9272a923be When compiling a default argument expression the namespace of the called function is used as default
REVERT: cf51a38e67 - CScriptFileSystem properly supports Unicode file names - asrun can write Unicode text to console and it is automatically converted to current locale
REVERT: c51b955654 - Changed ContextMgr::AddContext to allow application to tell manager that it want to keep the context after execution - Added ContextMgr::DoneWithContext to return the context after the application has retrieve what it wants from the - Fixed the asrun sample so now returns the status from the script again
REVERT: 736f875de4 Created a filesystem script add-on
REVERT: 638b55695f - The compiler was producing wrong bytecode when calling asBEHAVE_IMPLICIT_REF_CAST on value type - Fixed crash when script class contained value template type as member - The weakref is now a value template type - The syntax for using weakref in script is much more like a normal handles
REVERT: d144b5eb63 - GetFunctionByDecl wasn't able to find the global function if the name was prefixed with :: - Returned declarations with namespaces no longer prefix symbols with :: when declared in the global namespace
REVERT: d2066231f6 The constructor stubs for value template types didn't pop the object pointer from the stack
REVERT: f1964f7cfd - Renamed CastObject to RefCastObject - Deprecated asIScriptEngine::IsHandleCompatibleWithObject - CScriptHandle, CScriptAny, and CScriptDictionary use RefCastObject to properly cast the contained handle
REVERT: eb67007487 GetModule and DiscardModule are now thread-safe
REVERT: 97a0581bf6 - Fixed an assert failure in the compiler when compiling an assignment with non-temporary deferred arguments - The dictionaryValue was missing a copy opAssign method so it wasn't possible to directly assign one dictionaryValue to another
REVERT: 94243f0968 - Fixed bug with asOBJ_APP_ARRAY in arm and ppc64 calling conventions - Fixed bug in Linux arm hardfloat ABI - Added support for native calling conventions on PS Vita
REVERT: f5b97db9cd - Template specialization failed to remove generated template instances that has been created as a consequence - Engine detects if application attempts to register method or property for generated template instances
REVERT: 5876d72bca - Implemented asIScriptEngine::CastObject - The CScriptHandle uses the new CastObject to properly cast to all supported types of the contained handle
REVERT: cee64c7c56 Added asIScriptObject::GetWeakRefFlag
REVERT: afb16b497f - asIScriptEngine::AssignScriptObject now returns an int with the success or error code - The tokenLength arg for ParseToken is changed to asUINT
REVERT: 1a6c8f60ae Template specialization failed to remove generated template instances that has been created as a consequence
REVERT: 209a11fa6a Fixed an incorrect error code when registering a template specialization and the template type instance already existed
REVERT: 1f6820261a Improved the algorithm for verifying if script classes require garbage collection
REVERT: 2d56ebec05 Delayed the callback to template instances further so the template can know if the script class will be garbage collected or not.
REVERT: f4476236c7 Funcdefs can now have template types with script classes as subtypes
REVERT: 5b2a2dc236 The script array and grid add-ons avoid flagging themselves as garbage collected for handle subtypes that are known not to be garbage collected
REVERT: 892ed82632 Compiler will now give error if there is an overflow when evaluating power-of in constant expression
REVERT: 5e3ef4c3c0 Deprecated asBEHAVE_VALUE_CAST and asBEHAVE_IMPLICIT_VALUE_CAST
REVERT: bea2bb2246 Fixed bug when comparing two handles and one is a handle to a read-only object
REVERT: c0b8591b7f Preparing to deprecate asBEHAVE_IMPLICIT_VALUE_CAST and asBEHAVE_VALUE_CAST
REVERT: 7c4bb6cae8 Improving the test case for aligned scoped reference
REVERT: edac97e629 Fixed bug with use of scoped reference types declared in global variables
REVERT: 29be95f106 Updating the version string in angelscript.h
REVERT: 02b6519670 Releasing version 2.29.2
REVERT: 4fcbc16c05 Documentation
REVERT: 846c77ae7d Documentation
REVERT: ede21ae639 Fixed bug in compiler with use of implicit value conversion and temporary variables
REVERT: 3a2e261263 Updated asBC_CALLBND so that imported functions can now be bound to application registered functions too
REVERT: 1e57d8255a asGetTypeTraits compiles on gnuc 4.8+ again
REVERT: a031a31527 Adding missing test_propintegerdivision.cpp
REVERT: 0ea883fbd6 Compiler automatically resolves ambiguous enum values on comparisons
REVERT: cadcb29d39 Fixed bug in CScriptFile when reading ints for least significant byte first
REVERT: 08badc7c5a CScriptBuilder will report the correct path to the include files that fails to load
REVERT: ebb643ef7a CScriptBuilder::AddSectionFromMemory now has an optional lineOffset argument
REVERT: 36e755d349 The template types can now refer to each other using different template subtypes
REVERT: 079d220842 Template types can now use other template types as method arguments where the sub-types are shared
REVERT: 34701b24c1 Compiler warns when overloading inherited class method and default args in the methods cause conflicts
REVERT: 673c6bc408 Compiler warns when variable in inner scope hides variable of same name in outer scope
REVERT: ac91c57dfe Store the owning module pointer in interfaces, enums, and typedefs
REVERT: 3f34f038e6 Improved performance of shutting down the engine
REVERT: 67513235c8 Added asEP_DISABLE_INTEGER_DIVISION that makes all divisions with integer values result in doubles
REVERT: dccea150dc Template instances now receive the member properties that were registered for the template
REVERT: 33ad23c246 Improved compiler compatibility of asGetTypeTraits to support Xcode/Clang
REVERT: c6760055eb Application no longer crashes if an asIObjectType is released after the engine has been released
REVERT: 1e9f0ecbee Script classes can now inherit opConv and opImplConv from base class and add its own for other types
REVERT: 916782a782 Passing a non-lvalue expression to a &out argument will now yield compiler error instead of warning
REVERT: 923c10443c dictionary::get now supports retrieving stored handle by value if type is compatible
REVERT: 9dd9633b91 Script classes can now implement opConv and opImplConv to support type conversions
REVERT: 96b90c049c Concatenation with integers and string now properly supports 64bit types
REVERT: 5fe60dd116 Identity comparison on handle received as parameter by reference wasn't working
REVERT: 1e8eaca610 Fixed crash in compiler when compiling initialization lists with 'null' as one of the elements
REVERT: 455010fec2 Taking the address of an imported function now works as it should
REVERT: c13c516b32 Compiler was incorrectly accepting syntax as object@(expr)
REVERT: e96445fc3a Fixed problem with storing/retrieving enum values from the dictionary
REVERT: 0fd3b473e4 Fixed incorrect warning on literal -9223372036854775808
REVERT: a363068020 Merged patch with partial implementation to support 16byte aligned native types, e.g. __m128. The implementation will be turned off by default until it is completed. Turn it on by defining WIP_16BYTE_ALIGN.
REVERT: 1538e828b3 Fixed bug when global variable expression had casts between script classes
REVERT: fa33516901 - Empty initialization lists are now properly working where a repeat pattern is expected - The array and grid add-ons no longer set a script exception if the initialization list is empty
REVERT: aef636c563 Fixed bug related to opCall overload
REVERT: a064a09e65 Releasing 2.29.1
REVERT: 6543366dc6 Documentation
REVERT: 2660b4d911 Fixed errors with saved bytecode when using template types declared in namespace
REVERT: 66e913e777 Fixed bug in closeTo() math add-on function
REVERT: 34a6e5a8e2 Fixed parser bug when local variable had the same name as a type in different namespace
REVERT: 246ebd7008 Fixed compiler warnings
REVERT: 215790ad79 asOBJ_TEMPLATE can now be used with value types too
REVERT: 6f5b93aa20 Improved error messages
REVERT: 2aab9ae56d Added support for declaring classes as abstract to prevent instantiation
REVERT: 61d3b72075 Added asEP_ALTER_SYNTAX_NAMED_ARGS to optionally support the previous syntax for named arguments
REVERT: b29d088eaa Changed syntax of named arguments to func(arg: expr)
REVERT: 96eaffc094 - The module's ResetGlobalVars uses the context callbacks to support debugging initialization of global variables without informing a pre-created context - The context callbacks are disabled before destroying the engine to avoid creation of new contexts while cleaning up objects - The asrun sample is now using the ContextMgr add-on to support co-routines - The ContextMgr uses the RequestContext instead of CreateContext to take advantage of the context callbacks
REVERT: 3fe8a21560 Replaced the helper function PrintException with GetExceptionInfo that returns the information in a string
REVERT: 0f3ecfa65b Promoted asGetTypeTraits<T>() from the helper add-on to an official interface function
REVERT: cd88cd1c0f Improved compiler error messages
REVERT: b9e837aa11 Improved compiler error messages
REVERT: b3c65534a2 Fixed buffer overflow problem when Prepare() with virtual script function near the end of the stack memory
REVERT: e187dfb287 Fixed null pointer access bug in grid add-on
REVERT: a95034ddab Fixed problem with enumerating entities after removing a config group
REVERT: 169cee8353 Fixed compiler assert failure with unsafe references and deferred arguments
REVERT: 236810f63a Array elements are initialized to zero when resizing the array too
REVERT: 4882c42f44 Array elements are initialized to zero by default
REVERT: 96391a0873 Minor clean-up in the CDebugger
REVERT: f146c90538 Releasing 2.29.0
REVERT: eff8892933 Documentation
REVERT: 3ee5340f8c Changed to use a single SetContextCallbacks method instead of two separate methods
REVERT: aaf88c43e5 Documentation
REVERT: fad247ef66 Documentation
REVERT: 7e77a16479 Documentation
REVERT: 5f9affeb31 - Updating the coroutine samples with the changes to the contextmgr add-on - Documentation
REVERT: 52a06edfe0 Compiler now gives an error when script declares handle to handle
REVERT: 1db9a4d87a Documentation
REVERT: 5f09f636f9 Resolved conflict between named arguments and initialization of anonymous objects as argument
REVERT: f3e92d10ba Code clean-up
REVERT: 42e6912de8 Mixin classes in parent namespace can now be properly included in a class
REVERT: 0ef2438822 asCALL_THISCALL_OBJFIRST and asCALL_THISCALL_OBJLAST works on Linux ARM with softfp too
REVERT: 063442dd1b Added support for registering functor objects as class methods with asCALL_THISCALL_OBJLAST and asCALL_THISCALL_OBJFIRST
REVERT: 54b30fdad4 Fixed compilation error in asrun
REVERT: 5cb7f2b53e Engine no longer silently accept registering template methods where the template subtype is passed by value
REVERT: 54ff0c8bf0 Fixed bug in compiler that allowed expression with name of function without doing anything with it
REVERT: 6d33c13393 Stack unwinding now works on Linux 64bit with native calling conventions
REVERT: 63e331129c Improved runtime performance by avoiding increasing/decreasing refcount of script object in class methods
REVERT: 875fa0c7c3 - asbuild now uses the ConfigEngineFromStream helper function - code clean-up
REVERT: 1212396197 GarbageCollect(asGC_FULL_CYCLE | asGC_DESTROY_GARBAGE) will now properly destroy the garbage in the new generation too
REVERT: b6c004b6d4 WriteConfigToFile wasn't saving the return type for the string factory correctly
REVERT: b4855d58fa - Fixed compiler warning on CLang - Updated xcode project to support both 32bit and 64bit targets
REVERT: 675933d310 Fixed problem with the compilation of asBEHAVE_VALUE_CAST with ?&out and primitive
REVERT: cc362e52ad Added the argument numIterations to GarbageCollect to support multiple iterations without having to call the method multiple times
REVERT: d08bac1b14 Fixed AS_NO_COMPILER
REVERT: fe9fec344e Improve the touch scroll in the documentation
REVERT: e55b08c19d Working on the context manager add-on
REVERT: 903b962a83 - GetSubType now works for registered template specializations too - Loading bytecode with funcdefs declared from script wasn't working identical to building from source
REVERT: 4abb2f9367 Fixed the scrolling in the documentation on Android devices, without hiding the nav-tree
REVERT: d2f7931722 - Added RequestContext, ReturnContext, SetRequestContextCallback, SetReturnContextCallback to engine - Removed the custom header for the html documentation since it was broken
REVERT: 7cf4265ba3 GetSubTypeId now works for registered template specializations too
REVERT: b8a48b9165 Fixed bug in GetDeclaration when returning the list pattern
REVERT: c2be2a8756 Dictionary uses asAllocMem and asFreeMem, and has factory functions to create instances
REVERT: 59618bfe4a Reduced the size of the top logo a bit
REVERT: bb6dccb2a2 - Updated doxygen files to add support for Android touch devices - Added a small logo on top of each page
REVERT: fe44710459 Dictionary now has the opIndex that can be used to directly assign and retrieve values without using the set/get methods
REVERT: b58b774692 Implemented C++ operator[] for the CScriptDictionary add-on
REVERT: c0cff2bcbd Fixed the missing check for declaration of duplicate global variables
REVERT: 485263ce01 The value cast behaviour with var type works for conversions to primitives too
REVERT: 0346865a34 asBEHAVE_VALUE_CAST now supports the generic form 'void f(?&out)'
REVERT: 6f7fb2b7a7 Defined the MULTI_BASE_OFFSET macro for the Sun CC compiler
REVERT: 9f0d401f34 CreateScriptObjectCopy now uses the copy constructor for value types if available
REVERT: 020e847d3c Compiler choses opHndlAssign or opAssign on initialization based on how the object was declared
REVERT: 4d8e582e2e Improving the opHndlAssign usage
REVERT: 17d70d9f75 Types registered with asOBJ_ASHANDLE can also register the opAssign method to support value assignments
REVERT: cebd1b0311 opHndlAssign should be used to overload the handle assignment operator in registered ASHANDLE types
REVERT: 39ade9bcbb Added the global functions asAllocMem and asFreeMem
REVERT: 824a0a5e9b Added support for multiple user data in module, context, and function
REVERT: 96619fe1ea Improved error message when trying to pass class method as argument
REVERT: 8ce6959f45 Documentation
REVERT: bc9cdbd674 Compiling the library with Sun CC for SPARC is now possible, though without native calling conventions
REVERT: c2e521d339 Documentation
REVERT: 14faebfb46 Preparing the test_feature for iOS and Android
REVERT: 54eab28c39 Minor issues detected by PVS
REVERT: b486b63287 Improvements for AS_MAX_PORTABILITY
REVERT: ea74037913 Project updates
REVERT: 0cc92e7ba8 Fixed compilation error in scriptdictionary on xcode 5.1
REVERT: 080727c8f1 Fixed some compiler warnings
REVERT: bd90821cd7 The template callback can now write error messages to facilitate the understanding of why a template cannot be instantiated
REVERT: 89b66c746e Removed old deprecated methods
REVERT: ad3dd514ca - CreateScriptObject will return null if the object constructor throws C++ exception - Array and grid properly handle exceptions while constructing elements
REVERT: cca0a8595c Improved C++ exception handling to avoid deleting object that was never returned
REVERT: 90ba91cb03 Fixed assert failure when compiling auto declaration without initialization expression
REVERT: 6faa1a453e Fixed bug with explicit construct call and reference types
REVERT: 963413d704 Clean-up
REVERT: 6f659d9ff5 Incorporated the patch for 'auto'
REVERT: 067c8dfee0 Added GetObjectTypeByDecl
REVERT: a9c90cf289 - The parameter names are stored with the saved bytecode, unless debug information is stripped - Added asIScriptFunction::GetParam that can optionally return both the name and default argument in addition to the type id - Deprecated asIScriptFunction::GetParamTypeId
REVERT: 6c176e1816 Fixed bug in tokenizer for one line comments on the last line of a script
REVERT: 1dab5aee29 Fixed bug in compiler where temporary variable could be overwritten when calling overloaded operators
REVERT: 9dd7c2360d Added default factory and resize method to the grid
REVERT: 61b775eaf6 Fixed crash when calling opCall on a property accessor on a global variable
REVERT: 4d55f7fa22 Fixed opCall on global variable
REVERT: 9604669f5a Fixed assert failure as the compiler tried to release the same temporary variable twice when compiling an implicit cast for a value received from a get accessor
REVERT: 216eadf007 Added support for named arguments in function calls
REVERT: 21de525201 Working on the named arguments support
REVERT: 04323de214 Parameter names are now stored in the script function object
REVERT: 1e24c2043c Fixed RWX section in as_callfunc_arm_gcc.S
REVERT: c7b4ee6a3f Fixed minor issue when compiling with AS_DEBUG
REVERT: 4f43892139 - Function handles were incorrectly treated as handles in value assignment - Added the flag asOBJ_APP_ARRAY to support registering types that are really C arrays - The GetTypeTraits<T>() helper function automatically detects when to use asOBJ_APP_ARRAY
REVERT: 0846005bc0 Releasing 2.28.2
REVERT: f42c8b919c Documentation
REVERT: 1a6386773f Documentation
REVERT: d70f74c6fc Fixed bug when passing 'null' or 'void' to var type argument
REVERT: b5e5cd3f20 Fixed compiler warnings on gnuc
REVERT: c308b35a2f Fixed problem with passing ref type to const ?&in parameter
REVERT: ef606baca5 Documentation
REVERT: ccf0b638e2 Documentation
REVERT: 4a90e5f789 Fixed bug with missing implicit ref cast when passing object to parameter as inout reference
REVERT: c16bf786c0 - Finished the grid add-on - Improved parser error messages
REVERT: 4f5c92257c Starting the work on the new grid add-on
REVERT: e64986e99c Optimization to avoid copy when passing ref type to const &in parameter
REVERT: 256a0347e7 - Cleaning up some code in the compiler - Improving compiler error messages
REVERT: a2c80cb7c1 Optimization to use the copy constructor instead of the assignment when preparing temp object for func argument
REVERT: 4d278e48f1 - Added GetTypeId to the dictionary to retrieve the type id of the stored value - The dictionary now has an iterator on the C++ side that supports C++ range-for loops
REVERT: be1ae7dd2d Improved implicit cast of object to primitive in math expressions
REVERT: a21bb53cf0 When unsafe references is turned on the compiler allows passing literal constants to const references
REVERT: 2a610f1140 Fixed memory leak with registered cast behaviours on template types
REVERT: 5c72920e84 Fixed assert failure in compiler when using opAssign that returns a value instead of a reference
REVERT: 85effdc3c4 Fixed crash when returning primitive value implicitly cast from global handle
REVERT: c531b98141 The script array should be allocated with factory functions instead of directly with new
REVERT: b7044eba66 Fixed some compiler warnings
REVERT: ee85730ad5 Added custom memory functions to CScriptArray
REVERT: 2a1fa4b147 Code clean up
REVERT: 32c1c6ed7c opCall works for objects returned by property accessor too
REVERT: 747429d6d4 Implemented support for opCall
REVERT: fc408296d7 Compiler now casts to common base class when comparing two handles
REVERT: 404ddb6ae9 GetObjectTypeById crashed if the typeId represented a template instance type that had already been released
REVERT: 04fce3aebe Cleaning up the code
REVERT: 23923eb083 Completed the implementation of multiple args for opIndex
REVERT: 3e0ff93f26 Fixed the pre-compiler condition to avoid use of InitializeCriticalSectionEx on Windows XP
REVERT: 32fb54f073 Fixed saving initialization lists for arrays of int8 or any type smaller than 4 bytes
REVERT: d3790b0db7 opIndex with multiple args is now working
REVERT: 9c92ca69dc Working on adding support for opIndex with multiple args
REVERT: 0088e23641 - Moved define of AS_CAN_USE_CPP11 from scripthelper.h to angelscript.h - Implemented C++11 move operators in asCString
REVERT: cbe1e5ca4b Minor improvements for the garbage collector
REVERT: 074da2467d GarbageCollect() can now be executed with full cycle in parallel with script executions in other threads
REVERT: 5dc6679eaf Fixed a problem with the implicit cast of the right hand operand with bitwise operators
REVERT: f062e30770 Improved error handling in the asCReader class
REVERT: e48ac8d868 Reduced size of saved bytecode
REVERT: e5bdf73481 Anonymous objects can now be initialized in expressions with lists
REVERT: 6041570dc7 Tokenizer was splitting identifiers that started with keywords that ended with numbers, e.g. int8 (Thanks loboWu)
REVERT: 03aa840375 Compiler no longer warns on sign change for bitwise operator with negative enum value
REVERT: c124bf7621 Fixed bug with saved bytecode and initialization lists that skip values
REVERT: db0f977f46 Fixed crash after loading bytecode with initialization lists holding ref types by value
REVERT: 912fef2453 - Implemented closeTo in math add-on - GetTypeTraits<T>() no longer incorrectly identifies arrays as asOBJ_APP_CLASS
REVERT: 501dddc0f8 Added a warning if JIT compiler is used without asEP_INCLUDE_JIT_INSTRUCTIONS turned on
REVERT: 936325887c It's now possible to use repeat_same in list pattern to tell compiler that all lines must be of the same length
REVERT: f0b745162f The Library can now be compiled for WinXP with multithread support again
REVERT: f130cd0ffe Releasing 2.28.1
REVERT: 6917ad3479 Fixed crash when registering two or more methods for an object type using template instance types in parameters or return value
REVERT: ec936b9e14 Changed the set() methods on the dictionary to take the reference as const
REVERT: 89753000ba Fixed crash when attempting to assign a script object to another of another type
REVERT: c47f6d738e CScriptHandle will hold a reference to engine to avoid crash if engine is released before the contained reference
REVERT: 7ec322ac0e Fixed a mistake in the manual regarding default arguments
REVERT: 5ae63f164d Fixed intermittent crash with registered object properties of template instance types
REVERT: f5dd9018aa Fixed compilation errors on MinGW
REVERT: ff9bf0c1cf - WriteConfigToFile escapes quote characters in default arg expressions - asbuild sample updated to treat the escaped quote characters properly
REVERT: 754fb316f5 Fixed memory leak on iOS when passing complex object by value to registered function
REVERT: e60390d093 Improved messages when loading invalid bytecode
REVERT: 2cd071c73f Slightly reduced size of saved bytecode
REVERT: dab8aceddb Compiler was incorrectly converting both results to const in ?: if one of the expressions was null
REVERT: 79e8344812 documentation
REVERT: e9b2751585 Fixed incorrect bytecode sequence when compiling initialization list for dictionary containing values from global string variables
REVERT: d3e4ad4ab0 Implicit cast didn't work in initialization of global vars
REVERT: 66add3c907 Fixed crash with THISCALL_ASGLOBAL and virtual methods
REVERT: 2fd805500d Fixed compiler error on gcc due to missing abs()
REVERT: e193aea59e Fixed compiler error with abs() on VS2005
REVERT: da79c44e89 Test cases for the exponent operator
REVERT: b3d9879144 Implemented the ** operator to perform exponent math operations natively in the script
REVERT: 499208adae Corrected the use of WINAPI_PARTITION_DESKTOP define
REVERT: dc4488b8d2 Multithreading is now supported on Windows Store Apps too
REVERT: eeb1b36545 Working on support for multithreading on Windows Phone
REVERT: ce1dfe0c07 Fixed linker error when compiling for Windows 8 Store
REVERT: fa978db54b Ternary condition operator now converts either case to const @ if the other is const @
REVERT: 2db21bf45f Fixed assert failure in CScriptWeakRef
REVERT: bbd426f243 Documentation
REVERT: 191aa53171 POD value types are now allocated inline when members of script classes
REVERT: b2b4cee717 Improved the to-string callback feature in the debugger to better support template types
REVERT: 4108d80480 It's now possible to register to-string callbacks with the debugger to automatically convert objects to readable strings
REVERT: a6b3d89f32 Fixed some compiler warnings
REVERT: 021ad7fceb Reduced overhead in calls to interface methods
REVERT: c372509d6b - The compiler will give an error if the script didn't produce any output. - SaveByteCode will return an error if called on an empty module.
REVERT: 84b06064af Compiler wasn't searching parent namespaces when resolving the symbol for class inheritance
REVERT: cf4624cce3 Compiler is capable of using constructors with default args as default constructor
REVERT: 1938a65407 Linux ARM now supports soft-float ABI too
REVERT: 74202997a1 Added verification against attempt to compile AngelScript with -mfloat-abi=soft on Linux/ARM as it doesn't currently work
REVERT: 034ddcfa56 Fixed the position reported for errors while compiling global variables
REVERT: 709e4911ae Slightly reduced memory consumption as virtual functions no longer store the default args
REVERT: 48d854fd95 The compiler now uses the default args declared in the derived method instead of the base method
REVERT: 657538936b Added a verification against use of -ffast-math on Linux with ARM as it breaks the native calling convention
REVERT: a465d8e1b3 Implemented FindByRef in the script array add-on
REVERT: 2e9e945d52 Compiler is capable of resolving ambiguous enum value by looking at destination
REVERT: 7034c5979b Improved error message from garbage collector when application holds on to a delegate while releasing the engine
REVERT: 0515923942 Added GetTypeId() to CScriptHandle to make it easier to retrieve function pointers
REVERT: 3f67b427a8 - Fixed assert failure in Execute when forgetting to set the object on a class method call
REVERT: af007781ca Added check against attempts to register multiple list factories
REVERT: 3f4ac0ff61 Optimized compiler performance
REVERT: 2b29228415 Optimized the lookup of registered types
REVERT: 7b66d53235 - Added as_namespace.h - Optimized the symboltable key by using the namespace pointer directly instead of the name of the namespace
REVERT: 381bb6e997 registeredGlobalFuncs is now a symbol table for faster lookups
REVERT: c44ff55faa - Minor refactoring - Compiler will not use enum value from registered enum types if the module doesn't have access to it
REVERT: 47ba2dd67e Optimized IsTemplateType() as used by the parser
REVERT: c4403f1665 Minor optimizations and refactoring
REVERT: c7d069dfc4 Removed some unused code in AS_NO_COMPILER mode
REVERT: 0b6523aa3f Added verification to avoid use of context from a different engine to call functions
REVERT: c4abf385c2 Defined default arg for asSFuncPtr constructor to allow trivial instantiation
REVERT: 38b5d2a99f - WriteConfigToFile now writes the engine properties too - asbuild sample updated to set the engine properties as informed in config file
REVERT: 128640fa94 Another change to fix the warning of used types when removing config group
REVERT: ec73595c63 Fixed memory leak on registering opAssign twice for the same object type
REVERT: 1135f094c0 Fixed improper warning of used types when releasing engine and having circular references between registered types
REVERT: 2b617d6348 Releasing 2.28.0
REVERT: cc0f3a8163 Fixed assert failure in compiler on error in script
REVERT: 356ed928db - Updated xcode project - Updated config to detect iOS with 64bit arm
REVERT: a34b95ceb6 The engine no longer writes parser errors to message callback in the GetByDecl methods
REVERT: cebef64cf8 Fixed assert failure in compiler
REVERT: a69c60ae0b Added support for atomics and posix threads with Android NDK 9+
REVERT: 9182d06e77 Fixed compiler errors with Borland
REVERT: a4536c50d7 Fixed compiler error and warnings on g++ based compilers
REVERT: b002bf3596 Documentation
REVERT: 480b6ab2ad Documentation
REVERT: 13926bb73b Documentation
REVERT: d99ad0c620 Documentation
REVERT: 09059b0442 The function declaration for constructors and destructors now show the object type name instead of _beh_x_
REVERT: 11a8f65ac5 GetVarDecl and GetPropertyDeclaration now take an optional includeNamespace argument
REVERT: 91e23b4ce1 Fixed crash with chained handle assignment
REVERT: 88d5433af0 Fixed GetTypeDeclaration for registered template specializations
REVERT: 4f4508e9d1 Added code to detect and warn instead of crashing if application attempts to resurrect script object during its destruction
REVERT: 128ae815f0 Added tests for value types with initialization lists as class members and within other initialization lists
REVERT: fdc53ac46b Value type in global variable works with initialization lists too
REVERT: b6e2bd56d9 Implemented asBEHAVE_LIST_CONSTRUCT
REVERT: 4f2cfe0ca1 FindNextLineWithCode() works properly for class constructors where class has non-primitive members too
REVERT: 1509f64cb3 Script functions store information on where they are declared to make FindNextLineWithCode more useful
REVERT: 310f936497 Added GetModuleCount and GetModuleByIndex for enumerating existing modules
REVERT: a421d9c701 Minor compiler performance improvements
REVERT: 460076baf3 The object type for script classes that formed circular reference with base class wasn't resolved by gc
REVERT: 34e9a54a12 Rebuilding a module without discarding it no longer accumulates memory in the engine
REVERT: 9d35b3da38 Improved validations of some arguments in the script engine's methods
REVERT: 0f5708a500 List elements are now properly aligned on 4 byte boundaries in the list buffer
REVERT: 048ce9a73d - Fixed problem with conditional operator ?: and implicit casts of primitive types - Added warning on implicit cast from float to integer
REVERT: b24cb5608c When no expression is given for a list element the compiler will try to use the default constructor.
REVERT: 03019d915a Fixed crash in compiler when resolving function pointers with namespace
REVERT: a6c47a1c01 - Fixed bug in IsNested when called with parameter - Fixed compiler error in CDebugger add-on when using the AngelScript namespace
REVERT: ebf6750136 Fixed bug with implicit casts of large integer constants and uint64
REVERT: 9dff175aa9 Working on the implementation of list factory for the dictionary add-on
REVERT: 87d63c8ab3 Working on the implementation of list factory for the dictionary add-on
REVERT: cb78f667f1 Working on the implementation of list factory for the dictionary add-on
REVERT: ee083233af Working on the implementation of list factory for the dictionary add-on
REVERT: 3c542fa2e8 opEquals with funcdef works again
REVERT: 43aff7e446 Fixed bug with passing handle to ?& arg with unsafe references
REVERT: ff4fc84bc4 Fixed bug in script array resize() method that could cause a crash if reserving too much memory
REVERT: 8849d51045 Fixed crash on registering template specialization twice
REVERT: a4b2487987 Fixed crash on registering function with autohandles for unknown type
REVERT: 30a159398a Implemented asBC_PshListElmnt with a 32bit offset to handle large initialization lists
REVERT: 20376008cd Optimized tokenizer with jump tables
REVERT: f72d0b3bef Fixed AS_NO_COMPILER
REVERT: e9812b7b9e Fixed memory leaks with default args and shared functions
REVERT: 66fdc1e031 Continued work on the initialization lists
REVERT: 64dee4ba3d The engine now fully uses the declared list pattern to determine the layout of the list buffer dynamically
REVERT: 489f3c29ec The bytecode writer now uses the dynamically declared list pattern to adjust the offsets in the list buffers
REVERT: 29cc9b43a2 Unified the assembler code on Linux + ARM to support both normal and thumb mode
REVERT: 05ae1009f3 Implemented bytecode instruction asBC_SetListSize
REVERT: 53557fdf65 The compiler is now using the dynamically declared list pattern to compile the initialization list
REVERT: 1e40ff3642 Working on the compilation of initialization lists
REVERT: 418019879c The runtime cleanup of the list buffer is now using the declared list pattern
REVERT: 41bb1a94c0 Fixed compiler error with asBC_DWORDARG on gnuc
REVERT: 78d381352b Fixed null pointer access when calling GetMethodByDecl on template instance type
REVERT: 38ede20930 Fixed null pointer access during compilation if JIT compiler is used
REVERT: f10d6e278d Fixed stack alignment problem with native calling convention for Linux and ARM
REVERT: 70660a47fc When registering the list factory behaviour the desired pattern must now be informed
REVERT: 003c8a8b63 - The GET_WEAKREF_FLAG behaviour is now registered for the script types in AS_MAX_PORTABILITY too - Engine now properly supports use of autohandles in template factories - The weakref add-on now works properly in AS_MAX_PORTABILITY too
REVERT: b9e9cc9d88 - The initialization list buffer now contains all values regardless of the type
REVERT: 53a975d2db - The initialization list buffer now contains the values for arrays of ref types too
REVERT: 07dda0a075 - The initialization list buffer now contains the values for arrays of handles too - The exception handler is capable of cleaning up halfway initialized buffers - Removed the new FreeMem bytecode and instead adapted the existing FREE bytecode to handle the list buffer too - The bytecode serialization code adjusts the offsets into initialization buffer to keep them platform independent
REVERT: 80faa7239b - The list factory behaviour now receives a pointer to a buffer instead of just the expected length - The list factory buffer contains all the element values for primitive types - Implemented the bytecodes AllocMem and FreeMem for handling buffers for initialization lists
REVERT: 7fb7f455d9 Releasing 2.27.1
REVERT: e6502b39f3 Implemented a different ExecuteString that can return a value of variable type
REVERT: 9e8608d016 Documentation
REVERT: 65eb54a379 >Fixed bug in CScriptBuilder with loading an empty file
REVERT: e0b6feced4 Identified problem with doing memcpy to move objects to stack when they are passed by value to application functions
REVERT: 1ab07d67b7 void is a legal expression and can be used to ignore output parameters
REVERT: 8023214abe Default arguments can be used with anonymous parameters
REVERT: 943cb9c4c5 For consistency @null is now a valid expression
REVERT: ac05face4b Compiler was incorrectly making a copy of the object in some cases for explicit ref casts
REVERT: 048bc213a2 Compiler was incorrectly reusing temporary variables in some expressions with ternary condition operator
REVERT: 1471bb9e1b Fixed bug in the compiler when dealing with opAssign that returns anything else than a reference
REVERT: 410842f912 Fixed 64bit bug in asBC_SwapPtr
REVERT: dfc97c08a2 Implicit conversion to ASHANDLE type will not copy the value any longer
REVERT: 0c0ab8a92b Engine no longer accepts registering template factory with autohandles
REVERT: 625b1a58dd Reduced memory footprint for registered functions
REVERT: f721681007 Fixed mispelling in compiler error message
REVERT: 092a6d2af4 Releasing 2.27.0
REVERT: 163ff91031 Documentation
REVERT: 469c949cee Documentation
REVERT: f69b4e5c62 Documentation
REVERT: 1a8c676fb0 Documentation
REVERT: e2254db45c Documentation
REVERT: 6b5fc10326 Deprecated AddRefScriptObject and ReleaseScriptObject that takes type id
REVERT: 5d0b63ccd0 AssignScriptObject now takes asIObjectType
REVERT: d75eef1fdc CreateScriptObjectCopy now takes and asIObjectType
REVERT: b4fe421ae9 CreateScriptObject now takes an asIObjectType
REVERT: f610e98b78 Changed the parameter type of CreateUninitializedScriptObject to asIObjectType
REVERT: 24ac34c074 Made the weakref solution threadsafe
REVERT: 6d8b93052c - Template arguments declared as const T@ will keep the handle-to-const attribute in template instances - Game sample now uses the weakref add-on
REVERT: 09bfb84a63 - Registered the CScriptWeakRef as const_weakref too - Game sample now uses the const_weakref - Fixed bug in templates where 'const T@' would become just 'T@' in the template instance
REVERT: ba44b55c68 Testing application registered type with weak reference
REVERT: f5e2dd6324 - Added asCreateSharedBool for application classes to create instances of shared booleans - Implemented validations when registering the behaviour GET_WEAKREF_FLAG to check for invalid types and declaration
REVERT: f2999368ba Implemented support for weak references
REVERT: 2633bd95f7 Updated the trolltech qt makefile
REVERT: c8e791cbbd Class methods with default args using parenthesis failed to parse
REVERT: e0f6a3604c Fixed compilation error with has_trivial_destructor on g++ 4.8
REVERT: 395cf20287 Derived classes can no longer override base methods with different return types
REVERT: 5e88d296dc - Registered value types that didn't have size evenly divisable of 4 weren't allocated with enough space - Template subtypes can no longer be declared as read-only
REVERT: 3cda67d03b Function pointers for global functions in namespaces wasn't resolving properly
REVERT: f29b1e99ca Fixed memory leak in compiler with shared classes and virtual properties
REVERT: d06495eb81 Literal float and double constants accept the format 1e5
REVERT: 4ae4b8ba63 Engine no longer silently accepts modifications to built-in types by the application
REVERT: 1ce5a0c7a5 Slightly reduced the amount of work performed by the GC
REVERT: 08eb0d6343 - NotifyGarbageCollectorOfNewObject will return the sequence number attributed to the object - Added GetObjectInGC to allow inspecting objects that are currently known by the GC
REVERT: 445a811818 GC will call script class destructor before breaking circular references
REVERT: 68c17ea33a - GC now gives an id for each object from a sequence and reports this when it cannot destroy an object - Fixed memory leak in thread manager
REVERT: 845d582e3e Improved performance of thread manager and with that reduced the overhead of script calls
REVERT: fa2b8d2e29 Created the MSVC2012 project for the performance tests
REVERT: cf7e05eed6 Fixed bug with max portability and delegates
REVERT: ab4d5cbbb6 Nested calls in context could overwrite value in register
REVERT: 0d0f783a73 Script array does a better search for matching opCmp and opEquals
REVERT: 99d175a2a5 - Added type modifier asTM_CONST to indicate parameters and return types that are const references - GetArgTypeId and GetReturnTypeId now have optional parameter to retrieve the type modifier flags - Added GetFuncDefFromTypeId to allow getting the asIScriptFunction for a function definition
REVERT: 58de77b4bc - Compiler didn't detect ambigious enum values when compiling initialization of global variables - RegisterObjectBehaviour and RegisterStringFactory now accepts asCALL_THISCALL_ASGLOBAL
REVERT: 4e54cd9821 Added CreateDelegate to asIScriptEngine
REVERT: 08eef73b57 Added GetDelegateObject and GetDelegateFunction to asIScriptFunction
REVERT: b4844a6b60 Added Discard to asIScriptModule
REVERT: cfaf12acf7 Added GetModule method to the asIScriptFunction and asIObjectType interfaces
REVERT: 378e463a47 Script array add-on can now sort arrays of handles by calling the opCmp on the objects
REVERT: 7de8114c27 Fixed compiler error on FreeBSD
REVERT: e71573e4f9 GetExceptionLineNumber would crash if the exception had been raised in a generated function
REVERT: 935ac2c30e A compound assignment to a class member could be compiled incorrectly if the lvalue had deferred parameters in expression
REVERT: a98222620c Removed previously deprecated methods
REVERT: fc33f3d72c Compiler would call a script class' opAssign method as if it was a system function in a specific situation causing a crash
REVERT: 6e6bee9033 Fixed presentation issue in manual
REVERT: 704e0a26ae Releasing 2.26.3
REVERT: 26fbabcfd8 Fixed some compiler errors and warnings with MinGW
REVERT: 90b93bbd58 Added fpToIEEE and fpFromIEEE to the math addon. These are meant to allow platform agnostic conversion between floating point and IEEE 754 representation
REVERT: 920ecb07d3 Added Marmalade makefiles
REVERT: e03840dfa8 Documentation
REVERT: bb66ce1e0b Multi-template types where both subtypes are of the same script class no longer crash the GC
REVERT: 0e97c10d01 The context could in some situations attempt to destroy objects on the stack that had never been initialized upon cleanup
REVERT: 3826e9b0e2 Documentation
REVERT: 41602ce148 Fixed null pointer access error when compiling enums after discarding a module with global variables
REVERT: 35d85789c1 Parent namespaces are now searched recursively for matching global functions
REVERT: b6bc0fa31d Parent namespaces are now searched recursively for matching global variables
REVERT: 0072e93cc5 Removed accidental use of C++11 feature
REVERT: 678539b011 Parent namespaces are now searched recursively for matching types
REVERT: f3d4090a92 Created MSVC 2012 project files for the samples
REVERT: 76406e04c8 - Function handles for overloaded functions are now implicitly resolved by the compiler by deferring the choice of the function until it's used - Added methods GetSectionCount() and GetSectionName() to builder for enumerating the included script sections
REVERT: 5a09599c66 - Script array add-on will not allow subtypes of reference types unless they are handles if asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is turned on - AssignScriptObject will no longer do anything for ref types if asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is turned on - Compiler will implicitly pass handles to ? parameters when asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE is turned on
REVERT: cc1adc22f3 The engine property asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE disables value assignments for reference types
REVERT: 127dc3f474 Fixed bug in compiler where the class constructor could become invalid if two classes with the same name was declared in different namespaces
REVERT: aa840554fa RegisterObjectProperty() will now return an error if the offset is larger than a signed 16bit value which is what the VM supports
REVERT: 7ef148b8da Fixed a null pointer access exception that could occur with delegates and overloaded methods.
REVERT: 49777a87c0 Delegates are now fully functional
REVERT: 163d5da7d6 Working on the implementation of support for delegates
REVERT: 111198ae31 Working on the implementation of support for delegates
REVERT: 88dc1379fa It's now possible to create and call delegates for script classes within the scripts
REVERT: 46bc5ff610 Working on the implementation of support for delegates
REVERT: 2145a7e4e4 Working on the implementation of support for delegates
REVERT: 248af7b8e8 >Compiler was generating invalid bytecode when compiling var declaration with initialization using void opAssign
REVERT: eb79d0e4dd Working on the implementation of support for delegates
REVERT: bfba4cda26 Working on the implementation of support for delegates
REVERT: bbb1f17d6a Fixed the config for gnuc with -std=c++11
REVERT: 92526c9384 Releasing version 2.26.2
REVERT: 82a417e16c Testing class without its own destructor, but a member that has a destructor
REVERT: b05d6ed0bc Integer constants are now considered signed by default
REVERT: 352e4a9665 Increased maximum limit of number of functions in the engine from 65535 to approximately 10^9
REVERT: 84fb69d44d Implemented helper function asGetTypeTraits<T> to aid in the registration of value types
REVERT: 4baf19bdc1 Changed the code back to emit a warning instead of an error on unreachable code as it was often used by developers to temporarily skip parts of the code during testing
REVERT: 58f7114344 Added engine property asEP_COMPILER_WARNINGS to allow applications to turn off warnings
REVERT: 4e16f53084 Updated trolltech makefile to allow it to compile as_callfunc_x64_msvc_asm.asm on 64bit Windows
REVERT: ae2a613513 Updated gnuc makefile to make it easier for Linux package maintainers
REVERT: 6917fe4375 - Fixed memory leak with MinGW64 due to wrong configuration in as_config.h - Fixed some compiler warnings on 32bit x86 with gnuc
REVERT: afcd6ce51a Fixed native calling convention on MinGW64 4.7
REVERT: 28c6a88a92 Initializing class member in declaration with a non-default constructor produced invalid bytecode
REVERT: beae1ee289 Evaluating -2147483648 / -1 is now treated properly with a script exception
REVERT: 66ff811314 The compiler wasn't giving error when default arg expression didn't match the parameter type
REVERT: fb3077e084 - Fixed crash with native calling conventions on Linux 64bit when compiled with optimizations - Changed Android make file to make sure thumb mode is turned off
REVERT: 29baba179d Fixed a problem with shared global functions being compiled in every module thus causing memory leaks.
REVERT: b679d29a75 Fixed problem with native calling conventions for Android
REVERT: c71c886e15 Fixed crash that could happen on releasing the engine if some garbage collected object was still kept alive by application
REVERT: 6d57a66d41 - Improved error messages when GC can't destroy an object - Fixed bug in compiler related to implicit casts of reference types in global variables
REVERT: ff4efc0def Releasing 2.26.1
REVERT: 65df60452c Documentation
REVERT: d067b771c6 Fixed memory leak that could happen upon script exception
REVERT: 565a27131a Fixed some compiler warnings on gnuc
REVERT: bbd2f37050 Fixed mixup of script section ids in loaded bytecode
REVERT: de71c820e0 Heredoc strings keep the last linebreak
REVERT: 244c8b93ec Added test to catch memory leak on exception
REVERT: 087b1620ea Compiler generated invalid bytecode when compiling expression that called function pointer returned from virtual property accessor
REVERT: 10591f62cb Fixed sharing of funcdefs when loading from bytecode
REVERT: 7fb8d31918 - Compiler no longer emits warnings on implementing the same interface multiple times - Compiler will report error if virtual property in shared interface doesn't match first declaration of the interface - Funcdefs are now automatically shared between modules if they are identical
REVERT: 40c0e2d078 Fixed crash in compiler when compiling call to imported function with default arguments
REVERT: a8d7810c48 Added support for octal (0o777) and binary (0b1111) numbers.
REVERT: e84120228d Changed the constructor of the complex math add-on to support implicit conversion from primitive to the complex type
REVERT: 62cb909f5e Added a couple of extra tests for validating native calling conventions
REVERT: 651da8563b Primitives can now be implicitly cast to value types via a call to the constructors
REVERT: cd027e8944 Added support for native calling conventions on Linux with ARM and gnuc compiler
REVERT: 75d05e493d Fixed null pointer access in compiler when compiling default constructor for a class with invalid member initialization expressions
REVERT: 6500bddb0a Fixed assert failure in compiler with nested access to virtual property accessors
REVERT: f877d7da7f Fixed assert failure in compiler with use of copy constructor for value type with unsafe reference
REVERT: 13800535dd Interfaces that inherited other interfaces didn't expose the inherited methods
REVERT: 4d849e316f The compiler wasn't considering the correct namespace when parsing methods of classes and interfaces within namespaces
REVERT: e63d3bf737 Add-ons now use asAtomicInc/Dec to provide thread safe reference counting
REVERT: 6306190287 Templates now support multiple subtypes
REVERT: a3e4622396 Working on the support for multiple template subtypes
REVERT: 5e8f34aa92 Fixed bug with loading bytecode that used registered value types that could cause unexpected behaviour
REVERT: afa104d75b Working on the support for multiple template subtypes
REVERT: 14912a7233 Fixed more bugs with the allocation of function ids
REVERT: dc50cdb79e Fixed bug with the allocation of function ids, which could cause random behaviour for very large scripts
REVERT: e9ef0269d1 Improved error message when encountering non-terminated string literals
REVERT: 96f706c82e Fixed the line numbers for for-loops
REVERT: 41c3192ef1 Parser doesn't complain with empty declaration in classes
REVERT: b14f0270bc Working on support for templates with multiple subtypes
REVERT: 83ad5f31b6 Fixed bug in compiler with complex expressions in default args
REVERT: 64c6af957b AssignScriptObject and CopyFrom are now correctly calling the script class' opAssign method
REVERT: 68a3f0106d Improved error message from CreateScriptObject when called for type that doesn't have default constructor
REVERT: 2aeac5bcc9 Fixed segfault in GetGlobalVarIndexByDecl on passing invalid declaration
REVERT: 1bccaf6209 Fixed compiler error on Mac OS X in with the atomic functions
REVERT: e203a72248 - Documentation - Releasing 2.26.0
REVERT: 64e702b93e Added the global functions asAtomicInc and asAtomicDec to aid the development of portable and threadsafe add-ons
REVERT: ad2c2b8218 Fixed bug where a script class could be incorrectly marked as non-garbage collected when including a garbage collected member by value
REVERT: 54b827a2af Script arrays could be falsely marked as non-garbage collected as the asOBJ_GC flag wasn't set when the template callback was invoked
REVERT: cad1f0fe53 Improved the criteria for marking script classes as garbage collected by taking advantage of 'final'
REVERT: a3ecbb4c1a Fixed uninitialized value in CompileGlobalVar
REVERT: dac8b665ba Prepared asIObjectType for future implementation of templates with multiple subtypes
REVERT: 1e8e0706c0 Fixed crash that could happen discarding a module and the garbage collector held a reference to an object declared in the module
REVERT: c18cc41674 Fixed unnecessary 'unreachable code' on empty statement
REVERT: 8f357ab291 Added GetDefaultNamespace
REVERT: b46b77d923 Slight reduction on overhead of calling system functions
REVERT: fe73bec0f0 Fixed null pointer access with GetLineNumber() for script function without debug info.
REVERT: d28efa756f Fixed a couple of compiler warnings
REVERT: 5733e8a612 - asPrepareMultithread now takes an optional argument for using a shared thread manager in multiple dlls - asGetThreadManager and asIThreadManager for retrieving an existing thread manager
REVERT: f6d01bef2e Fixed parser bug with default args
REVERT: d923facfb9 Fixed some compiler warnings on MSVC 64bit
REVERT: 45065e4061 Documentation
REVERT: 39259401a2 Reduced size of executable by avoiding code inlining in templated functions for taking function pointers
REVERT: d70e048945 Constructor with const &inout is now recognized as copy constructor with asEP_ALLOW_UNSAFE_REFERENCES
REVERT: 345c8d9fe4 - Loading bytecode always failed if global variables had been disabled, even if the saved bytecode didn't have any global variables - Fixed crash in compiler when compiling default constructor if class inherited from base class without default constructor - CScriptBuilder::AddSectionFromMemory() now requires a name and an optional length for the buffer in case it is not null terminated - Switch case where default case was not last now gives proper error message and not a parser error - Documentation
REVERT: 822faf15dc Compiler wasn't considering the correct implicit namespace when looking up datatypes
REVERT: 04096c6519 - Minor bug fix - Documentation
REVERT: e6f2db3219 Fixed bug in compiler with passing temp handle to function taking inout ref to object
REVERT: b774ce9007 Added AS_NO_MEMBER_INIT to provide backwards compatibility for those who encounter null pointer exceptions due to the new order of member initialization.
REVERT: f7ce48895d Including mixin classes with member initialization from other script sections now works
REVERT: 2c49ea7b07 Minor adjustments
REVERT: 2a8244ad2c Added more tests
REVERT: 0f5d2c6531 The derived class' members should be initialized before the base class' constructor even when the base class' constructor is implicitly called.
REVERT: 563b013c7f Changed order of initializations so that members without explicit expression are initialized first before the rest of the constructor is executed.
REVERT: 27b1419c14 Fixed memory invasion that could occur during the initialization of class members in explicitly declared constructors
REVERT: 3e4a2340b8 Cleaned up the code
REVERT: 712677f4f0 Adding additional test cases for initialization of class members in declaration
REVERT: 060d91f04b Saving and loading bytecode with scoped types in global variables or as class members is working again
REVERT: bf4ff99910 - Removed use of AS_NEW to make the initialization of members feature official - Cleaned up the code a bit - Class constructor will now have correct line numbers for debugging the initialization
REVERT: 8a7acd5e8d Fixed shared types getting the implemented interfaces duplicated if compiled in multiple modules
REVERT: b85b78db03 - Fixed compiler errors on Wii U - Fixed bug in script array when comparing two arrays for equality and only opCmp had been implemented in the element type
REVERT: ff14d6f878 Fixed bug in XBox 360 native calling convention code when returning simple objects by value
REVERT: 052691855e It is now possible to initialize all types of class members in the declaration
REVERT: b84593d557 - Fixed global variables of scoped reference types - Members of all types are now properly initialized by the bytecode in the constructor
REVERT: 136a940b24 Working on the class member initialization
REVERT: b4d086acc8 Fixed problem with saving/loading bytecode that passed function pointers in a function parameter
REVERT: d92fd842ec Fixed crash that occurred when using asCALL_GENERIC with asBEHAVE_TEMPLATE_CALLBACK
REVERT: 5d2b2dad0c It is now possible to initialize handles directly in the class declaration
REVERT: 0fa73f11b1 Added a new test for bytecode optimization
REVERT: 02ce3e21fd It is now possible to initialize primitives directly in the class declaration
REVERT: 00aa33cce3 Unified the code for compiling initialization of local and global variables. The same code will also be used to compile initialization of class members.
REVERT: e10fd77ffc Prepared the tests to work with AS_MAX_PORTABILITY
REVERT: ad648fc9e4 - Implemented the generic calling convention wrappers for the script handle add-on - Implemented the generic calling convention wrappers for the missing methods in the std::string add-on
REVERT: d9d2fdebd2 Implemented the generic calling convention wrappers for the missing methods in the script array
REVERT: 9837e48d5b Working on the class member initialization
REVERT: d27c0956fd Planning
REVERT: b2d2bcafbe Fixed further compiler issues with Marmalade
REVERT: eaeca2b9b6 Namespaces are now properly considered when compiler searches for property accessors
REVERT: 148e376241 Working on the class member initialization
REVERT: e06750d82a as_config.h now identifies Marmalade without the need to manually define anything in the project settings
REVERT: b6a9f3cc50 Added MSVC2012 (aka MSVC11) project files
REVERT: 6fd558fd24 Parser now accepts initialization expression in class member declaration
REVERT: ff011f1740 Planning for the support for initialization of class members directly in the declaration
REVERT: bf75518670 Added support for registering class methods as global functions
REVERT: b0dd05ca8c Fixed compiler warnings when compiling with AS_NO_THREADS
REVERT: 51ffa6e375 Fixed incorrect static_cast on MSVC when attempting to register method for class with virtual inheritance
REVERT: c1008c660b Fixed rare crash after an object type had been deleted prematurely by the engine
REVERT: 3126ea32fd - Updated the msvc10 project files - Changed the unreachable code message to be an error instead of a warning - Removed misleading error about not all paths returning values after unreachable code error
REVERT: 1b8adc203b Releasing version 2.25.2
REVERT: e68a28049b Fixed incorrect error messages for mismatching property accessors when this had been disabled by application
REVERT: e2f8003365 MSVC++ 2010 project settings
REVERT: 1ade7d6f97 Documentation
REVERT: 41ccde3089 Fixed compiler warnings with Marmalade
REVERT: 83794823b1 Documentation
REVERT: 041ae2ef34 Changes to improve compatibility with Marmalade
REVERT: f7c7434b77 - Fixed some compilation errors with MSVC6 - Fixed some minor memory issues detected by valgrind
REVERT: 1730c80246 Garbage collector now uses a memory pool to avoid dynamic memory allocations while processing
REVERT: a49e3ae9ef Factory stubs are no longer added to the GC
REVERT: 491badfd66 Object types are no longer added to the GC while the module still references them
REVERT: e8727832d2 Global properties and their initialization functions are only added to the GC when the owning module releases them
REVERT: 265cc763b3 Cleaning up the code a little
REVERT: ebc7b8e7c5 Cleaning up the code a little
REVERT: 81f030fd0c Cleaning up the code a little
REVERT: 0148125eb5 Cleaning up the code a little
REVERT: bcaa375ab2 Cleaning up some comments
REVERT: edb7dac6b6 Script functions are now only added to the GC when the owning module releases them
REVERT: 68763f9697 Optimized bytecode sequence for storing a handle returned by a function into a local handle
REVERT: 7faccc0a28 import functions can now be declared with default arguments without crashing
REVERT: 996bc96536 ScriptBuilder now supports metadata for entities in namespaces
REVERT: 018077a02b Removed some unnecessary ref copies when assigning handles
REVERT: ee1cc34c3a Functions that return a handle from a local variable now avoid an unnecessary ref copy to a temp variable
REVERT: 0d833c4ad4 Mixin classes can now implement interfaces
REVERT: da620583d2 Added a couple of tests that validates the optimized bytecode sequence.
REVERT: 3b44880a3d Reversed iteration over bytecode in OptimizeLocally
REVERT: 8a22a4e5f1 Fixed some compilation problems with gnuc in the sample projects
REVERT: 2fcd03bba9 Removed the temporary bytecode DiscardVar as it is no longer necessary with the localized bytecode optimizations
REVERT: 7ac59a2128 Changed to localized bytecode optimizations for greatly enhanced compilation speeds in large complex functions
REVERT: 6af06d828b Problem with template types when non-default factory was registered before the default factory
REVERT: 0084e841ff Releasing 2.25.1
REVERT: 4b6187ac9a Added validation against duplicate registration of global functions or object methods.
REVERT: 4b6ad47e9d Improved the way function overloads are matched against arguments so least conversion cost for all arguments wins
REVERT: cb63b06a13 - The context's line callback is now invoked one extra time just before leaving the Execute() method to allow listeners to catch state changes - Made some improvements towards compatibility with Marmalade - Implicit conversion from interface to another implemented interface is now working - Compiler now detects circular inheritance between interfaces too
REVERT: 3aac556ebf Shared classes will now validate that declared members exist in the original declaration during compilation
REVERT: 7a1a51ec36 - Shared enums in pre-compiled bytecode were not treated as shared when loading - Improved error messages when loading bytecode with shared types that doesn't match existing shared types
REVERT: 96cc61c21d Interface can now inherit from other interfaces
REVERT: 304a73c50f Compiler wasn't showing error for virtual properties without any accessor
REVERT: 69ce06b8c8 Fixed compiler bug when compiling function that takes out reference of a type where opAssign returned a value
REVERT: 2e22fd58bd - Fixed bug in compiler when compiling property get expression that returned a reference to an object, but the reference wasn't used - Fixed bug with virtual methods returning objects in memory on ARM platforms
REVERT: 815ca5f83d Compiler would incorrectly find global functions when compiling function calls as post ops
REVERT: c147c81cc3 GetLineNumber() could crash when called for nested context calls
REVERT: 13f07a64ad - Fixed comparison with wrong enum type - Added -fno-strict-aliasing to code::blocks project
REVERT: 6bc568a45c Fixed crash with GNUC 64bit targets, caused by previous changes for MinGW 4.7
REVERT: 0c55095996 MinGW32 4.7 is now fully working
REVERT: 46bee9cce8 The message callback is now working on MinGW 4.7
REVERT: 750ed116ba Working on support for MinGW 4.7
REVERT: 82b4678fe2 test_feature can now be compiled with mingw 4.7
REVERT: 4655ff9c5b - Attempt to reproduce reported problem - Updated code::blocks project for test_feature
REVERT: 5ec126d774 Fixed problem with exception handling after loading pre-compiled bytecode when class constructor takes object in argument
REVERT: f9423e413f Trying to reproduce a reported bug
REVERT: 45f8acf36d Fixed native thiscall on MinGW 4.7
REVERT: e8f0d75b70 Fixed bug in script builder add-on with parsing metadata for invalid script
REVERT: f7244e108b Fixed bug with NOCOUNT object when copying script class members
REVERT: 4df8978e1a Fixed compiler assert on unary negate operator on void expression
REVERT: 6c64194b16 Registering template specializations for templates without default constructor is now working
REVERT: 841c53caa1 Fixed including mixin from a different script section
REVERT: baed08b3c3 Working on adding support for interface to inherit other interfaces
REVERT: 915054c550 The profiler now do all the summarization at runtime instead of using a temporary file and then summarize it on exit.
REVERT: 4e06a3e41e Implemented an inline profiler
REVERT: 4405a648af - minor optimization to the string pool in the string add-on - script class properties can now be declared in the same statement separated by comma
REVERT: aec13a673b Releasing 2.25.0
REVERT: cbb5dc25d5 - Documentation
REVERT: 1dcc900474 Compiler gave error when compiling non-const methods that returned const references to members
REVERT: 7235b27677 - Fixed problem with namespaces and construct calls - Fixed comparison with infinity for float and doubles - Fixed serializing bytecode with calls to functions with variable argument
REVERT: 0df32c02b3 - cmake project change to link with pthread on posix systems - Documentation
REVERT: 1feecbdf8b - Added an optional argument to asIScriptModule::SaveByteCode to strip the debug info - Added an optional argument to asIScriptModule::LoadByteCode to determine if the bytecode contains debug info or not - Fixed bug in CSerializer related to extra objects
REVERT: 8e42b4f058 Added wrapper for std::string::operator== since it may be implemented as a member function or global function on different platforms
REVERT: 2e14dfb588 Local function pointers variables now properly take precedence over class methods of the same name
REVERT: f04a384076 Fixed null pointer access when empty mixin class included mixin class
REVERT: 0486d2aacb - Completed the mixin implementation - Added check for duplicate declaration of class methods
REVERT: 8418fa5d3a - Mixin classes with methods can now be included in a class to automatically receive the methods - Renamed cByteInstruction to asCByteInstruction for consistency
REVERT: 4348cfe6ab Mixin classes with properties can now be included in a class to automatically receive the properties
REVERT: a658f86674 Improved build performance when optimizing bytecode with a large amount of conditions
REVERT: d320f45d00 - Improved error message when parser encounters unexpected end of file - Added check for too many labels in a function to avoid crash when the code is too large to handle - Error messages when application does something wrong now include the return code for easier interpretation - Added performance test for compiling a complex function with many levels of if/else and switch cases
REVERT: 976af0891e - asOBJ_APP_PRIMITIVE and asOBJ_APP_FLOAT types can now be passed by value in native calling conventions on 64bit Linux and Mac - Fixed a problem where a script object would be copied incorrectly to a temporary variable during a value assignment - Working on mixin classes
REVERT: 99b98670a3 - fixed problem in CScriptArray::SetValue - working on mixin classes
REVERT: c9f2b55d70 - Added GetTypeId() for asIScriptFunction - Parsing of mixin classes is working
REVERT: 209bb1f71b - Added asOBJ_SCRIPT_FUNCTION flag to identify the object type that represents script functions - Added asIScriptFunction::IsCompatibleWithTypeId() - CScriptHandle::Cast() properly handles function pointers
REVERT: 5771fda337 - Added copy constructor to CScriptArray - Added GetType to CScriptHandle - Fixed problem with parsing default argument expressions - Improved error message when parsing invalid default argument expressions
REVERT: a98da50c9a - Fixed bug with temporary variables being reused too early in compiler - Fixed crash in garbage collector when automatic collection is turned on
REVERT: 8604c70f91 Replaced the std::multimap with asCMap
REVERT: aaa77e3289 The module's global functions are now also stored in a symbol table for faster lookups.
REVERT: f28a830bae - Added asOBJ_APP_CLASS_ALIGN8 used to inform AngelScript that a type may need to be aligned on 8byte boundaries - The template callback behaviour now take a second argument to allow the application to tell the engine if an instance shouldn't be garbage collected
REVERT: f648fafe02 - Fixed memory leak with virtual properties in script interfaces - Fixed compile problem with gnuc - Added support for 64bit types in Android native calling conventions
REVERT: 6380a62713 - Fixed crash on callstack cleanup after script exception - Registered properties are now also stored in a symbol table - Added mapping from address of global property to the asCGlobalProperty for quicker walk through of the bytecode
REVERT: 6f475e4df2 Added symbol table for quicker searches for global properties when compiling scripts and loading bytecode.
REVERT: c65e1ab3ae Fixed bug with returning handle in a function declared to return the object by value.
REVERT: 11eaec95e1 - Improved performance of tokenizer for large initialization lists - Improved performance of parser for scripts with a lot of statements
REVERT: 0e6bb72b26 Loading large bytecodes will be much faster
REVERT: 167b8e166d - GetEnumByIndex and GetTypedefByIndex wasn't returning a valid typeId when the type was not in the default namespace - Inheriting from a class or interface in a different namespace didn't work - Functions and class methods didn't accept the scope operator in the return type - The VM will catch C++ exceptions thrown by the registered functions and set a script exception. This can be turned off by AS_NO_EXCEPTIONS if exception handling is not supported
REVERT: 6cfcb5e60a Releasing 2.24.1
REVERT: fd7b732e45 Documentation
REVERT: d025b61900 Fixed crash in script array when the array was created with a very large initial size
REVERT: 98c13e007c - documentation - fixed compiler warnings on MSVC 64bit - fixed 64bit bug with saving bytecode
REVERT: f222db5243 - Fixed cmake project for MSVC 64bit - Fixed compile error with registering class methods from classes with multiple inheritance on MSVC 64bit
REVERT: b9a4d3b455 - Fixed bug with registering global property from a different namespace - Documentation
REVERT: 52d7332335 Documentation
REVERT: 413a92c960 - Fixed memory invasion when script allocated script class that had other script classes as members - Added JitEntry instructions in the factory stub functions and generated default constructor
REVERT: 75c4b78578 Fixed linker error in scriptstdstring.cpp on XCode 4.3 with CLang++ 3.1
REVERT: a9548a7c2b Fixed bug when registering objects in namespaces and the used types are registered in the same namespace
REVERT: f993bb9aa3 - Fixed some warnings reported by PVS Studio - Corrected a bug with reporting the line numbers in the callstack
REVERT: 59c73feba6 Reduced recursiveness in compiler to allow it to compile extremely long expressions without stack overflow
REVERT: d816801024 Fixed bug in bytecode writer and reader related to 64bit platforms
REVERT: 9d6b257f07 Fixed bug in bytecode reader
REVERT: a33a820aa8 - Fixed a problem with saving bytecode on 64bit platforms - corrected the autowrapper for gnuc
REVERT: 5c3fa327d8 - Compatibility improvements for Android - Added gnuc project for game sample - Made game sample work on Linux 64bit - Added tests to catch problem with misaligned 64bit arguments in native calling conventions
REVERT: e8fff8d571 - minor fixes - added cmake projects for test_features and test_performance - upgraded test_performance to work with latest release - made game sample work for OSX
REVERT: b2ce9920f3 - AS_64BIT_PTR is now defined in angelscript.h instead of in as_config.h - When the engine receives a request to abort a script in a nested call it will now forward the request to the outer call, after aborting the inner call - The script array will forward requests to abort a script to the outer call when performing comparisons, which uses nested calls
REVERT: ec0e33bfb5 - Function pointers can now be invoked from arbitrary expressions without first assigning them to a variable - Bytecode optimizer exchanges some more sequences with shorter ones for better performance
REVERT: d74ddf5bf8 Reduced the size of saved bytecode by not storing the namespace of class methods
REVERT: e42d662c19 Aborting a nested script call could cause a crash in the VM
REVERT: 20e937b89c The garbage collector could enter an infinite recursive loop if invoked while calling a class destructor
REVERT: c112fa2c63 Fixed compilation error in scriptbuilder.cpp on XCode 4.3 with CLang++ 3.1
REVERT: 300730597d IsVarInScope() and GetAddressOfVar() now works properly even before Execute()
REVERT: 082e1f137e - Fixed incorrect division operator for Complex add-on - Scope operator can now be used in inheritance list for classes
REVERT: 363cc8209b Fixed bug in GetFunctionByDecl()
REVERT: e104a9abf0 Fixed problem with loading bytecode that contained arrays of function pointers
REVERT: fc795e7e76 Created an internal namespace object to manage the namespaces rather than keeping the name of the namespace in each entity.
REVERT: 94fa955e10 - Removed functionality where interfaces would be automatically shared if the declaration was identical. This was already deprecated in version 2.23.0 - Improved internal handling of namespaces
REVERT: e6ef334602 Stack pointer wasn't restored correctly when reusing context, which lead to memory invasions
REVERT: 17c1609244 Parser can now parse templates where the subtype is in a different namespace
REVERT: 9befec6611 Parser now recognizes declarations where the type is declared in a different scope
REVERT: e5d334f3a7 Releasing 2.24.0
REVERT: b31d48ff3b Documentation
REVERT: ddf75c3282 Documentation
REVERT: ece25f2509 - Fixed a bug in compiler with ASHANDLE - PrintException helper is now able to understand the nested contexts
REVERT: 82cc1c11b1 - Fixed bug in IsHandleCompatibleWithObject - Script array now uses nested contexts
REVERT: 65a8aae38e - Improvements to the CScriptHandle - Added optional output argument to IsNested() that returns the nesting count
REVERT: 0051c58ecc Finished the nested context feature
REVERT: 66eadbe90d Working on the nested context feature
REVERT: 02fe301794 Fixed bug with virtual property access with index and variable type argument
REVERT: 2abb4768af Working on the nested context feature
REVERT: 2ce48c066c Renaming context members to add prefix m_
REVERT: 16ad83fe8d Working on the nested context feature
REVERT: 6d0ea2afc4 Fixed problem with returning float/double on XBox 360 with C++ compiler optimizations turned on
REVERT: e5514db417 - Fixed bug on XBox 360 when calling registered function with more than 8 arguments - Outlined what needs to be implemented for the nested use of the context
REVERT: 35316d19ba - Updated change list - Update xcode projects to remove unwanted file references
REVERT: 3530f61b1e Fixed SegV when calling message callback as virtual method
REVERT: 76686dff16 Added test for a bug report
REVERT: 99e9f3a445 Documentation
REVERT: 19e8d5550d Added test for a bug report
REVERT: cf1bbc500f Updated the samples to work with the interface changes
REVERT: b6ca4d8fcf - Templates with const subtypes are now properly handled - Cleaned up the code for native calling conventions on XBox 360
REVERT: 6ddcd90065 Improved compatibility with native calling conventions on iOS
REVERT: 4ec87b9c33 Renamed CopyScriptObject to AssignScriptObject
REVERT: a66a8e581f Code cleanup
REVERT: fb2a64ff95 Added CSerializer::AddExtraObjectToStore()
REVERT: 9430cde8bd Disallow register of multiple ref casts to the same type
REVERT: 49919e6d72 - Added method CreateUninitializedScriptObject - Changed CSerializer add-on to use it
REVERT: 7dc188db9d The string pool now supports multiple engine instances.
REVERT: 4b0dde9482 The engine can now hold multiple different user data
REVERT: 1c85549200 Improving stability when loading invalid bytecode, e.g. do not set the length of the arrays if there is a chance not all elements will be correctly populated, and also avoid allocating large amount of in arrays after an error occurred.
REVERT: b97b1f7185 Fixed crash with releasing a suspended context
REVERT: 300587df3b Loading faulty bytecode is now much safer
REVERT: ecf66b537f SaveByteCode() was crashing when the script contained assignment of POD types without explicit opAssign method
REVERT: 2036d39da0 - Added asAcquireSharedLock and asReleaseSharedLock - Made the string pool thread safe
REVERT: 71a61e73cb Properly handling out of memory when allocating from memory pool
REVERT: 56f091e871 Added verification for out-of-memory conditions to all places where memory is allocated in order to improve stability
REVERT: 5b247b7dad - Changed BindImportedFunction to take a asIScriptFunction pointer - Deprecated context::Prepare(int id) - Deprecated generic::GetFunctionId() and GetFunctionUserData() - Deprecated objecttype::GetFactoryId...() and GetMethodId...() - Changed objecttype::GetBehaviourByIndex() to return asIScriptFunction*
REVERT: 00c1eccb32 Changed GetAddressOfVar to return address to value even for reference parameters
REVERT: c4f6c81527 - Improvements to support for native calling conventions with Android, ARM, gcc - Fixes for namespace with registered types
REVERT: 272f78a3be Implemented the read/write lock object using critical sections and semaphores to get a fair non-starving implementation.
REVERT: e7d46967aa The SRWLOCK synchronization object on Windows is only available from Vista onwards, so to maintain compatibility with previous versions I'll write my own ReadWriteLock object.
REVERT: 4afd186c09 Deprecated some of the methods that work with the function id instead of the function object
REVERT: b3a32f9a63 - Added asAcquireExclusiveLock() and asReleaseExclusiveLock() - Array is now creating the shared cache in a thread safe manner
REVERT: cc8d9ef91a Implemented read/write thread synchronization to avoid bottlenecks with critical sections for retrieving user data
REVERT: cfeda85e84 Fixed problem on Android with native calling convention and class methods
REVERT: 45200732f2 The array add-on takes advantage of the multiple user data types to share its cache between arrays of the same type
REVERT: 1d5c49ac19 The object type can now hold multiple different user data
REVERT: 0c7ea2fa55 Fixed compilation error on platforms with posix critical section
REVERT: eaa23c4b25 Fixed crash on Mac OS X 64bit
REVERT: b4d50d018a Fixed error in compiler when compiling function call with @& parameter and asEP_ALLOW_UNSAFE_REFERENCES
REVERT: 53de7c1205 Fixed problem in parsing enum declarations where unexpected tokens might get ignored
REVERT: 00f06c784d Fixed error in compiler when compiling function call with @& parameter and asEP_ALLOW_UNSAFE_REFERENCES
REVERT: b1b599f418 Fixed error in compiler with index operator on a value returned by a property index accessor
REVERT: b1bb87406b SetValue is now a public method of CScriptArray
REVERT: 0ae24bfb8f Updated project
REVERT: 0f49de547c Fixed the example for how to create a script array from C++
REVERT: 313287c542 Fixed 'string subscript out of range'
REVERT: 204e938da4 Fixed assert failure on compiling unary plus operator on non-primitive
REVERT: 20f2185950 Fixed accessing entities in global scope from within a function in a namespace
REVERT: d87c453d44 Created asPrepareMultithread() and asUnprepareMultithread()
REVERT: 9dc98b674b Fixed the crash when releasing the last engine if it happens after the global critical section had already been released
REVERT: 9d5dc33d73 Fixed potential crash when a context is prepared but never executed
REVERT: 84adddc22e Attempting to reproduce reported bugs
REVERT: a5800a26b6 Re-enabled language extensions to avoid problem when compiling together with Microsoft's Platform SDK version 6.0a.
REVERT: 64dcf1b629 Releasing 2.23.1
REVERT: 6f282e045c Documentation
REVERT: 806f445ef2 documentation
REVERT: 0680ca0fe7 conditional use of the template keyword as the code didn't work on gnuc
REVERT: b20006988b - Fixed assert failure - Fixed compile error with autowrapper on Android - Fixed configuration for Android
REVERT: e2f4c98d1d Fixed gnuc x64 inline assembler
REVERT: 0e81a9505a Fixed bug in VM where it might do an undetected null pointer access.
REVERT: dbe6e6ef37 AS_USE_STLNAMES=1 makes the add-ons register their methods with the same names as corresponding method in STL
REVERT: 040b54c020 Attempting to fix the problem with native calling conventions on 64bit Mac 10.7
REVERT: f9f6c76065 Disabled use of string pooling by default as it was not threadsafe
REVERT: 264530635e Fixed crash with compiling private virtual property accessors
REVERT: 8a89107b06 Updated the stdcall and thiscall implementations to copy eax:edx to a local variable that will then be returned
REVERT: 36d13dae42 Updated all cdecl implementations to copy eax:edx to a local variable that will then be returned
REVERT: f98569a2b8 Fixed the inline assembler on gnuc
REVERT: 6c3b764020 Fixed missing LEAVECRITICALSECTION when the thread manager has already been removed.
REVERT: 0d34c260a7 Trying out a theory for fixing the problems on 32bit Mac
REVERT: 9d3d439335 Fixed compilation error with AS_NO_THREADS
REVERT: 68bf4c8354 Fixed problem with opAssign on CScriptArray when the destination had a reserved buffer larger than the source array
REVERT: 4b86fcf5d5 - Improved thread safety of the thread manager when multiple threads created separate script engines. - Added #ifndef ANGELSCRIPT_H check before #include <angelscript.h> in add-on headers
REVERT: d84b13e07c Fixed crash on 32bit Mac OS 10.7 with XCode 4.3
REVERT: d4c6211be2 Documentation
REVERT: 366417cae7 Fixed the StringFactory to copy the full string length and not just up to the null char.
REVERT: a9bbb56070 Fixed crash when loading bytecode with shared classes in specific scenario
REVERT: a9112fff50 Fixed the for(;;) statement not executing
REVERT: a1c03f50f8 Changed the way the context knows if a local variable is allocated on the heap or the stack, thus made it quicker to set up the call frame when calling script functions.
REVERT: bce455c2da Fixed problems with global property accessors
REVERT: aa72a1672e Fixed shared global functions
REVERT: cdabc43e95 Write error message to callback if a call to context's Prepare or Execute is invalid
REVERT: 9cdb3c1e39 Optimized how call state stack is allocated to reduce amount of memory copied for each new call.
REVERT: 777e9e8282 Compiler no longer accepts non-handles with the identity operator 'is'
REVERT: e13dfb2270 Testing
REVERT: 62b1beefa3 code cleanup
REVERT: 28fb0dc069 Added a function for resizing internal arrays without copying each individual element
REVERT: d0f2febad1 Implemented asBC_PshGPtr
REVERT: 99bda6944e - Added a SUSPEND in each function, even if asEP_BUILD_WITHOUT_LINE_CUES is set - Rearranged bytecode for for loop to avoid JMP instruction - Added JLowZ and JLowNZ to replace ClrHi + JZ and ClrHi + JNZ
REVERT: 3bb9817dc6 Fixed bug in asCScriptFunction
REVERT: 00c637dbeb - Added isEmpty to string add-on - Fixed crash when compiling constructor and base class doesn't have default constructor
REVERT: 795ac999eb Changed the performance test app to measure the CPU time instead of the system time, to get less interference from other processes running in parallel.
REVERT: 9f86ea5162 - Added RefCpyV - additional bytecode optimizations - changed config to enable multithreading on Mac OS X 64bit
REVERT: 6c5b3f5533 Removed unnecessary ADDREF to object pointer in some class methods
REVERT: 0645332b1e Renamed POP to PopPtr
REVERT: 2c96f34e51 - Changed RDSPtr to check for null-pointer - Removing CHKREF before RDSPtr
REVERT: 9752258ceb Changed ADDSi to check for null pointer Optimize away CHKREF when used together with ADDSi
REVERT: c0ea1a0880 Added Reserve() to the script array add-on
REVERT: a23665c085 Missing CScriptArray::IsEmpty() implementation
REVERT: 197f4991a7 Added a few utility methods for dictionary and array add-ons
REVERT: cbf43adc7c Preparing the performance test for new optimizations
REVERT: cce6ae7201 Added proper support for const overloads in property accessors
REVERT: a36d373deb - fixed bug in asCReader::CalculateStackNeeded - changed the way the statistics is gathered so it can now be turned on all the time with AS_DEBUG, i.e. no need for AS_DEBUG_STATS
REVERT: 263006481d Releasing 2.23.0
REVERT: be94d53c59 Fixed improper cast on 64bit platforms
REVERT: 13fccd482b Fixed problem with saving bytecode when a function was calling a function pointer from a class member
REVERT: 3299ca867b Updated the autowrappers to include wrappers for class constructors and destructors as well
REVERT: 51a84548e7 Documentation
REVERT: 18c088ba80 Documentation
REVERT: dffad75bd7 Documentation
REVERT: fdb0e96256 Documentation
REVERT: 35e2b55258 Documentation
REVERT: f1d846bdce Changed the stats to collect data over the entire execution of the application
REVERT: 13893ce8e4 Documentation
REVERT: ae2374d4db Documentation
REVERT: d79cbc9e4d Making the samples compatible with the new interface
REVERT: 116f0ef28f Fixed crash on Mac OS X 32bit with GCC 4.2 when compiling the library with optimizations
REVERT: 2e9f5db864 Fixed the adjustment of GET instructions so it only comes after the CallPtr instruction has had it variable offset updated
REVERT: baa978fe61 offsets in the GETOBJ, GETREF, and GETOBJREF are now stored in a platform independent way
REVERT: d678e08c82 Fixed Find() for arrays of handles
REVERT: cb1d600654 Added test for function pointers in saved bytecode.
REVERT: 5c432681de The information on local variables is now saved with the bytecode
REVERT: 2f71fe24c7 Fixed the script arrays so it can accepts opEquals and opCmp that take the other value by handle
REVERT: 5caec55e61 Fixed script arrays with enums
REVERT: 7032cc6b71 Fixing a bug in the compilation of factory stubs when the constructor takes enums in the arguments
REVERT: 203542844d Testing a reported bug
REVERT: a998d7c492 POP is now also stored in a platform independent way
REVERT: cb691c0ef4 The RET instruction is now also stored in a platform independent way
REVERT: 0938ed4dfb - Fixed warnings and a bug in CReader - Added checksum verification for the saved bytecode in the tests to better validate platform independence
REVERT: fbc88101c9 The stackNeeded member is no longer saved with the bytecode
REVERT: 9d80a472fe The stackNeeded member is now calculated after loading the bytecode
REVERT: 219bd01a8a - Added opEquals to ScriptArray add-on - Added getKeys to ScriptDictionary add-on
REVERT: 94172b6513 Reduced the size of the saved bytecode a bit
REVERT: b4ca0a5838 Encoded 64bit values in the bytecode too
REVERT: 984bcb7242 Fixed a bug in CWriter
REVERT: 6e7f470afc Working on the saved bytecode adjustments
REVERT: 5cf5749915 Working on the saved bytecode adjustments
REVERT: 713914d255 Changed bytecode in global variable initialization functions to permit them to be stored in a platform independent way
REVERT: 62fddf275f Changed the bytecode for script class factories so it can be stored in a platform independent way
REVERT: a66400fe0b The GET instructions are now also adjusted to be platform independent.
REVERT: 03d0c64b17 Working on the saved bytecode adjustments
REVERT: d1293c3add Added test with byte-for-byte validation on the saved bytecode
REVERT: a497cb190a Added configuration flag AS_DEBUG_STATS to output bytecode statistics
REVERT: a5e603875e Offsets to function parameters are now stored in a platform independent way
REVERT: 3488695209 The program position for line numbers and variables is now stored in a platform independent way
REVERT: 8ec28b2f5b The length of the function bytecode is now stored in a platform independent way
REVERT: 7c529bc8a3 Fixed bug on 64bit
REVERT: 5296dadb93 Planning further code changes for platform independence in the bytecode
REVERT: 8eea4d79d4 The saved byte code now has offsets to local variables that are platform independent.
REVERT: 94e87089b8 The jump offsets in the bytecode is now stored in a platform independent way when saved to file
REVERT: cbf69366e6 More planning
REVERT: 0b8421a2d8 Fixing the generator too
REVERT: 696f96f3f4 Fixing the new autowrappers on gnuc
REVERT: 725ba72db5 Planning for platform independent bytecode
REVERT: 0cc3342304 Implemented new autowrappers
REVERT: f1b58674ac Fixed use of wrong enum constant
REVERT: da0e87bfa7 Minor improvements to add-ons
REVERT: 77658cfa4b Enums can now be shared across modules too
REVERT: dbfa720386 Further reduced the size of the parser when the compiler is excluded from the engine
REVERT: 094c9b151a Implemented a memory pool for string literals
REVERT: 65bad37fdf Removed the C lib as standard add-on
REVERT: a12c8af922 The condition operator didn't accept when the two results differed in type with the only difference being const
REVERT: 560d156b14 Updated asbuild to support access masks and namespaces
REVERT: 273cdb2b33 Added includeNamespace to asIScriptModule::GetGlobalVarDeclaration(), and asIScriptEngine::GetTypeDeclaration()
REVERT: 7ce90d7396 The string factory can now be registered to return a reference to the string object
REVERT: f9c80abfae - Added namespace argument to GetGlobalPropertyByIndex(), GetEnumByIndex(), GetTypedefByIndex(), and GetGlobalVar() - Updated CSerializer to support namespaces
REVERT: ee73fa93e9 - Fixed last compiler warning related to use of long long - Fixed compilation error in CScriptBuilder on XBox360 due to missing getcwd()
REVERT: 9aff0ac40c Fixed problem with uintptr_t not being available on MSVC6
REVERT: a8dafa679e Cleaned up the code
REVERT: 945ba44f4d - Fixed problem with global variables and asOBJ_NOCOUNT - Fixed problem with objects passed by value on systems where these objects are implicitly passed by reference
REVERT: 393c8919e6 Fixed compiler warnings on gnuc 64bit with asFUNCTION(0)
REVERT: 3da4a0641e Substituting size_t when used to hold a pointer for asPWORD which is typedefed as uintptr_t.
REVERT: e0b10b4b4a Fixed a couple of errors with script classes holding members to asOBJ_NOCOUNT objects.
REVERT: ceb27c96da Added GetNamespace to asIScriptFunction and asIObjectType
REVERT: 35fb3128d9 - Added asIScriptModule::RemoveFunction() that takes a pointer to asIScriptFunction - Added asIScriptModule::GetObjectTypeByName() - Added IsFinal(), IsOverride(), IsShared() to asIScriptFunction
REVERT: e44782db31 Added interface to allow retrieving the access mask for the registered entities
REVERT: 1dfa50d2c0 Added object type flag asOBJ_NOCOUNT
REVERT: 3f3dfb1470 Fixed compiler warnings.
REVERT: b6152199d8 Fixed compiler warnings.
REVERT: 265c632cc1 Fixed compiler error on 64bit Linux due to missing uintptr_t.
REVERT: 6802c1f32b Fixed compiler warnings.
REVERT: 288faf44f6 Fixed compiler warnings
REVERT: a717404908 stdcall is not used for Android on arm CPUs.
REVERT: eb8cf859e6 Fixed compiler warnings
REVERT: ff8394d044 Renamed as_callfunc_arm_xcode.s to as_callfunc_arm_xcode.S to fix compilation problem with scons on Mac
REVERT: 01ec19f342 Renaming to .S to fix compile problem with scons on Mac
REVERT: 46ed1cd3e4 Fixed some compiler warnings
REVERT: a877c2f63a Fixed the add-ons to work on Marmalade too.
REVERT: 0155c4b40c Added asIScriptModule::SetDefaultNamespace
REVERT: 3a55be828c Added configuration for Marmalade with MSVC
REVERT: 84a4a8f1d1 Changed NotifyGarbageCollectorOfNewObject to take asIObjectType instead of type id
REVERT: 0f94176711 GetExceptionFunction now returns an asIScriptFunction*
REVERT: 93e3933ca1 Added GetGlobalPropertyIndexByName and GetGlobalPropertyIndexByDecl
REVERT: bd1c0d14c8 Removed old deprecated code
REVERT: 3ac41d0cf6 Working on namespace for application interface
REVERT: e96721f856 Added method asIScriptEngine::SetDefaultNamespace
REVERT: dbf7012f90 Improved a compiler message
REVERT: 5073a68705 - Updated gnuc makefile for iOS 5 SDK - Updated xcode project for iOS 5 SDK
REVERT: 574af1b7fb Added asIScriptContext::GetSystemFunction()
REVERT: 8528da9d0f The compiler will no longer share interface type ids unless the interfaces are explicitly marked as shared. Previous behaviour is still temporarily available with AS_DEPRECATED
REVERT: 617ce74b7f AS_NO_COMPILER removes all code related to script compilation
REVERT: 6519d42956 Fixed bug in as_callfunc_x64_gcc.cpp affecting Mac OSX x64
REVERT: 497fd833e4 As much as possible is removed from asCParser when AS_NO_COMPILER is defined
REVERT: 47d22e8aab The entire asCCompiler class is now removed with AS_NO_COMPILER
REVERT: eb97ac1946 Document fix
REVERT: 773815de79 Releasing version 2.22.2
REVERT: 91eac79204 Fixed problem with releasing engine while a script function is kept alive by application
REVERT: 05bc10df53 Planning for version 2.23.0
REVERT: 6bb9683a49 Code cleanup
REVERT: 4e498223ee Documentation
REVERT: 4d7c6bc687 valgrind has documented inaccuracies with operations on double
REVERT: 644dba401a valgrind seems to have trouble with division of doubles
REVERT: 333eb4653a Fixing a problem detected by valgrind
REVERT: c405f3ef8f It's now Working on the support for namespaces. Saving and loading bytecode with namespaces is now working too
REVERT: f1ee0b4888 Working on the support for namespaces
REVERT: 84afaae60b Working on the support for namespaces
REVERT: 7fd29b0918 - Working on the support for namespaces - Exchanged strtod() for my own implementation
REVERT: 8495bf3860 Working on the support for namespaces
REVERT: c340f754fe Working on the support for namespaces
REVERT: 3b1dc7a853 Working on the support for namespaces
REVERT: f96eb52627 Working on the support for namespaces
REVERT: 9d7c514992 Working on the support for namespaces
REVERT: 18006602d3 The builder is now recursively registering the entities from namespaces.
REVERT: 4da8939967 Fixed bug in context in CallPtr where it wasn't prepared to call system functions
REVERT: b4f9357361 Added keyword 'namespace' and parsing of the namespace block. The compiler still don't understand the namespace though.
REVERT: 1a2616f970 Fixed bug in GetGlobalFunctionByDecl
REVERT: caf0a7b7df More code is now removed when defining AS_NO_COMPILER
REVERT: b624b1f869 CScriptBuilder now properly extract metadata for class methods and virtual properties
REVERT: 6f87b83412 Made the script array more robust in out of memory situations
REVERT: 4d93418c19 The pre-compiled bytecode now support shared global functions
REVERT: fac7d23751 Global functions can now be marked as 'shared' too
REVERT: 9f4fd8b9a6 AS_NO_COMPILER can be defined to remove some code that is only used by the script compiler. This is just a start, there is a lot more that can be removed
REVERT: 73bc80e211 Fixed bug with orphaned shared classes
REVERT: e81046d3f9 Updating the performance test
REVERT: 429f25a606 Separated the bytecode loader and saver in two different classes
REVERT: bee6220451 Confirmed the fix for the segfault with -O2 on gnuc 4.6.1
REVERT: 2b84b54d3b Added push %ebx
REVERT: e9e7a81dd9 Missed a %
REVERT: 84ef3c7136 Another attempt to fix the problem with gnuc on 4.6.1.
REVERT: 374edf9662 Attempt to fix the problem with gnuc 4.6.1
REVERT: f4b0f3ba66 Didn't work
REVERT: f303008068 Attempting to fix problem on gnuc 4.6.1
REVERT: 9e12cab997 Fixed a minor problem where script section name wasn't loaded properly if it was blank
REVERT: 3de382fe46 Fixed bug in compiler with regards to doing value assignment of class members
REVERT: 3f08b8507c Code cleanup
REVERT: b26b92d0dd - Added new bytecode instructions for working with pointers - Fixed bug where RegisterGlobalProperty with null pointer wasn't detected
REVERT: 04b2248420 Attempt to fix the problem optimised code on latest version of gnuc.
REVERT: c3c66d23bc Attempt to fix the problem optimised code on latest version of gnuc.
REVERT: 279db0e809 Fixed bug where classes that contained shared classes as members would fail in the second module that declared the shared class
REVERT: f0caa7786f - Fixed bug with interfaces and templates - Fixed bug with shared code and templates
REVERT: 2edfc75ad8 Fixed compiler warnings in MSVC9
REVERT: eccb18f91a Releasing version 2.22.1
REVERT: b62ce3214e Documentation
REVERT: 4f1e868b37 Documentation
REVERT: 9cfc8396ad Documentation
REVERT: 6516e823f6 Documentation
REVERT: 0f25c7fed0 Fixed error in documentation
REVERT: 3cbf3d548e Fixed problem where the compiler wasn't detecting that a class property didn't have a default constructor
REVERT: eb163d9488 Fixed the #include path
REVERT: f59ac57b21 - Fixed bug in CScriptBuilder related to metadata for class properties - Renamed test_metadata.cpp to test_addon_scriptbuilder.cpp
REVERT: dc7ccb9352 Fixed memory leak when implicitly converting to ASHANDLE that will be sent by reference to a function
REVERT: c3322ddcf7 Cleaned up the code a bit now that ASHANDLE is never marked as handle
REVERT: e85b4110a0 Cleaned up the code a bit now that ASHANDLE is never marked as handle
REVERT: a4c64c8539 - The ASHANDLE type can be declared with or without @ - The game sample uses the CScriptHandle to pass data between game objects
REVERT: a522c11f46 Fixed bug in compiler when passing ASHANDLE type by value to function
REVERT: 8251b9690c Added implicit conversion to ASHANDLE types
REVERT: 89a4ed3016 Fixed problem with script array accepting script classes without default constructor
REVERT: 53cfca0564 Fixed bug with GetTypeIdByDecl
REVERT: 1ac2774223 Cleaning up the code a bit
REVERT: 518a53809f Added support for passing objects by value on 64bit gnuc when used with asOBJ_APP_CLASS_ALLINTS or asOBJ_APP_CLASS_ALLFLOATS
REVERT: e3b85e23a4 Corrected the expected output
REVERT: dcc464f90d Fixed compile error on 64bit gnuc
REVERT: af528360b5 Fixed crash in native calling conventions on 64bit Mac OS X
REVERT: 78307b3619 Removed the CGameObjLink object and registered CGameObj directly with the engine
REVERT: 2a6b3772e4 Providing more verbose error messages when application does something wrong during the interface registration
REVERT: 96755c0b7d More #includes were missing
REVERT: 4cc052599f Fixed compiler error due to missing #include on gnuc
REVERT: 6215da65f1 - Adding some functions to the script std string add-on - compiler won't warn when passing 0 to output parameter, this is the signal to ignore the returned value
REVERT: 5fa1e05e6d Minor change to fix a potential issue.
REVERT: 0ae118b3bf Avoid creating temporary copies when calling opAssign or copy constructor
REVERT: a5a45c556b Improved error message when it is not possible to create temporary copy of an object
REVERT: 5c1be405de - Fixed the saving of precompiled bytecode when there is no default constructor in the script classes - Turned off default constructors by default
REVERT: 0b6fd5a05e Default constructor and opAssign is no longer automatically implemented for script classes that have a non-default constructor.
REVERT: 81df55b031 Implemented formatFloat
REVERT: 49193c79d1 Fixed bug in the asCTokenizer::IsKeyWord
REVERT: 08ebd77556 Optimized the tokenizer
REVERT: 147904bf37 Fixed missing #includes on gnuc
REVERT: 7f412f58d2 Implemented formatInt as string util add-on
REVERT: a7dc6379c3 Fixed compiler warnings in scriptfile.cpp
REVERT: 66ad541c93 Improved compiler performance when scripts have a lot of literal string contants
REVERT: 3533e55a38 Moved as_scriptmath3d.cpp from add_on to test_feature
REVERT: ed9958193d Fixed bug in CScriptBuilder when turning off metadata
REVERT: 49cfa9f17e Fixed bug in compiler where a temporary was improperly reused under certain circumstances
REVERT: f78f9e6a89 Added a test case for reproducing a reported bug
REVERT: c1cc6928ef Fixed the gnuc and mingw makefiles for test_feature
REVERT: 183ffb277d It's now possible to disable the alternative property accessors with the engine property asEP_PROPERTY_ACCESSOR_MODE
REVERT: f952fa06ed Implemented the alternative syntax for declaring virtual properties: int prop { get; set; }
REVERT: d502d432ca Changed the tokens 'final' and 'override' to not be reserved keywords
REVERT: 5769f91a36 Implemented the complex number add-on that will substitute the vector3 add-on as the value type reference.
REVERT: ff55afa58e Fixed assert failure on compilation error
REVERT: 637a9e7d70 - Added tests for the final and override keywords - Fixed a few problems with the final and override keywords
REVERT: 3c8be0b0f8 Added 'final' and 'override' keywords to the script language for better control over inheritance
REVERT: da3946d8b6 - Added property accessors for length on CScriptArray - Added GetMetadataStringForTypeMethod on CScriptBuilder
REVERT: a14776e439 Fixed bug in compiler
REVERT: 2a155b0c23 Implemented a test case that reproduces a bug in the compiler
REVERT: c982ef4b6f Fixed bug with @&inout and unsafe refernences
REVERT: 90fdb7248c Made the logo transparent
REVERT: 798d5bc8ef Releasing 2.22.0
REVERT: 86021c0564 Documentation
REVERT: 196d5cf91e Documentation
REVERT: a507f759f1 Documentation
REVERT: ea5a87451d Documented the asOFFSET macro
REVERT: 9577bdbed1 Created the macro asOFFSET
REVERT: 8ca70ff74d - Fixed problem with shared classes not being able to create other shared classes due to factory not being shared - Fixed crash with imported global property accessors
REVERT: bde9be0254 Fixed a problem where an implicit value cast wouldn't be used in an assignment operator.
REVERT: 63ba76a481 Improved the error message when there is no copy operator available.
REVERT: f11e6070ed Fixed compile error in test_features
REVERT: 8144f785e9 Improved the description of script classes in the language section of the manual.
REVERT: fa87324342 - Upgraded to Doxygen 1.7.5.1 - Documented the use of function pointers instead of function ids - Minor corrections and improvements to the documentation
REVERT: bb774fbf63 Fixed bug with value cast operator that returned an object by value
REVERT: 66206f7ebd Reorganized the script language documentation for script classes
REVERT: ec179e8ff3 Documented the shared script entities feature
REVERT: 8dc917193b Documented the JIT compilation changes
REVERT: 6f409fa7e4 Fixed null pointer exception in compiler
REVERT: 17d77dbe7d Updated the interface documentation
REVERT: 8ead90212e - Added some new methods to the public interface - Updated the samples with the new public interface
REVERT: 8c85d3c9e5 - Improved the game sample to take advantage of the shared classes for messaging - Improved the game sample to provide better error handling for script errors
REVERT: 1029e6c3db Made some improvements for JIT compilers
REVERT: 01806d5424 Code cleanup and optimizations
REVERT: 22d6e1fa00 Code cleanup and optimizations
REVERT: 13fae921f0 Minor code cleanups and updated the change log
REVERT: f3cc59eaad Fixed alignment and stack cleanup in the 64bit GNUC native calling convention
REVERT: 4712cebd64 Fixed problem with returning 128bit pod with floats when compiling on Linux 64bit with optimizations
REVERT: ba159363c5 Added a verification in the game sample to make sure the game is executed with the correct working directory, otherwise it would just run without any scripts.
REVERT: 09cd08c346 Fixed bug where default args for registered functions were not recognized
REVERT: 1a7d7870da Completed the implementation for shared classes
REVERT: d717fd384f Fixed bug in asCModule::GetFunctionByDecl
REVERT: b640a1a2ff Working on the shared objects.
REVERT: c9f2c18e89 Working on the shared objects.
REVERT: 827d5dc548 Fixed bug with indexed property accessor
REVERT: 021b763792 - Implemented the shared class feature - Fixed bug in CSerializer add-on
REVERT: 9757d5c5f6 Planning for the 'shared' feature
REVERT: 9015956ee3 Added asEP_DISALLOW_GLOBAL_VARS
REVERT: 64ba21dd78 Improved GC to not crash in case the engine already forcibly released the object type methods, which can happen if the application registered types that can form circular references with script objects but didn't register the GC behaviours.
REVERT: c504eaa236 Updated codeblocks project
REVERT: 6defe178ef Fixed bug in compiler where temporary variables were reused inappropriately while evaluating function arguments.
REVERT: b56a2d8057 Fixed bug in GetFunctionByName
REVERT: 9e49ba5646 A module's access to registered entity is now controlled through binary access masks that can be defined individually for each entity
REVERT: 4d76864ef3 - Added GetGlobalFunctionByIndex and Decl to asIScriptEngine - Deprecated GetFunctionDescriptorById in asIScriptEngine and asIScriptModule and replaced it with asIScriptEngine::GetFunctionById - Added GetFunctionByName and Decl to asIScriptModule - Deprecated asIScriptModule::GetFunctionDescriptorByIndex and replaced it with GetFunctionByIndex - Deprecated asIScriptGeneric::GetFunctionDescriptor and replaced it with GetFunction - Added GetFactoryByIndex and Decl to asIObjectType - Added GetMethodByName and Decl to asIObjectType - Deprecated asIObjectType::GetMethodDescriptorByIndex and replaced it with GetMethodByIndex
REVERT: 1b32cb0810 Planning for the new access mask functionality
REVERT: f3ad6c5302 Added user data to asIScriptModule
REVERT: 1552868fc5 Improved the game sample to take advantage of the object type user data
REVERT: a1f0af8d57 - Added user data to asIObjectType - Added Prepare(asIScriptFunction *) to asIScriptContext
REVERT: 8dc3c44684 Releasing 2.21.2
REVERT: 5c98d35580 Undoing the change to disable optimizations because it caused a segmentation fault.
REVERT: 99973b4c47 Disable optimization in functions that use inline assembly to avoid problems with the GCC optimizer
REVERT: 77d5e04342 Documented the new ALLINTS and ALLFLOATS flags
REVERT: 39f02ac61c Structs with 3 or 4 floats should now be working as well.
REVERT: 14bb626af0 Added asOBJ_APP_CLASS_ALLFLOATS
REVERT: 451b13400b One test failed because it registered a function that is not supported yet
REVERT: c7531e7bd1 Re-included the tests that should work with asOBJ_APP_CLASS_ALLINTS
REVERT: 97c30dd3d2 Added the flag asOBJ_APP_CLASS_ALLINTS
REVERT: 09393cd057 All levels of optimizations cause segfault on Linux 64bit
REVERT: d546cdf3d0 O1 also caused segfault on Linux 64bit. Trying O.
REVERT: 2573aa9def O2 also caused segfault on Linux 64bit. Trying O1.
REVERT: 85f020c5da O3 caused a segmentation fault for some reason. Trying O2 instead.
REVERT: 94ee2a5524 Added optimization -O3 to gnuc makefile to validate that this works
REVERT: 29b9be0919 Fixed a test case for Linux 64bit
REVERT: 1e4f05b6c0 Fixed a test case for Linux 64bit
REVERT: ddd703ebb0 Fixed a test case for Linux 64bit
REVERT: 530d8364a2 Fixed a test case for Linux 64bit
REVERT: 8693967154 Fixed a test case for Linux 64bit
REVERT: 398e33bd65 - Possible fix for problem with floats and doubles not being returned correctly on gcc 64bit with optimizations (Linux, Max). - Disabled some tests that are not supported on Linux 64bit
REVERT: ad68190900 Disabled some tests that are not supported on 64bit Linux
REVERT: a667c01bfe Compiler error on Linux 64bit.
REVERT: 2ac5c6b01e The library is no longer allowing the return by value of simple types on Linux 64bit, as it is not possible to predict which registers will be used.
REVERT: 99e7a39e1d Fixed compiler warning in script builder
REVERT: 53c2cda395 The tests were incorrect on 64bit Linux, because a long is really a 64bit type.
REVERT: d7270de8c8 Added test for returning a struct with an array of 3 floats.
REVERT: abe94ffb3f Fixed the new code in the script builder to support metadata for class members.
REVERT: a287988b9f Documentation
REVERT: 16a7f95b41 Documented the sample game
REVERT: ae635a6a68 Created a sample game that shows one way of integrating the script engine for game control
REVERT: 18a9a3c20e Added support for metadata on class properties
REVERT: 7096419777 Completed the changes to return by value on the stack rather than on the heap.
REVERT: 2f82f2d764 Working on the changes to return by value on the stack rather than on the heap.
REVERT: 0c0ab9a7ef Working on the changes to return by value on the stack rather than on the heap.
REVERT: faaf3f8bb7 Working on the changes to return by value on the stack rather than on the heap.
REVERT: b61c86e7ca WoWorking on the changes to return by value on the stack rather than on the heap.
REVERT: 45bc3a577d Working on the changes to return by value on the stack rather than on the heap.
REVERT: bed1563825 Code fix for CLang compiler
REVERT: 3ad1def2a2 Fixed bug with function overloading and default args
REVERT: 43a5efdcef Testing MinGW with full optimizations.
REVERT: 4b3f7165c6 Fixed bug with property accessors and &inout parameters
REVERT: 0eb364e2ea documentation
REVERT: 0e1842221e - Documenting the CSerializer add-on - Releasing 2.21.1
REVERT: bf7d6a1398 Added the CSerializer add-on
REVERT: 99ca19bb13 Added support for native calling conventions on Win64 with MinGW64
REVERT: 6643bf7ef2 Fixed bug with handle assignment and set_opIndex
REVERT: a354f26155 - Updated the clib add-on to the latest interface - Minor tweaks
REVERT: 08565d824f Testing
REVERT: 107f4fdb16 - Updated code::blocks project files - Fixed bug in debugger add-on - Fixed compiler warning in as_compiler.cpp
REVERT: 29e889fcdb Documentation
REVERT: 1c86e279c8 Documentation
REVERT: f0f0890915 Renamed the type name used to register the generic handle add-on as.
REVERT: 58f9f52e58 Fixed bug with instanciating templates where the subtype has the same name as the template subtype.
REVERT: 6f0031bd74 Fixed bug with ternary condition operator
REVERT: b883ba7f32 Fixed the library gnuc makefile
REVERT: 152af33d86 The CScriptHandle add-on is now working
REVERT: b3a38dc08f The ASHANDLE type is properly working when returning a reference to it from a function
REVERT: 3412611d0b - ASHANDLE now works with global variables too - Started implementation of the standard ASHANDLE add-on
REVERT: d6d0d95ebe Fixed bug in compiler when passing null to output parameter
REVERT: 426a0704ad - ASHANDLE types must now be declared as handles in variables, parameters, etc - ASHANDLE types no longer accept value assignments
REVERT: b3dbd6b8fd - Removed unnecessary deallocation of stack memory in Unprepare() - fixed bug in std::string add-on
REVERT: 435286a18e Implemented asBEHAVE_REF_CAST with signature 'void f(?&out)' for the ASHANDLE type.
REVERT: ae0bd8a51b Added 64bit target to the MSVC10 project files
REVERT: 5dd25c7804 Don't warn for loss of precision when passing a double constant to a float arg
REVERT: db46c8fb5a Removed warning in compiler when passing null to an output handle argument
REVERT: e632649088 Working on the ASHANDLE type
REVERT: 9bbfda422a Added flag asOBJ_ASHANDLE
REVERT: 89051e1e6d Compiler will now give error when assigning to property of an object that is returned by value from a function
REVERT: 1212343617 Updating the performance test
REVERT: 381ca1c1a7 Fixed crash when doing a value assignment to a handle obtained from a property accessor
REVERT: ec84021c03 Releasing 2.21.0
REVERT: e137ab3505 Documentation
REVERT: 12b9758eca Fixed include scriptarray.h
REVERT: 5ccd8894e5 Deleting CScriptString add-on as it has been moved to test_feature
REVERT: 9808264743 Removed CScriptString as standard add-on
REVERT: d196587f7f Documentation
REVERT: d14fa0fa0b Added FindNextLineWithCode that a debugger can use to find a line with code to set breakpoints at
REVERT: 6e1b1653d9 Improved error message in compiler when typing the wrong name for the data type in a variable declaration
REVERT: 4c5324257a Implementation of interface methods can now be inherited from base class
REVERT: 366ea841ab Fixed crash if context is unprepared or released after SetObject but without calling Execute
REVERT: a9c4274d98 It's now possible to use property accessor of another object of the same type from within a member property accessor
REVERT: 65983a9b50 Improved error message when local variable overrides global function
REVERT: cb41f74fa0 Fixed native calling convention on Win64 with MSVC
REVERT: 9ec8f50c29 Renamed as_callfunc_x64_msvc.asm to as_callfunc_x64_msvc_asm.asm to avoid conflict with as_callfunc_x64_msvc.cpp
REVERT: 7737c94147 Fixed bug with passing value type allocated on stack to var argument
REVERT: 9c11deda5c Fixed implicit conversion of negative float constant to uint
REVERT: 251f395df8 Fixed bug with importedFunctions array only increasing with new builds, eventually crashing.
REVERT: 65a3863a15 - Cleaned up the interface by using asUINT where the value can't be negative - Working on the debugger - GetProperty now informs if the property is a reference or not
REVERT: b3ed56e790 Working on the debugger
REVERT: 8e7e87594b Added support for native calling conventions on Illumos OS.
REVERT: ba41abde63 Added gnuc makefile for asbuild sample
REVERT: 6afd43814b The debugger will now find the name of enum values
REVERT: 060b5ed829 Improved the GC
REVERT: 9bd8024a50 Improving the GC
REVERT: 9ffbd25f84 Updated documentation
REVERT: 87270dc022 Planning for future changes
REVERT: 837e42257d Automatized the garbage collection so it is done during the execution of scripts, even if they are running for long times.
REVERT: 5a565f941a - Fixed pthread linkage error on gnuc - Fixed cmake configuration - Fixed asrun compilation on msvc6 - Worked on debugger
REVERT: 2e727e0697 - Planning for automatizing garbage collection - Added TryEnter on the critical section object
REVERT: 2383fe8983 - Cleaned up the interface a bit - Working on the debugger
REVERT: 494ba36de9 Added ability to determine if a variable is within scope or not
REVERT: f521fdb244 Planning to automate garbage collection
REVERT: d8eaacb45f Planning to add information about variable visibility for debugger.
REVERT: ab89f354d8 Fixed crash on MSVC when basic behaviour methods was implemented with multiple inheritance
REVERT: 014f502e9c Cleaned up the code in the script array a bit
REVERT: ca76448061 - Removed the restriction to call functions in global variable initializations - Added the possibility to debug initialization of global variables
REVERT: 0fed71794a - Added ability to set deferred breakpoints at function names - Prepared the debugger class to override the standard output by putting the code that prints in a single virtual method
REVERT: 14763f34a1 Added printing of variable values
REVERT: ce155022d2 Implemented ability to list global variables
REVERT: 13f346a160 - Fixed bug in GetCallstackSize - Added ability to list local variables, print call stack, and to abort an execution in the debugger
REVERT: e8cfedec29 Added ability to list break points and to remove them
REVERT: 137755bde8 Fixed the test case
REVERT: 8e9364ea9e Fixed a bug in debugger when setting a break point incorrectly
REVERT: 53424da0f2 Changed join to be a global function which is more natural for what it does
REVERT: 6e51dc6e63 - Added ability to set break points in the debugger - Fixed bug in the join function - Added msvc6 project for the asrun sample - Added function for getting command line args in the asrun sample
REVERT: c2f5cadb5f - Fixed crash in compiler when script tries to call a function that has been declared incorrectly with default arguments - Added the CDebugger add-on
REVERT: 4a7bb097b8 Testing and some adjustments
REVERT: 7b51ee01a9 Implemented split and join for std::string add-on
REVERT: 61f0b931dd Added substr, findFirst, and findLast to the std::string registration
REVERT: 56401f5b8c Created the basics of the asrun sample
REVERT: a2fdfd1227 - Removed deprecated code - fixed compiler warnings
REVERT: a68975b119 Fixed problem with native calling conventions on PS3 and XBox 360.
REVERT: 89672f31ee - Added msvc10 project files - updated change file
REVERT: 8677914058 - Fixed bug with write-only property accessors. - Added critical section around the creation of the global threadmanager.
REVERT: 9142ec03dd Some fixes detected while testing on MSVC6.
REVERT: 16c3bd1c96 Validating property name conflicts against methods
REVERT: f5c8b3a5ae Fixed compile error when attempting to assign to a member of a handle returned from another function
REVERT: dca1d17725 Fixed bugs related to enums
REVERT: 2e071b51ce Fixed bug with identifying shared interfaces in multiple modules
REVERT: 44fdce8a79 Completed the implementation for default arguments
REVERT: b38c8ea04a - Fixed default args that used variables already existent in subsequent arguments - Removed compiler warning when calling non-const method on temporary object
REVERT: 717c609a1b - Fixed default args for class methods - Fixed saving/loading bytecode with default args
REVERT: 0435a437fc Fixed default args for constructors/factories
REVERT: 22ca1a447a Fixed bug with private method where compiler was incorrectly invoking base class constructor
REVERT: 4043d2b724 The default arg string is now cleaned up for better storage.
REVERT: 825e1a33ce Removed duplicate functions as they can now use default args instead
REVERT: de146363ab Fixed crash when compiling invalid script
REVERT: 85aefa41ff Default args no longer have access to local variables.
REVERT: 1add655df9 Validating that the default values for parameters are correctly declared
REVERT: 6e31cacb8d Registered functions can now also use default args.
REVERT: b1cbd3993b Initial support for functions with default arguments.
REVERT: 3043d549a3 Starting the support for default arguments.
REVERT: 046b890001 Changing the complex mask for MinGW to include the copy constructor.
REVERT: bf83c0319b Fixed bug with asEP_ALLOW_UNSAFE_REFERENCES
REVERT: 8a11ff40d1 Planning for the default arg implementation
REVERT: cae45ff2c4 Fix compile error on GNUC
REVERT: 03d47a5e0b Fix compile error on GNUC
REVERT: ceea2c1bbd Fix compile error on GNUC
REVERT: b475e8f8f0 Fixed bug with native class methods on iPhone
REVERT: da4027117e Properly handling loading bytecode that attempts to instanciate invalid template type.
REVERT: 5030b43a81 Fixed bug in compiler when a property that takes a reference in set accessor was used in a dual operator expression
REVERT: 43a4f39225 Added LoadRObjR and LoadVObjR and corresponding bytecode optimizations
REVERT: ceef4b22c2 Defined the macro CLEAR_FPU_STACK to determine the use of fninit or emms to clear the stack.
REVERT: 45f2f3cab3 Fixed bug in array add-on when trying to instanciate array<void>
REVERT: 439c9f8d33 Added reverse and find to the script array add-on
REVERT: ec40b67c69 Fixed the PS3 code when a native function returns a pointer.
REVERT: e23982c888 Created a new test for get properties returning references to objects
REVERT: 572c93fb29 There are now less copies done when performing an assignment operation.
REVERT: ec16136555 Preparing some optimizations.
REVERT: da6d0aea1a - Removed the last fninit instructions. - Removed improper assert when AS_USE_DOUBLE_AS_FLOAT is used.
REVERT: db0f08d924 Updated the documentation with the new asOBJ_APP_CLASS_COPY_CONSTRUCTOR
REVERT: 9d5f6d54a0 Fixed COMPLEX_MASK for 32bit Mac
REVERT: 898faa5b2f Using asASSERT instead of assert
REVERT: a8a1644d6d Added asOBJ_APP_CLASS_COPY_CONSTRUCTOR
REVERT: cad0f7ca35 Fixed compiler warning about implicit cast from asQWORD to asUINT
REVERT: 5ff73c6096 Fixed gnuc makefiles
REVERT: 5be66d6411 Fixed the calling conventions on 64bit mac for older gnuc versions (4.2.1)
REVERT: 9f5d38af43 Added methods sortAsc and sortDesc to script array add-on
REVERT: e1aa607fb9 Fixed compiler warning on MinGW
REVERT: 2edb5713d8 Releasing 2.20.2
REVERT: 5d2dac1dff Removed the compiler attribute to allow optimization
REVERT: bffbe04022 Fixed the assembler syntax in the macros.
REVERT: 108322c32c Added clobber list to inline assembler to avoid the optimizer mix up the registers.
REVERT: b21e04088f Disabled optimization for functions that uses inline assembler in as_callfunc_x64_gcc to allow optimization of the rest of the library
REVERT: 355fe627a9 Added support for declaring function pointers before the declaration of the types used in its parameters or return type.
REVERT: 7dc9951545 Fixed bug when invoking function pointer directly from class member
REVERT: f135349ad5 Added CMakeLists.txt
REVERT: 4d66ea1a0e Fixed bug with unsafe references and value types
REVERT: cbd6853aa1 Fixed bug in parser when parsing the index operator
REVERT: e9594830de Adding test for compiling complex expressions
REVERT: c521040dcc Fixed bugs with function pointers
REVERT: f83bd0dfe8 Moved the CallSystemFunction into as_callfunc.cpp where it is shared between all platforms.
REVERT: 81c32bc967 Unified code for CallSystemFunction for x86 and sh4
REVERT: ebc22711e1 Unified code for CallSystemFunction for x86 and mips
REVERT: eb4a3a13bc Unified code for CallSystemFunction for x86 and arm
REVERT: 42d379cd34 Unified code for CallSystemFunction for x86 and ppc_64
REVERT: 046a1c6668 Unified code for CallSystemFunction for x86 and x64_msvc
REVERT: c4705dd8b7 Fixed some compiler warnings of unused variables
REVERT: 64f79ccc16 Unified code for CallSystemFunction for x86 and x64_gcc
REVERT: fdb76faabf Improved error handling on AddScriptSection
REVERT: a6974f9243 Minor changes to unify the assembler code on x64_gcc
REVERT: 1628c58273 Unified code for CallSystemFunction for x86 and xbox360
REVERT: c86e026dc5 Creating a new test for a possible bug on Xbox 360
REVERT: 459093ac6e Unified code for CallSystemFunction for x86 and ppc
REVERT: 380c963697 Fixed code for native calling conventions on ppc
REVERT: 76df607c71 Preparing to separate native code from common code in as_callfunc
REVERT: d5d8f0e2c0 Preparing to separate native code from common code in as_callfunc
REVERT: eafe192332 Fixed bug with compiling explicit ref cast of temporary handle that produced invalid bytecode
REVERT: 8d80d4b54b Added swizzle operators xyz, yzx, zxy, zyx, yxz, and xzy to the vector3 add-on
REVERT: 2cb443d2b7 Fixed a bug in the std::string add operator implementations where the input string was incorrectly modified
REVERT: 7a79c63599 Value types allocated on the stack didn't work correctly with the condition operator
REVERT: cc41332bb1 Value cast of an object retrieved from a get accessor wasn't working properly
REVERT: b37862d805 - Cleaned up the code a bit - Added copy constructor to std::string add-on
REVERT: e93dc2e65f When copying an object to remove constness the compiler wasn't handling objects allocated on the stack correctly
REVERT: bf5745ca78 Set property accessor that takes the value by ref was incorrectly accepted for increment/decrement operators
REVERT: 31e7302a40 Using emms instead of fninit to preserve FPU configuration on x86
REVERT: 3ce6ffdb5e Added configurations for Cygwin and Linux/ARM
REVERT: e0dd95d812 Fixed the gnuc makefile for the console sample
REVERT: 5f3de443a6 Fixed bug when calling copy constructor for value types allocated on the stack
REVERT: 8f3a1f5398 Turning off the allocation of value types on the stack until the detected bugs can be fixed.
REVERT: ff73004950 Corrected unsigned integer division and modulo when most significant bit is set.
REVERT: 6c6dd93c38 Corrected integer division and modulo when most significant bit is set. Still need to correct unsigned division and modulo.
REVERT: 1366fd9c7e Releasing 2.20.1
REVERT: 2527eef69b Missing test
REVERT: a4be2c3f63 Fixed bug in 32bit ppc calling convention when passing value type by value
REVERT: ba1b1e4021 Fixed makefile
REVERT: 9479243d07 Testing the performance with and without allocating value types on the stack.
REVERT: 5fcd7df5ac Adding automatic calls to garbage collector
REVERT: f6c61f71a0 Completed the code to adjust bytecode according to the size of value types on the target platform.
REVERT: 3ad44a62cd Working on the adjustment of pre-compiled bytecode when the value type has a different size than originally compiled for.
REVERT: 47f4f7ed47 Saving the size of the value types with the pre-compiled bytecode so it can be validated upon restore
REVERT: 260f6b0eaf Fixed a problem during clean up of configuration groups in the engine destructor
REVERT: f482f3ab11 A little cleanup
REVERT: f2d13dbd3d GetAddressOfVar now returns null if the value object is not initialized yet.
REVERT: 7f42c31e27 Saving/loading the object variable info for the exception handler
REVERT: 22ed96124c Fixed bug with inspecting the callstack
REVERT: 48a24cf364 Fixed memory invasion with value types on 64bit platforms
REVERT: dd82c22a92 Fixed a problem with returning values when there are value types on the stack.
REVERT: 0ebd8f3e4a Fixed a test on gnuc
REVERT: 04aa73b4af Completed the allocation of value types on the stack
REVERT: 2c055db3aa Working on the allocation of value type on the stack
REVERT: 685c444ed9 RegisterObjectType now returns the type id of the registered type
REVERT: 4dc11dd8a9 Working on the allocation of value type on the stack
REVERT: e0027f84da Working on the allocation of value type on the stack
REVERT: 3012bd9a60 Working on the allocation of value type on the stack
REVERT: a98b200ec9 Working on the allocation of value type on the stack
REVERT: ac1cdc7d82 Working on the allocation of value type on the stack
REVERT: b5ae6500a2 Preparing for the implementation of allocation of value types on the stack.
REVERT: ba2cdf529d Added methods for reading/writing binary files to CScriptFile add-on.
REVERT: 37edf4993c Improving the tests with better error messages for the buildbots
REVERT: c340713305 Minor improvements to add-ons
REVERT: 9401d3efd8 Releasing 2.20.0
REVERT: ff5a8a8fcf Writing the article on concurrent scripts
REVERT: 123ab5f15e Fixed bug on Android with asEFuncType and asFUNC_DUMMY
REVERT: 99b38d52c1 Adjusted the methods for debug information in the asIScriptContext
REVERT: 9e98d21a73 Documented the indexed property accessors
REVERT: c6c78dc2b3 Property accessors can now accept an index argument to emulate arrays
REVERT: c2a88ed400 Added PrintException as a standard add-on
REVERT: 4720dfb307 - Fixed crash if script class destructor accessed global variables that had already been deleted. - Improved tests with better error messages for the buildbot.
REVERT: f15d5bfb93 Fixed the preprocessor error
REVERT: 5bd66c6949 Fixed configuration for Linux and non-x86 based processors.
REVERT: 27779f2053 Changes to allow cross-compiling with GNUC
REVERT: 65090edc0a Added support for get_opIndex and set_opIndex.
REVERT: 23bb9df433 Configuration for more BSD systems.
REVERT: 0f4d90ee6f Documented the new need to register the dynamic array type.
REVERT: cd42c713b7 __attribute__ ((init_priority (30000) )) doesn't work for non-class types.
REVERT: f46121ed4f Fixed compile error on GNUC
REVERT: cb5afde4c5 Fixed initialization order of globals
REVERT: 4bce77c849 Fixed memory access after delete
REVERT: 75717000b9 Fixing some uninitialized variables
REVERT: 1d1ce72623 Fixed more compiler warnings in test project
REVERT: 443d0ab32e Improving the tests for the build bot.
REVERT: 73caf25241 Removed compiler warnings
REVERT: 0b2d64c93f Removed compiler warnings on gnuc
REVERT: 1ce2a7a43b Added ability to set callback functions for cleaning up user data when the objects are destroyed.
REVERT: 02ac3a2b34 Corrected change list
REVERT: 07d8c223da Improved compiler error message when trying to declare variable in switch case
REVERT: ffcd13fd94 Fixed compiler warnings.
REVERT: 776fb2b8aa Some minor changes to automatize the tests with buildbot.
REVERT: 0333752587 Fixed bug in parser for functions returning handle to template types.
REVERT: d4699b6323 Added #include <stdio.h> to compile on Linux
REVERT: 25faeb7a2b - Added GetProperty and GetPropertyDeclaration to asIObjectType - Deprecated GetPropertyName, GetPropertyTypeId, IsPropertyPrivate, and GetPropertyOffset in asIObjectType
REVERT: e0b733b04f - Added GetGlobalVar to asIScriptModule - Deprecated GetGlobalVarName and GetGlobalVarTypeId in asIScriptModule
REVERT: 71470cd74e Updated change list
REVERT: 8fcaab2ad5 Added the return of the script section name to the methods that previously returned on the line number and column.
REVERT: 1b5451b8db Improvements to the auto wrapper to support the asCDECL_OBJLAST and asCDECL_OBJFIRST calling conventions.
REVERT: d134d07dbf - Added methods to asIScriptFunction to enumerate local variables - Deprecated IsClassMethod and IsInterfaceMethod, use the new GetFuncType instead - Added a parameter to the GetMethod methods to allow retrieving the real method instead of the virtual method
REVERT: c2c70c7d5b Added support for native calling conventions on PS3 with SNC compiler.
REVERT: 86f490f2db Test calling script class constructor with argument.
REVERT: 0231b7ef56 Improvements to gnuc makefile
REVERT: 66bbb33307 - Added support for attaching user data to a registered function. - Fixed compiler warnings in aswrappedcall.h.
REVERT: b25d4553da Removed the deprecated ExecuteString
REVERT: 221f37de05 Improved compatibility in add-ons with different versions of MSVC
REVERT: ffd55905b6 Implemented InsertAt, InsertLast, RemoveAt, and RemoveLast for the array add-on
REVERT: c0739ee54b Improving GNUC makefile to allow defining the compiler from environment variable.
REVERT: c9cf1244d1 Added support for templates and default array type to asbuild
REVERT: f604ebb51f Improving the manual
REVERT: 10522e2c59 Removed the built-in array type
REVERT: c1f93d89eb Improved MinGW makefile to allow defining compiler and linker commands from environment variables.
REVERT: 781066eb4b Added methods to query whether a class member is private or not.
REVERT: e5cd492756 Improved const correctness of interface methods
REVERT: 5c1ca553ee Added opPreInc, opPreDec, opPostInc, and opPostDec
REVERT: 9c174dfd7d Deprecated asBEHAVE_INDEX
REVERT: c682a853fc Releasing 2.19.2
REVERT: da4295c417 Implemented WriteConfigToFile
REVERT: 601c9d0f15 Enum types prioritizes int when matching functions
REVERT: 172c954bb0 Fixed assert failure on unreleased temporary variables with return statement.
REVERT: 280e2889e0 Fixed implicit conversion from enum to double.
REVERT: e755087ce1 Documented the asbuild sample
REVERT: e14f55c49d The size of script classes and the property offsets are now determined dynamically while loading bytecode instead of reading it from the file itself.
REVERT: f25edd9641 Working on the offline compiler
REVERT: 7058c705bb Starting to implement a generic offline compiler
REVERT: 654f7453e9 Float numbers can now be written without the leading 0
REVERT: 1c22acb56c Fixed problem with comparison of value returned by reference from property accessor.
REVERT: d11fe28970 Fixed bug with loading bytecode with shared interfaces
REVERT: 1edb75de7c Fixed bug in restoring bytecode where some script arrays weren't flagged as garbage collected.
REVERT: c01e549193 Added configurations for native calling conventions on Haiku
REVERT: ff175e1601 Fixed bug in array object that prevented GC from breaking circular references.
REVERT: 76fc76f072 Improving bytecode debug output with print out of variable declarations.
REVERT: c157b2453e Changed the index behaviours to opIndex methods for the string add-ons
REVERT: 8249f3f3e8 Documenting how a script class can be passed to an application function.
REVERT: 1bf5eec5a2 Added instruction PshV8.
REVERT: 79863cb20e Added FreeBSD x64 configurations for native calling conventions
REVERT: 923e6f590a Minor changes
REVERT: dc1842ab6d Detecting class methods with virtual inheritance again
REVERT: 58b5f70a8c Improved compiler message
REVERT: 0107760e79 It's no longer possible to register global function with const modifier.
REVERT: 11563dcb87 Improved validations of the bytecode when loading it to avoid crashes
REVERT: 91d30dff8a Documenting private class members
REVERT: 0676f1ad6a Class methods can now be declared as private
REVERT: e8a186b456 Parser now supports the private keyword in preceding class methods.
REVERT: 726b03407b Fixed assert failure when compiling switch statement with deferred parameters.
REVERT: c6966870d2 Added conversion of bool to string to the string add-ons
REVERT: 3d662a6239 - Get accessor can now return handle, while set accessor takes value or reference. - Made addref/release methods on add-ons const
REVERT: 6119c420b1 Skipping test cases that are not compatible with MAX_PORTABILITY
REVERT: 3d188d356e Adding support for returning 'this' pointer
REVERT: 60ef9178dd Fixed crash on empty heredoc strings
REVERT: 488e8528c4 Minor compatibility issue with MSVC++ 7.0
REVERT: 447d6bd304 Improved the messages when failing to initialize global variables.
REVERT: 0ba2755cd4 Releasing 2.19.1
REVERT: 2093b66c1c Updated some of documentation
REVERT: 5bfe3017a7 Fixed bug in compiler with switch cases and non-local variables.
REVERT: f83a700ec4 Fixed error where temporary variable was overwritten by deferred parameters.
REVERT: dcbf4ee17c Fixed assert failure with registered function definitions
REVERT: 267f13969f Fixed bug when copying script class with handle member on 64bit processors.
REVERT: 7bebe3fbcf Removed unnecessary temporary copy when using default copy behaviour.
REVERT: 6c0c05531f Added compatibility with Mac OS X for X64 CPUs.
REVERT: fb55f2c817 Fixed compiler error when AS_DOUBLEBYTE_CHARSET is defined.
REVERT: 2400f634cc Fixed asIScriptModule::GetFunctionIdByIndex
REVERT: 5197a5b10f Added support for declaring private class members
REVERT: cec3ab114c Implemented the opAssign method for the dictionary add-on.
REVERT: 40a3a488aa Fixed bug with conversion from reference to primitive
REVERT: fd8b34bea4 Fixed changelist HTML error
REVERT: 04f907b664 Storing the section names with the saved bytecode
REVERT: b7288d7c69 - The saved bytecode is now independent of object property offsets - Added the instruction LoadThisR to optimize the access to class members
REVERT: a9be290c42 Preparing for the deprecation of asBEHAVE_INDEX
REVERT: dd56d30628 It is no longer possible to declare a class method with the name of the class
REVERT: dfacfff624 Allowing 'void' parameter lists
REVERT: 8829ce53bb Some fixes for GNUC
REVERT: 59f3d5a78b Added support for the opIndex operator overload method
REVERT: 1b57e53f17 Fixed crash on compiler error with duplicate declaration of variables.
REVERT: 3d4cf4c229 Documented the restrictions for returning references from script functions.
REVERT: 7f608ffdd6 Completed the support for returning references.
REVERT: c2abcc8ef4 Worked on the support for returning references for script functions
REVERT: 0bc8747cad Worked on the support for returning references for script functions
REVERT: 41c4125526 Fixed error message in parser when forgetting the ; after the function definition.
REVERT: e11643e762 Fixed bug with implicit conversion from 'const obj' to 'obj'
REVERT: 54cafd813e Fixed memory leak on compile error when returning ref with deferred parameters
REVERT: ca52e5f69e Working on returning references from script functions.
REVERT: 6637c46246 Updating some project files
REVERT: 98fda5a5cb Planning the necessary changes to support returning references
REVERT: 154fbbd06c Cleaned up the code a bit in as_compiler.cpp
REVERT: 48c330be49 BC_Cast was not saved properly in as_restore.cpp
REVERT: 9c753d1f07 Added some validations to the set property accessors.
REVERT: 1b1916e9cf Fixed precompiled bytecode with enums and arrays
REVERT: 538408f9cd Fixed null pointer exception on a specific compiler error
REVERT: 9eac203005 Releasing 2.19.0
REVERT: 7811496c0c - Added the new factory to the built-in array type as well. - Updated the documentation.
REVERT: 41002bd54b Fixed bug in compiler
REVERT: 8c5ec5c956 Fixed memory leak when a template type had a method that used the template subtype in the parameter list. When the template type then had a circular reference with a script class that instanciated the template, the memory leak occurred.
REVERT: 3d6164e781 - Fixed the template callback for the add-on so that it doesn't fail for script classes if array template is instantiated before the class has been fully defined. - Added the generic calling convention for the new script array factory with default value.
REVERT: 7d18ae35c9 Added factory to template array add-on to allow initializing elements with default value
REVERT: 9399eaf8d9 - Fixed assert failure on compile error - Added GetFuncdefCount and GetFuncdefByIndex
REVERT: 986a02b61a Fixed saving bytecode with function pointers
REVERT: b4ef14867c Added RegisterFuncdef
REVERT: a05d15ef2f Fixed a memory leak
REVERT: 16ede0f99f Improved support for Borland C++ Builder
REVERT: 3e64714d3d Fixed bug with restoring bytecode with template types that used classes declared later in script.
REVERT: e2f606cc0a Fixed bug with templates in script classes
REVERT: 6740c60edf Fixed a stack overflow in as_callfunc_x64_gcc.cpp
REVERT: 1430ee78e9 Fixed problems on big endian CPUs.
REVERT: f1df249aa9 Applying fixes to XBox 360 code.
REVERT: 41d78b415e Fixed bug with implicit ref casts for global variables.
REVERT: cbf5c006ee Fixed assert failure on compilation with undeclared variable
REVERT: e3e2bc863e Fixed bug with property accessors in type conversions
REVERT: 5e8fc27486 Fixed a bug in the saving of bytecode that caused problem with template classes.
REVERT: b2b7d4e458 Added engine property to permit disabling property accessors
REVERT: eed0f5fd68 The saved bytecode is now independent of the CPU byteorder
REVERT: cc04aae9d3 - Strings are now only saved once in the pre-compiled bytecode - Fixed a bug with incremental garbage collection
REVERT: 470a5c0b5a Further decreased the size of saved bytecode
REVERT: ea5c52eb70 Fixed bug with property accessors in switch expression
REVERT: 52f09244af No more recursiveness for property accessors in classes, when there is a true property of the same name.
REVERT: 50f3ee68cd Further decreased the size of saved bytecode
REVERT: b1273f4552 Property accessors won't go into infinite recursiveness when attempting to access true property of the same name.
REVERT: cabe3431e2 Compiler no longer hangs on compiling enums with name conflicts.
REVERT: f8df6c1967 Improving the size of the saved bytecode.
REVERT: 297242c8dc Improving the size of the saved bytecode.
REVERT: ad826849ab Fixed calling property accessor surrounded by parenthesis
REVERT: 7379848c3d Bug fixes
REVERT: 130230de5f Fixed size of enum types on 64 bit platforms
REVERT: 0098551c05 Releasing 2.18.2
REVERT: ef25204531 Fixing a bug when growing the stack while calling a class method.
REVERT: c8ddc8a266 Fixed bug with posix threads on 64bit platforms
REVERT: 458acff58e Fixed bug with property accessor in do-while condition
REVERT: 41f717fd8b Fixed bug on 64bit Linux native calling convention
REVERT: aa2c732d1e Added Borland C++ Builder project and configuration
REVERT: f939742075 Testing
REVERT: 38956aaa02 Fixed bug with property accessors from within class method
REVERT: a0e9968b4b Implicit conversion from handle to reference no longer gives compiler error.
REVERT: 55f0f3a968 Fixed bug in virtual machine when growing the stack
REVERT: d8db93498e Fixed bug in compiler
REVERT: 531f2a1b72 Fixed bug when calling local function pointer with arguments.
REVERT: 9706bac1f4 Fixed bug when parsing local function pointer variables.
REVERT: 4c2a1bdc05 Completed the function pointer feature for 2.18.2. More improvements will be added in future versions.
REVERT: fccc2a9be3 Fixed bug in compiler
REVERT: 59c0da773c Added the bytecode instruction FuncPtr for pushing a function pointer on the stack.
REVERT: 6871b8d4f3 It is now possible to call a function through a pointer that is member of a class.
REVERT: 6600355c6c Fixed a bug with property accessors for objects in an array
REVERT: c65943cc7d Fixed bug with property accessor in while condition
REVERT: 83cdc25ff0 Fixed a bug in the compiler
REVERT: 6ace36ddd2 Minor adjustments to the function pointer
REVERT: 92e1239c55 It is now possible to call a function through a function pointer.
REVERT: 84e30891de Working on the function pointers
REVERT: edace57e43 Planning the implementation of the function call through function pointer.
REVERT: 268ae5d979 Working on the function pointers. The address of a function can now be stored in a variable with matching signature for the funcdef.
REVERT: ed9b44922b Working on the function pointers.
REVERT: 9c1fb31eac Implemented parsing for the funcdef declaration.
REVERT: 6a3b8df47c Updating change history to reflect release of 2.18.1
REVERT: 732b2a2c24 Releasing 2.18.1
REVERT: 562c185d07 Optimizations
REVERT: 7435aa18fa Fixing the fix
REVERT: 5bbf18ee7a Fixed bug where ref cast for null handle would raise a null pointer exception.
REVERT: 58fbd8e599 Optimizing the generated bytecode.
REVERT: 1575e5a5d2 Adding some comments on ideas for optimizations
REVERT: d11ff3efc3 Fixed the assembler code for native calling conventions on 64bit Windows to work nicely with full compiler optimizations, i.e. make sure the stack is 16byte aligned and also has room for temporary stack space.
REVERT: 8386bccd84 Fixed bug with saving bytecode and script constants.
REVERT: bb17373635 - Fixed memory leak when global property forms a cyclic reference an initialization function that calls a function that references the property. - Optimized the byte code. Especially scripts with lots of comparisons will see a great improvement.
REVERT: a79103b677 Property accessors are now available for global properties as well.
REVERT: acb1d577e6 Native calling conventions on Win64 is now fully working with MSVC compiler.
REVERT: 4d4e4d3e9a Characters above 127 were incorrectly converted to UTF8 when scanner was set to ASCII
REVERT: 13e0a8dda4 Only one test is still failing for native calling conventions on 64bit Windows.
REVERT: f89b753486 Working on the native calling conventions for 64bit Windows
REVERT: eb7cd0b712 Fixed a bug with asCContext::Abort that only suspended the execution.
REVERT: 999ddb15da Native calling conventions on 64bit Windows is now mostly working. Only a few tests still fail.
REVERT: 592a179d13 The cdecl calling convention is now working natively on 64bit Windows.
REVERT: 69bbb0bd9a Working on support for native calling conventions on 64bit Windows.
REVERT: 8862d43995 Fixed some 64bit compatibility issues.
REVERT: 3ffd4ef4d1 Added support for asBEHAVE_LIST_FACTORY
REVERT: 8d2856dbb4 Working on the new factory behaviour used with initialization lists
REVERT: cb6852625e Using the copy constructor to initialize temporary copies of objects.
REVERT: 81008415bf Changed the bytecode instructions to hold the address of the global variables directly in the arguments instead of an index into an array.
REVERT: cb6f0574ac Releasing 2.18.0
REVERT: c5ad6ebe43 documentation
REVERT: a14cd36d88 Updated the console sample to add the ability to dynamically declare user functions and variables.
REVERT: 5b4bc5d1fa A week of work
REVERT: df6eb2f40d Added full garbage collection to script functions and script class types so that these objects can be properly managed.
REVERT: 24b66b1c81 - Added asIScriptModule::RemoveFunction - Started work on garbage collection for script functions
REVERT: 7cf7aadc0e Working on CompileFunction
REVERT: 2f196dff8e Added asIScriptModule::CompileFunction for dynamically compiling individual functions.
REVERT: 02eee03179 The global properties are now reference counted as well.
REVERT: 514b3eaabf Cleaning up the code a bit
REVERT: 8713216f14 Changed the memory management of script functions to be reference counted.
REVERT: 43f0fb9728 - Moved information about imported functions to the engine - The context no longer references the module
REVERT: 1c3260a179 String constants are now shared between modules.
REVERT: 7aa98eeccd - Added support for native calling conventions on iPhone. - Each script function now has its own list of global variables, instead of relying on the module for that.
REVERT: 1b43dd42da Global script variables now have individual initialization functions which will permit variables to be added and removed separately from the module.
REVERT: 49de2c7a86 Fixed some problems with AS_MAX_PORTABILITY mode.
REVERT: 640e5bc3ef Minor fixes
REVERT: 988514631d Fixed UTF16 encoding on big endian processors
REVERT: 712365dfef - Improvements to the code - Documentation - Updating MinGW makefile
REVERT: 73ce8c8ffb Fixed improper re-use of temporary variable by property get accessor when compiling binary operators
REVERT: b0e679e57b Added support for UTF-16 encoded string literals
REVERT: a08935cc4a Fixed crash with too large array sizes for built-in array object and array template add-on.
REVERT: 3d7d0295b0 Fixed the samples makefiles for Linux GNUC
REVERT: 0dc1105033 Fixed a bug with get and set property accessors on temporary variables.
REVERT: efbd5317c1 Releasing 2.17.2.
REVERT: 5d847c2808 Documentation
REVERT: 7298cd6368 Minor changes
REVERT: 5e46275367 Fixed bug in the template factory stub generation that made the stubs not clean up the arguments from the stack after returning.
REVERT: 2dd78616f2 Added asBEHAVE_TEMPLATE_CALLBACK
REVERT: 19c860e40a Fixed registration of class methods & behaviours when the type was registered in a previous config group.
REVERT: 2e65106b85 Fixed bug in CScriptBuilder. Updated the include sample to use the new CScriptBuilder.
REVERT: 596e3de86e Changed compiler to permit instantiation of ref types without default factory if a non-default factory is explicitly called.
REVERT: 9ea3e562e8 Fixed bug in compiler that freed objects too early when a post operator returned a reference to a member.
REVERT: 9ed3ec73f0 Fixed assert failure after compiler error in construct call.
REVERT: e15fbc8018 Releasing 2.17.1
REVERT: 27121c69f2 Added const correctness for property accessors.
REVERT: a39e37fbd6 Fixed the compilation of pre and post operators after a get property access.
REVERT: a9ddef7042 - Officially added the support for get and set property accessors - Documented the property get and set property accessors
REVERT: da40563d00 Some more work on getters and setters
REVERT: c1ac7a1d04 Improved the CContextMgr a bit while fixing a memory access violation bug in it.
REVERT: a627fee8c8 Getters and setters is now working for object types too.
REVERT: 96412a9a2c - Renamed as_callfunc_armasm.s to as_callfunc_armasm.S as it seems it makes a difference to the GNUC compiler for Android. - Added makefile to compile AngelScript for Android.
REVERT: 60be135cc1 Property accessors now work when used with function arguments as well.
REVERT: 06ae260549 Fixed crash when loading pre-compiled bytecode that had classes with enums as members
REVERT: 45e7c00b94 - Added support for the Android OS. - Adapted the assembler routines for ARM processors to GNUC.
REVERT: 93ce4c58fd Property accessors can now be used from within class methods without prefixing them with this.
REVERT: 74c2958b2c Fixed bug with &inout and constants for invalid script
REVERT: 53920d95d1 Fixed an error in the parser that prevented the declaration of templates with a handle as subtype.
REVERT: 6fb8db2d75 Improved the CScriptBuilder to allow custom include directive processing via a callback.
REVERT: d8435560f3 Working on the get/set accessors
REVERT: 516a01fc7e Added initial support for get/set accessors for properties.
REVERT: c65cec9254 Fixing a bug in the loading of pre-compiled bytecode and the built-in array type.
REVERT: 3e40e188e2 - Added reference counter to global variables. - Pre-compiled bytecode is now agnostic of the order the global properties were registered.
REVERT: 4d354c88ee Changing the way global properties are stored internally.
REVERT: ca49a747bd Added support for template types as subtypes of a template type.
REVERT: 741fdd7120 Releasing 2.17.0
REVERT: d00e1f575e - Updated the C interface with the latest changes - Added CContextMgr as add-on with support for co-routines and concurrent scripts
REVERT: 03fc8bbc0f - Adjusting the JIT compiler interface - Fixed the name space declaration in as_criticalsection.h
REVERT: 53e9339907 Documentation
REVERT: fb4c0beb21 - Added validation for duplicate switch cases in script compiler - Added AddRef, Release, and IsReadOnly methods to asIScriptFunction. - Deprecated asIScriptObject's GetPropertyPointer, which has been replaced with GetAddressOfProperty. - Deprecated asIScriptContext's GetArgPointer, which has been replaced with GetAddressOfArg. - Renamed as_scriptstruct files to as_scriptobject
REVERT: 3c967092e2 - Fixed a bug with ref types as members of script classes. - The variable parameter type now receives references to objects, instead of references to pointers to objects. - Added IsReadOnly to asIScriptFunction.
REVERT: 5243d9dd55 - Added CScriptArray add-on. - Updated documentation. - Changed asBC_SET8 to asBC_PshC8.
REVERT: 65a4d1472c Fixed crash in compiler on invalid script.
REVERT: a9d7aa7741 - Added asEP_INCLUDE_JIT_INSTRUCTIONS to add the extra instructions needed for JIT compilation. - Documentation
REVERT: c8903f803b - documentation - fixed a bug with MSVC6 and scriptmath.cpp
REVERT: 629a9bb847 Added CompareRelation and CompareEquality helper functions as add-ons
REVERT: 672863f67c Added the atan2 function to the math add-on
REVERT: 13203be527 Deprecated the asBEHAVE_ASSIGNMENT operator
REVERT: d93c8fd586 - Change asBEHAVE_REF_CAST and asBEHAVE_IMPLICIT_REF_CAST to object behaviours. - Deprecated RegisterGlobalBehaviour, GetGlobalBehaviourCount, and GetGlobalBehaviourByIndex - Deprecated CompareScriptObjects
REVERT: 4f2e74b840 Fixed some minor issues with x64 platform and AS_MAX_PORTABILITY
REVERT: 703aa65f96 It's no longer required to define the application type flags when registering a value type, unless the type is going to be returned by value or passed by value to a function with native calling convention.
REVERT: 279718c21c Minor adjustments to the JIT compiler plug-in interface
REVERT: dedb84fc63 Completed the interface for external JIT compiler plugins
REVERT: 404e77d211 More code cleanup for the JIT compiler interface
REVERT: c2005802fa Added asIJITCompiler interface
REVERT: fd233928ff - Cleaning up the code in preparation for public JIT compiler interface - Unified parts of the native calling convention code for better maintainability
REVERT: 74c7eaf7e3 Fixed an error with AS_MAX_PORTABILITY.
REVERT: b55e7072b4 Fixed some compiler warning on GCC 4 with full warnings turned on
REVERT: 1672a7afcb - Added GetTypeId, GetSubTypeId, AddRef, and Release to asIObjectType - The built-in array type is now completely agnostic of the internals of the library, it sees only the public interface
REVERT: 16f3f79a7f - Fixed compiler error in as_callfunc_xenon.cpp and some warnings in other files. - Removed all old deprecated functionality.
REVERT: b6305b78e8 Releasing 2.16.3
REVERT: 8becba047e - Completed the script class operator overloads. - Documentation.
REVERT: f88fe5d4bf All dual operators can now be implemented by the script classes.
REVERT: 136c24a30f Script classes can now implement opCmp to support all relational comparison operators.
REVERT: c2f8ec1bd4 Fixed a bug with addition and subtraction.
REVERT: 4bae144908 - Compiler can now automatically swap operands for equality tests, if the left operand doesn't have a matching opEquals method, but the right operand does. - If conditions followed by an empty statement now give a compiler error.
REVERT: 355b0acf29 Implemented == and != operator overloads with opEquals class method.
REVERT: e0dadc9f80 Started working on implementing operator overloads for script classes.
REVERT: 37e99e2598 Fixed bug in compiler with output references and constants
REVERT: 284f6eb2b5 Documentation
REVERT: 3e2a87b500 Added support for native calling conventions on ARM processors with MSVC compiler.
REVERT: d2721db7be Releasing 2.16.2
REVERT: 5867602607 Fixed alignment bug for script class properties.
REVERT: 7c4f29789d Fixed a rare bug with MinGW/GNUC with fully optimized application that receive float args in functions.
REVERT: 758daaeb04 Updating gnuc makefiles
REVERT: 35e77ba002 Added support for escape sequences \u and \U. Added asEP_SCRIPT_SCANNER property. With this full support for UTF8 encoded scripts is available.
REVERT: 360383970d Enabled registering the template types for applications. It's working, but not quite useful yet as the application needs to be able to obtain more information from the script engine.
REVERT: 51b130d399 Template work
REVERT: 5869e147bf Template work. Code cleanup.
REVERT: 7d121afc2a Fixed value of asTYPEID_SCRIPTOBJECT.
REVERT: e3189d973c Working on the template type.
REVERT: 6b76930782 Fixed crash in compiler upon error
REVERT: 63e4442578 Changed the asFUNCTIONPR and asMETHODPR macros to use static_cast instead of C-style cast.
REVERT: 69f466aeaa Global variables of primitive types are now always initialized before variables of non-primitive types so that constructors can safely access primitive global variables.
REVERT: ab16c7dfa3 Fixed some compatibility issues with MSVC and 64bit
REVERT: 5dc0cb66ff Fixed bug with multiple levels of inheritance.
REVERT: dd47d7e885 Fixed crash on compiling invalid script.
REVERT: 53351b0117 Fixed application crash after DiscardModule with objects still in garbage collector.
REVERT: f374f251bd Progress on the template type support
REVERT: a713590eb2 Releasing 2.16.1
REVERT: 0ff32fc4a8 Bug fixes and documentation
REVERT: dd315d6384 Documentation
REVERT: cca6790a34 Call stack is now only cleaned up when context is reused or released. This permits examining the call stack after the Execute method returns asEXECUTION_EXCEPTION.
REVERT: 37d054e186 Fixed bug when compiling script functions that return 'const string'.
REVERT: 1b060a0f78 - Fixed multithread support on FreeBSD. - Improved include directive support in CScriptBuilder to support relative paths.
REVERT: c70204fe6c Fixed explicit value cast to object type via implicit value cast behaviour instead of constructor.
REVERT: b6fc9ff964 Fixed bug with implicit value cast to another object type.
REVERT: cb9097c840 Added support for specifying enum value with scope operator.
REVERT: 82000927f4 - Compiler is now giving a proper error when script function returns reference (Thanks marvi) - Fixed crash when a script constructor that receives object handle throws an exception (Thanks cvet) - Removed compiler warnings on MSVC9
REVERT: 40da0a31d7 Bug fixes
REVERT: 00ea0dabd9 Improved support for scripts containing international characters.
REVERT: e3b590ce88 Fixed crash when assigning array to itself.
REVERT: 8782f8e521 Fixed incorrect conversion of null to primitive
REVERT: f3b0ade046 Fixed problem with float values and locale.
REVERT: 38387724b6 - The built-in array object is now implemented as template object - Fixed a bug with implicit conversion from 'const obj@' to 'obj&'
REVERT: 0f45f51896 Releasing 2.16.0
REVERT: ec3aabd223 Adjusting the autowrapper.
REVERT: dddf9f3c4c Fixed assert failure after compiler error.
REVERT: 8a4fcf48e0 Fixed bug with removing dynamic config groups that had registered a script class interface.
REVERT: 21a06a07b1 Fixed some compiler warnings on GNUC.
REVERT: efafc699b5 Documentation.
REVERT: 4311ff5e96 Various bug fixes.
REVERT: b0b65a3df8 Added out param to GetParamTypeId that permits querying reference type of function parameters. Added documentation for using script classes.
REVERT: a4b67d246f Fixed crash when declaring a script class that inherits from a class declared below it
REVERT: 62778dfeee Implemented GetAddressOfReturnLocation. Added resize method to the string add-ons. Added option for double precision to the math add-on.
REVERT: fe436465ae - Completed interface changes for enumerating registered interface. - A few bug fixes. - Added the autowrapper add-on. - Removed all length output parameters where functions returned strings.
REVERT: 6a01b75253 Added more methods for enumerating the registered interface.
REVERT: d387dd0893 - Added enumeration of registered global properties. - Added engine property to turn off initialization of global variables, for when the compiler is separate from the actual application. - Changed CScriptBuilder to make metadata processing optional through conditional compilation. - Changed CScriptFile to be compatible with both CScriptString and std::string.
REVERT: f6408d0c44 Added complete support for enumerating the code entities in the modules.
REVERT: 2fc6f4b7bf Improved enumeration of object type info. Moved RegisterStdString to the add-on folder.
REVERT: 5a597e4f29 Added enumeration of factory functions, and GetBaseType to asIObjectType.
REVERT: 4890c869fd Changing asIScriptStruct to asIScriptObject. Type id for primitive types are now hardcoded to avoid need to look them up. Added asEP_BUILD_WITHOUT_LINE_CUES.
REVERT: a6739ff4ad Fixing samples coroutine and events on Linux
REVERT: e84b037ed7 Fixed bug in compiler. Fixed concurrent sample on Linux.
REVERT: b9d8eb8a2d Releasing 2.15.2
REVERT: d5d754706a Fixed conditional compilation in CScriptBuilder.
REVERT: 2428396adc Documentation. Added conditional compilation support to CScriptBuilder.
REVERT: 082983dc1b Removing debug flags in gnuc makefile
REVERT: 95eddef2fe Fixed auto handles in as_callfunc_x64_gcc
REVERT: 914342240e Fixed some errors reported by valgrind
REVERT: 824fcd3cea Generic functions are now prepared with a common function, independently of the native calling convention.
REVERT: d576049534 GNUC/LINUX/64Bit doesn't support passing objects by value to application functions
REVERT: 8b11b71ef7 Scope operator now works for variables, to permit accessing global variables when local variable has the same name. Fixed dangling pointer with removal of config groups.
REVERT: 798b06b82b Fixed some 64bit compatibility issues
REVERT: bf6daffd8d Adjusting 64bit support for Linux. Improved error messages for unmatching functions with scope operator.
REVERT: a76e8ac4a2 The scope operator now permits calling global functions when the class implements the same, or calling methods from base class when the method is overloaded in the derived class.
REVERT: 2ed26470f4 Added support for the scope resolution operator in the parser. The compiler still ignores it though.
REVERT: 175d048362 Fixing more compatibility issues with 64bit
REVERT: ef76e04c4c Adding -fPIC to GCC makefile
REVERT: de5c8b6d82 Completed the support for native calling conventions on Linux 64bit.
REVERT: 47678d47b7 Fixed as_config.h
REVERT: 950afcd338 Fixed some 64bit compatibility issues
REVERT: 930fbb737a Fixed as_atomic.cpp for older versions of GCC
REVERT: c6ebd325fc Added support for native calling conventions on 64bit Linux. Still missing support for virtual methods.
REVERT: 469ad5d949 Calling super class' constructor is now working
REVERT: a929a99135 Added support for writing to CScriptString.
REVERT: ec4629b3ea Fixed bug with pre-compiled bytecode
REVERT: db0891f45a Fixed implicit conversion to base class when passing object to function expecting base class by reference.
REVERT: 1285819da8 Fixed explicit cast for script classes.
REVERT: ba57a1acf9 Fixed bug with script class factories with multiple arguments.
REVERT: 98d3085efc Added support for inheritance to script classes.
REVERT: e7cb44c6f9 Releasing 2.15.1
REVERT: 442dfd319e Several fixes for MinGW/Win32
REVERT: d246002801 Adjusting the library for Mac OS X
REVERT: 840696e7be Changed as_atomic.cpp for Linux to use GNUC built-in functions instead of functions meant to be exclusive to the kernel.
REVERT: 36b1607061 Minor adjustments
REVERT: 1077463800 Documentation and more tests
REVERT: 3cd02d5cd4 Memory for global variables is now allocated individually.
REVERT: 64fba0fab2 Created factory stubs for creating the array object so that the compiler doesn't have to supply the object type as a hidden parameter.
REVERT: e15e46f0c7 Fixed bug with temporary variables and index operator
REVERT: 78b85d67cd Added factory functions for script classes. Compiler now call the factory functions to allocate reference objects instead of using the ALLOC bytecode.
REVERT: f88c7a85a0 Fixed bug with bitwise operators and integers smaller than 32 bits
REVERT: f70be5f358 Fixed a bug in CScriptBuilder add-on
REVERT: 302fadbfdd Releasing 2.15.0
REVERT: 47b627b128 Documentation and improvements to the add-ons.
REVERT: 04f3a7c903 Added the asIScriptModule interface. Moved all module methods from the engine interface to the module interface.
REVERT: 95a3c9470b Planning ahead
REVERT: 30c7f733d2 Fixed AS_MAX_PORTABILITY
REVERT: 49147e1a27 Improving the CScriptBuilder
REVERT: d42ddd4dff Removing old deprecated functions. Cleaning up the code.
REVERT: 91553b441e FFixed assert failure. Added ScriptBuilder add-on
REVERT: 8e67597758 Fixed a multithread issue with simultaneous access to the script node memory pool.
REVERT: e85788ef5d Adding ParseToken
REVERT: 3929f7507a Changing asIScriptContext::GetReturnPointer to GetAddressOfReturnValue. Changing asIScriptGeneric::GetArgPointer to GetAddressOfArg.
REVERT: fe43acf82e Fixed bug with index operator and temporary objects. Fixed bug with tokenizer and !is token. Changed GetVarPointer to GetAddressOfVar.
REVERT: e89d870add Fixed bug with saving bytecode with enums
REVERT: 778da764e0 Various minor updates
REVERT: d97782e8e6 Adding more control to the application about how garbage collection is done.
REVERT: 0ab6a36bc4 Fixed a bug with assignment using temporary object
REVERT: a32ac0ebd8 Releasing 2.14.1
REVERT: 6707564ad1 Fixed infinite loop while parsing script that declare const return value for class methods. Fixed some assert failures that happened after compilation errors.
REVERT: 7c81103323 Added multithread support for MacOS X
REVERT: 315b56eee6 Fixed a crash upon application exit when the script engine is released by global variable upon destruction.
REVERT: 02f3c1a1e7 Implemented atomic reference counters for thread safety
REVERT: 35192dfe4a Fixed the namespace for the scriptnode modules
REVERT: 993ab9da55 Improving thread safety of the gc.
REVERT: 05f33b2457 Preparing the GC for improvements
REVERT: 9a1ecd081d Added library logo
REVERT: 237f5baea8 Implemented the 'is' operator
REVERT: 036e89844e New add-on: vector3
REVERT: 9005f1538e Added support for const script class methods
REVERT: e7faa3a990 Updated change list
REVERT: 8eb42dbc09 Added support for optional implicit handle types. Improved object handles in the script handle.
REVERT: f5880b99bd Updated change list to reflect 2.14.0 release
REVERT: 074d17e540 Releasing 2.14.0
REVERT: 359e5d65c4 Improvements to enumeration of global variables, type casts, etc.
REVERT: 003fb72f82 Completed the feature 'shared interface type id for identical interfaces'
REVERT: 2f1ae70257 Identical interfaces in two modules share the same type id.
REVERT: 62f53d146f C interface and bug fixes
REVERT: 05253811b7 Fixed some bugs with SCOPED reference types.
REVERT: 01667cd462 Updating the documentation
REVERT: f09563820a Writing documentation
REVERT: f040eb85b4 Releasing 2.13.1
REVERT: a193eba93c Fixed bug with compiler optimization of constant expressions
REVERT: 31ca05af5b Moving the documentation to doxygen format
REVERT: c888353d68 Moving the documentation to doxygen format
REVERT: 37682a4a6e Moving the documentation to doxygen format
REVERT: 29f1e237e3 Added support for implicit ref casts
REVERT: 29e358cf7e Implementing the implicit ref cast behaviour
REVERT: d3ff1ba2fb Preparing the code for asBEHAVE_IMPLICIT_REF_CAST
REVERT: 338992d884 Fixed bug with enums not ended with comma
REVERT: 98eab84beb Implementing the asIModule interface
REVERT: cb6dea7d41 Fixed bug with temporary variables not being released
REVERT: 7c4417646a Reproduzing a bug
REVERT: 74507685a3 Working on the asIScriptModule interface
REVERT: 16c8874787 Extra validations in Register functions
REVERT: fb72bf9235 Fixed bug with temporary variables
REVERT: 9a1eeff48d Added some test cases to confirm reported bugs
REVERT: 70257fc47b Added support for posix threads. Support for multithreading is now turned on by default.
REVERT: 456f280338 Fixed CRITICAL_SECTION on 64bit Windows
REVERT: afb5d67c59 Added asEP_ALLOW_MULTILINE_STRINGS
REVERT: d397c9f483 Started on a separate C header file for the C interface
REVERT: d6cd8f23d3 Implemented support for single quoted strings.
REVERT: 64b609ba96 Fixed bug with ref casts and script class members. Added asCScriptFile add-on
REVERT: 5fcf2543e1 Fixed the samples before the release of 2.13.0
REVERT: e387964d29 Releasing 2.13.0
REVERT: c083b480e2 Fixed a bug where global arrays of handles where initialized with handles of other global variables
REVERT: 56c7262984 Fixed a bug in compiler that made the script engine fail to clear some object variables when entering functions.
REVERT: a85c72ba40 Fixed cast with missing argument bug
REVERT: b5e31b1fab Updated change history
REVERT: 766a1c6ad0 Added initial support for native calling conventions on 64bit platforms
REVERT: a80d0b6f49 Added support asBEHAVE_REF_CAST
REVERT: 9f1920daf0 More interface improvements
REVERT: f9ea6a2951 Moved some methods from asIScriptEngine to asIScriptFunction
REVERT: 560980dc3b Added methods for enumerating parameter types to asIScriptFunction
REVERT: f9be410dab Moved enumeration of methods to the asIObjectType interface
REVERT: 6116f2ee37 Fixed enum values on big endian CPUs
REVERT: bfe49d25f7 Fixed a bug with bool[] on PPC
REVERT: c09a594096 Fixed compile error on GNUC/Linux
REVERT: ba74f30e6c Added asEP_MAX_STACK_SIZE. Deprecated SetDefaultContextStackSize.
REVERT: 6f5d6b5295 Fixed bug with shift operators and byte operands that should have been converted to dword
REVERT: 0e45e16595 Global variables declared with enum types crashed the engine while compiling the script.
REVERT: c6d1cda717 Moved enum declarations to top of header to fix compiler error on GNUC.
REVERT: 7f7d9dd281 Completed the interface documentation.
REVERT: 9994aee554 Added more function return values to the documentation.
REVERT: f9681a3015 Fixed the C interface
REVERT: d05ede7fa1 Fixed error on non-standards compliant compilers, e.g. MSVC6
REVERT: f7835a9a12 Updated change list according to version 2.12.0
REVERT: 2ace22bafa Releasing 2.12.0
REVERT: 80f3695925 Completed the API reference manual
REVERT: ea8b28798c Setting eol-style
REVERT: 9630d496f0 Corrected the behaviour values
REVERT: 0bc52a6510 Completed some more functions for the doxygen reference manual.
REVERT: a89f0e349e Completed some more functions for the doxygen reference manual.
REVERT: 43e0eb74c7 Completed some more functions for the doxygen reference manual.
REVERT: 8f1033d9d9 Added asIScriptFunction interface
REVERT: e9aa58a764 Improved detection of calling conventions, and began Doxygen documentation.
REVERT: 9eef474709 Added asIObjectType interface
REVERT: ff06a986ac Improved the asIScriptGeneric interface
REVERT: 89045a6e71 Made some tests with bstr
REVERT: 9f94588b43 Added RegisterTypedef and documented the typedef feature
REVERT: 6bbbe233fd Completed the enum feature and documented it.
REVERT: f1fb097388 More tests and improvements of the enum feature
REVERT: 0e7916b993 Implemented explicit casts with enum.
REVERT: 7e4c597560 Implemented implicit conversions with enums.
REVERT: 3bdc8ebb65 Improved enums and performed more tests.
REVERT: c2b505b830 Added support for enum
REVERT: ff1e26a42b Added support for typedefs
REVERT: 50a76f7817 Fixed potential heap corruption
REVERT: 4c67836a4d Fixed assert failure. Exchanged all asserts for asASSERT
REVERT: db1c37b792 Fixed assert failure
REVERT: 9ccb9c76b4 Releasing 2.11.2
REVERT: b170d2bdff Added asBEHAVE_VALUE_CAST
REVERT: 71dc413555 Bug fix and improved error message.
REVERT: a5ed37b077 Setting eol-style
REVERT: 14291c9716 Fixed bug where compiler didn't warn about uninitialized variable when using post increment operator. Fixed bug with switch case and uint8 expressions.
REVERT: 429160f80d Fixed compiler errors with CallFree and ArrayObjectFactory2
REVERT: f6ccb00847 Minor changes
REVERT: 9d42dbc87b ExecuteString no longer locks dynamic configuration groups
REVERT: 4de1bca1da Releasing 2.11.1
REVERT: 05e6c56948 Added scoped reference type. Fixed a couple of bugs.
REVERT: dddf7e0b49 Releasing 2.11.0
REVERT: ed6b4bbcee Fixed compiler error in test project
REVERT: 423daafe44 Fixed uint64 to double conversion
REVERT: 6dfcbe9005 Preparing for 2.11.0 release.
REVERT: 128d508386 Fixed some null pointer accesses.
REVERT: 61580bd9ea bug fixes
REVERT: 89a93b27b0 Fixed bug with gc releasing type definitions too early.
REVERT: d9667fd02e Multithreading support in as_thread.cpp was broken
REVERT: c5fc6fd1b9 Fixed a bug with bytecode optimization.
REVERT: a82d77f154 Added support for native calling conventions on XBox 360. Added asOBJ_NOHANDLE flag to support singleton properties.
REVERT: 4a8038153f Setting eol-style
REVERT: d81dadccdd Implemented the factory behaviour. Added the pod type flag. Removed the alloc and free behaviours.
REVERT: 3d75deb56c Improving RegisterObjectType and validation of behaviours and registered functions.
REVERT: 122046e714 Released 2.10.0
REVERT: be9311afdd Bitwise operations now keep the signed/unsigned type of the left operand rather than converting the result to uint. Several bug fixes are also being checked in.
REVERT: 3bb05582af Fixing compiler warnings
REVERT: 1f412e2415 Adding CompareScriptObjects. Improving ScriptAny. Updating projects.
REVERT: b8979767c2 Finishing the gc feature
REVERT: e8226aea62 A couple of bug fixes
REVERT: 1274e7be48 Fixed compiler warning in script dictionary
REVERT: ba609796fb Fixed CallObjectMethod so it can call virtual methods
REVERT: c2bb8caa20 Improving GC
REVERT: 997fca65d3 bug fixes
REVERT: 3310a6cb4d Improving GC
REVERT: 5fa1580f4d Releasing 2.9.1
REVERT: 16cbc76667 Fixed a bug in ReleaseScriptObject
REVERT: 3b82b37e09 Implementing destructors for script classes
REVERT: ee0fb4757d Releasing 2.9.0
REVERT: 1c21852e2a Fixed bug on PPC
REVERT: 2af1a6a4f1 Setting eol-style for new files
REVERT: d47d4baaa3 Fixed a bug with &inout references and script class members
REVERT: 35921168c3 Finished the dictionary
REVERT: 941c1654dd Moving on with the ScriptDictionary implementation
REVERT: 0b0211dfa7 New methods to support development of generic containers
REVERT: 91dbd9457a Added engine property asEP_COPY_SCRIPT_SECTIONS
REVERT: 72bb86c81d The beginning of a generic dictionary type
REVERT: 21b8bd9298 Adding support for var type
REVERT: a14b55db06 Making GetTypeIdByDecl understand const
REVERT: ee4728e29d Added scriptmath as add-on
REVERT: 569b84a2c2 Added GetThisPointer and GetThisTypeId
REVERT: a55636618c Fixing GetGlobalVarPointer, Adding SetArgByte, SetArgWord, etc
REVERT: 4e22c6a4da Updating project files
REVERT: 10401f9df4 Removed redundant xcode project files
REVERT: 8c85417bf5 Released 2.8.1
REVERT: b713faaec0 Compiler didn't always add references for used object types
REVERT: 0c53f51c8c Updated concurrent sample for Mac
REVERT: 3b59c50d69 Fixed explicit handles on array elements and class members
REVERT: b697b06bf5 Updating MSVC7 projects
REVERT: 6417867b82 Array now calls default constructor for script classes
REVERT: 42a5a524b9 Fixed bug with save/load feature
REVERT: 8511f86a37 Made a mistake when merging main.cpp in test_features
REVERT: a17f0719b4 Fixed boolean operations with trash in upper bytes of word
REVERT: 7f1d8d33c2 Fixed an assert failure after compiler error
REVERT: b26d90319d Corrected ChkNullS
REVERT: 5edbe4b6a2 Fixed problem with the use of CHKREF and parameters
REVERT: b45bae039e Fixed bug with loading bytecode with script classes declared out of order
REVERT: 9f9d99aa88 Removed obselete scr_handles.html
REVERT: ee4faa4bc5 Updates to documentation and PS3 fixes for int64 problems
REVERT: d891d1950f Fixed int64 parameters on 32bit PPC
REVERT: a1d3f259d3 Fixed bug with loading bytecodes and registered array types
REVERT: c2474c3ab4 Removed restriction of object type size
REVERT: 7ca60c596f Fixed bug with initialization lists and arrays of handles
REVERT: e332bef1e1 More tests for PPC. Corrections to make PS3 work again
REVERT: 1f2d6ed45f Fixed bug in GetGlobalVarID methods
REVERT: 7b89eb061a Minor bug fixes
REVERT: a1a2fe5760 Moved PS3 code to as_callfunc_ppc_64.ppc
REVERT: c85acc120b Mac OS PPC native calling conventions are now fully working
REVERT: 9bbf231519 Mac OS X / PPC Native calling conventions is almost fully working now
REVERT: 91f2d32378 Getting closer o supporting PPC on Mac OS X
REVERT: 9f2a2b162a Changes in preparation for PPC / Mac OS X support
REVERT: 7e14fcce22 More testing on PPC
REVERT: 8563604165 Minor changes
REVERT: 1b194b4ab1 Fixed incorrect name conflict between script class methods and global functions
REVERT: 95eaf5b8f1 Fixed intermittent bug in byte code optimization on big endian processors
REVERT: dac89e7bab Minor changes for PPC
REVERT: 32479466af Fixed bug where properties were not validated correctly for name conflicts
REVERT: 914f055448 Fixed assertion failure in compiler
REVERT: e596164b9d Tiny fixes in test_feature project
REVERT: 1f871e79c8 Applying corrections for PS3 code base which got broken with the last bug fixes
REVERT: 997657b3c1 Fixed incorrect registration of functions with void parameters
REVERT: ebbecb4f62 Fixed problem with const references and parameters
REVERT: 4c92af8bc1 Fixed bug with booleans returned from functions that weren't always evaluated as false when expected
REVERT: 65e57b347b Added support for native calling conventions on Mac OS X with Intel CPU
REVERT: db0043e89d Tiny bug fix
REVERT: 9f17576a5c Adding XCode project for test_feature
REVERT: d84d132fbb Preparation for Mac OS X port
REVERT: 4394a030d9 Minor changes
REVERT: af0c90a446 Added support for PS3 native calling conventions
REVERT: b5ec4a5c61 Fixed problem where C++ optimizations could change the result of operations
REVERT: 850e84cf9f Fixed some compiler warnings
REVERT: 098b740650 Reproduced problem with void parameter
REVERT: 0da2eda8c9 More tests on bool types
REVERT: 7c018a7e82 Minor bug fix. Added tests that reproduce some reported problems
REVERT: a208282d80 Parser is now aware of declared types
REVERT: 1e28880fe5 Minor changes.
REVERT: 2de7071122 Improved memory usage from as_array
REVERT: c78c30d6d2 Memory improvements
REVERT: 59fe93d530 More fixes for AS_USE_NAMESPACE
REVERT: c21bd1dc8e Fixed behaviour of the AS_USE_NAMESPACE macro
REVERT: 7a18af83d1 Improvement on memory usage in compilation
REVERT: 832e0b97aa Released 2.8.0a
REVERT: 4ba3dad2f5 Minor fixes for Linux in test_feature
REVERT: 99bb45b957 Fixed Linux compatibility issues with test_features. Converted samples to Linux.
REVERT: 6a982f3aea Fixed the DELETEARRAY macro, removed the DELETEOBJARRAY macro
REVERT: daf3edb8e1 Grammar fix in the change list.
REVERT: 0e1ec407f9 Added AS_NO_USER_ALLOC macro to aid users having problem with the user defined memory functions.
REVERT: 4c8168f0f7 Minor bug fix and better memory tracking
REVERT: 4327f7ab9c Updated project files
REVERT: 4a148de944 Fixed problem with exception handler in script class methods. Released version 2.8.0.
REVERT: dc3e2d0e68 Blocked implicit conversion with multiple chained object constructions
REVERT: e9288aa861 Added support for implicit conversions using class constructors
REVERT: d8fcbc8626 More tuning of memory management
REVERT: deacadf12d Tiny changes and added statistics for memory allocations.
REVERT: b8f085afc2 Improved asCString with regards to memory management
REVERT: ce482cccc4 Added SetUserData and GetUserData to context
REVERT: 915f5d602b Added support for user defined memory manager.
REVERT: eae8c90b05 Updated copyright message.
REVERT: 6dd6d1c048 Fixed the bug with incorrect use of temporary variables during evaluation of function arguments.
REVERT: d0ad656fdd Added tests to reproduce problem of incorrect use of temporary variables during expression evaluations. Fix will be available soon.
REVERT: 672074f71c Fixed numerous compiler warnings
REVERT: 0c732e089c Added GetArgPointer and GetReturnPointer.
REVERT: e939515b66 Testing string parameters
REVERT: 73b2bc1955 Use of the this keyword is not optional when accessing class members from within a class method.
REVERT: c876c79d73 Merged 2.7.1b with trunk
REVERT: 14bbd94200 Cleaned up the code a bit
REVERT: 913934babf Fixed save/load bug
REVERT: ae41ccd7af Fixed MSVC6 compile errors. Reproduced Save/Load bytecode bug.
REVERT: 1914cd7d1c int64 and uint64 are now fully supported in expressions.
REVERT: bfba0495c5 Added the int64 and uint64 types. Still need to make expressions use the full 64 bits though.
REVERT: 5e156a5237 Deprecated the bits type, which is substituted by uint.
REVERT: 6865276cbd Added Set/GetEngineProperty(). ALLOW_UNSAFE_REFERENCES is now an engine property. Removed deprecated functions.
REVERT: 4e68f4b418 Fixed a bug with constant bits8 and bits16.
REVERT: 59d6c4a9ff Testing bits8
REVERT: 9320982348 Releasing version 2.7.1
REVERT: e320938e80 More tests.
REVERT: 16878b1014 Fixed a bug where temporary variables where incorrectly reused.
REVERT: 1a43d7b331 Completed the cast operator. Several bug fixes.
REVERT: 29c51e7026 VM now throws null exception if value is used after invalid dynamic cast
REVERT: f8f585c283 Progress on the cast operator
REVERT: 2d650dd575 Added the actual sample files
REVERT: 5915f8f960 Added a sample showing how to implement #include
REVERT: ee21970855 Fixed the last known problems with PPC in max portability mode.
REVERT: 5a22a07d31 Added proper treatment of literal constants of 8bit and 16bit sizes
REVERT: f80cd06659 Further changes towards PPC compatibility. Now only literal constants remain incompatible.
REVERT: 1545fc2477 Fixed compiler differences for 64bit int literals
REVERT: 7f854f8f66 Implemented iTOb and iTOw with compiler changes for support for big-endian CPUs
REVERT: cfbc0db68e More fixes for PPC. Everything should be working now, except for when datatypes of different sizes are mixed in expressions.
REVERT: 308a7465aa More fixes for PPC.
REVERT: 4a994345a3 Setting eol-style for all source files
REVERT: 615c6029f0 Planning ahead for improved handling of 8bit and 16bit variables in the virtual machine. This is necessary to support CPUs that use big endian memory layout.
REVERT: a2a6fda1fc Minor changes
REVERT: 3ead0d05d9 Restructured as_config.h to make it easier to maintain.
REVERT: d487bd925b Fixed some portability issues for PPC. More is needed though.
REVERT: 60dc3f6098 Setting eol-style to native
REVERT: 705b678960 Unification of line endings
REVERT: eef3a8c0e8 The new cast operator now works for primitive types.
REVERT: afe315fc75 Fixed a bug with RegisterGlobalProperty.
REVERT: dd3f77d127 Adding parsing of the cast<type>(expr) operator
REVERT: 9c4f84eeb7 Minor bug fixes
REVERT: be51b57547 Released 2.7.0
REVERT: 6af9533ede Added check to verify that script class members have a size greater than zero.
REVERT: 7921131491 Added as_callfunc_ppc.cpp prepared by Pecan Heber and adjusted by Kunitoki
REVERT: aaeb979c81 Fixed a compile error in as_bytecode.cpp
REVERT: 1c6c0ee476 Added test_feature makefile for gnuc.
REVERT: a1392b6c1b Fixed some bugs on 64bit processors
REVERT: 04ce3e4758 Updated the tutorial sample to support the generic interface when native calling conventions are not supported.
REVERT: 27adb83aac Several bug fixes
REVERT: 6c4f24ffbf Updated test cases for better coverage with AS_MAX_PORTABILITY.
REVERT: c29793ab37 - Added asGetLibraryOptions(). - Fixed a couple of bugs with AS_MAX_PORTABILITY.
REVERT: c0748d0b0b Fixed a couple of compiler warnings.
REVERT: 3dc591ffa7 Disabled assembler code on PPC by default, since the code in as_callfunc_ppc.cpp is incorrect.
REVERT: f6eca932d6 - Fixed bug with Discard(). - Updated manual and samples with the new message callback.
REVERT: 092289c40c Replaced SetCommonMessageStream with SetMessageCallback
REVERT: c76118ea03 Fixed assert hit for some compiler errors
REVERT: 7f70b2e33a Improved performance of Prepare() when calling the same script function repeatedly
REVERT: edb957e08d Improved the speed for calling interface methods.
REVERT: 4509657a16 Added xcode project files. Updated manual for GetVarPointer().
REVERT: 5a4ca9670c Added asIScriptContext::GetVarTypeId()
REVERT: ba98e590a0 Deprecated the 'struct' keyword in the script language
REVERT: 2d39a375be Unified the way script and system functions are stored by the engine
REVERT: 843227c9ff Added support for the '\t' char escape sequence in string literals.
REVERT: 0abafe4c47 - Added GetFunctionModule(), deprecated GetModuleIndex() and GetModuleNameFromIndex() - Saving and loading of bytecode now works with interfaces and class methods as well
REVERT: 8240a131c8 - Improvements to MIPS code. - Preliminary native support for PPC processors.
REVERT: a0ac57e827 Added methods RegisterInterface and RegisterInterfaceMethod to the engine
REVERT: 9f3fe47940 Modified engine's GetMethod methods to take a typeId instead of module and type names.
REVERT: e136a338d7 Added the interfaces to the script language so that polymorphism can be used.
REVERT: 3845fe1093 Fixed a couple of bugs with the parser
REVERT: 910e2fdf55 - More bug fixes - Added MIPS support
REVERT: 4c3c6a6d8f Fixed bug where the engine failed to find the script class methods if the class was not defined in the default module.
REVERT: 4b32359c15 Applied code changes to make the library work better with 64bit systems.
REVERT: 53d79c9a09 Released 2.6.0
REVERT: cc6f71b1e9 Fixed a bug in Prepare() that caused the stackFramePointer to be calculated incorrectly, causing buffer overflow.
REVERT: 9250cbf070 Reorganized the documentation.
REVERT: 669a23db9e Released 2.6.0 WIP 4
REVERT: 5f8ee7adf6 Compiling for 64bit targets now automatically defines the AS_64BIT_PTR flag
REVERT: 549313bb29 Added methods to the script engine to obtain the function id for script declared class methods.
REVERT: 960a850b48 Updated the documentation with the latest changes.
REVERT: 4594343d83 - Type conversions may now be used in initializations of global variables. - A line break is now added to the string passed to ExecuteString() allowing the use of one line comments. - When trying to register dual operators as object behaviours a text message explaining the error is sent to the message stream.
REVERT: ffab304774 git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@12 404ce1b2-830e-0410-a2e2-b09542c77caf
REVERT: 587fa98c56 git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@9 404ce1b2-830e-0410-a2e2-b09542c77caf
REVERT: 018658d367 git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@7 404ce1b2-830e-0410-a2e2-b09542c77caf
REVERT: fdcd552f0e Added 2.1.0c
REVERT: 445c9f1710 git-svn-id: https://svn.code.sf.net/p/angelscript/code/trunk@2 404ce1b2-830e-0410-a2e2-b09542c77caf
REVERT: 44362156b0 Created the repository
git-subtree-dir: Source/ThirdParty/AngelScript
git-subtree-split: 1c55f0bf23af1b9a68d263a94270f3f69066839c
Also tweak the Android sample launcher app to go back from MainActivity to LauncherActivity before exiting completely
in order to make it easier to launch many sample apps in a same session.
Previous behaviour allowed main loop to spin (at 10fps, as if window is minimized) while application was in background. This is both bad for battery life and also introduces a race condition where rapidly suspending and resuming application may get it into the state where application is resumed while some or most GPU objects are not recreated.
[ci package]
Commit: 80668bf125
Message: Add Scene::IsReplicatedID() static helper method for code reuse.
Modify the Angelscript binding of the Component::IsReplicated() to use asMETHODPR macro to keep VS happy.
The "void" keyword being flagged up in this case cannot be actually removed, so this is really a bug in the check in question to confuse "typeid" as a function.
`UIElement3D` is no longer in public API. This prompted addition of `UIComponent::SetViewportIndex(unsigned index)` API for controlling which viewport is used for UI input mapping. If component does not belong to a node then index will be cached and used when component is added to a node. Not setting viewport index or setting invalid index will result in use of viewport at index 0.
`UIElement3D` no longer holds `UIComponent` pointer. Instead it holds `Node` pointer and obtains `Scene` and `StaticModel` directly from the model. This allows model to be removed and re-added without breaking. Note that after re-adding (likely new) `StaticModel` it is user's responsibility to set material returned by `UIComponent` to a new `StaticModel`.
`UIElement3D` no longer caches model pointer if component does not own the model. As a result of that flag `isStaticModelOwned_` was removed.
Swapped protected members and methods in `UIComponent` to fit style guidelines.
Turns out 3D UI implementation was not flexible enough. This change allows ultimate freedom by splitting up responsibilities correctly.
UIComponent is no longer responsible for storing batches and vertex data. This information was moved to new `RenderToTextureData` struct inside `UI` subsystem. `UI` and `UIComponent` are no longer friends of each other.
New class `UIElement3D` was created. It is used as root UI element of UI rendered in a 3D scene. It implements `ScreenToElement()` method which is used for translating screen coordinates to element coordinates. Previously `UIComponent` did translation of these coordinates. `UIElement3D::ElementToScreen()` is not implemented at this time and returns `{-1, -1}` (invalid coordinates). It is also possible to set a custom viewport to root element of `UIComponent` and this viewport will be used for processing user input.
In order to render UIElement to a texture it is enough to call SetRenderTexture(texture), where texture is set up as `TEXTURE_RENDERTARGET`. In order to properly support input of `UIElement` rendered to a texture user should subclass `UIElement` and implement `ScreenToElement()` method which properly translates global screen coordinates to local element coordinates.
New API:
* UIElement::SetRenderTexture(Texture2D*)
* UI::SetRenderTexture(UIElement*, Texture2D*)