Commit Graph

61 Commits

Author SHA1 Message Date
Deukhoofd a32b76d904
Fixed error string from userdata return values not persisting long enough.
continuous-integration/drone/push Build is passing Details
2019-09-28 13:35:32 +02:00
Deukhoofd f8cbe502c9
Better handling of userdata exceptions in other languages.
continuous-integration/drone/push Build is passing Details
2019-09-28 13:08:32 +02:00
Deukhoofd e7e5e64bbb
Separate userdata collection handling 2019-09-28 12:03:50 +02:00
Deukhoofd de39464b33
Fixed not being able to set to a string indexed userdata value. 2019-09-22 17:09:14 +02:00
Deukhoofd 0763ebbad0
Dont allow setting to a userdata field if it has no setter 2019-09-20 18:15:48 +02:00
Deukhoofd 99c91164be
Fixed issue where attempting setting to a non existing field on userdata would crash.
continuous-integration/drone/push Build is passing Details
2019-09-19 15:27:31 +02:00
Deukhoofd 458274f370
Large rework of tables
continuous-integration/drone/push Build is failing Details
2019-09-15 13:08:11 +02:00
Deukhoofd 45d3bc690b
Extern C support for registering function overloads
continuous-integration/drone/push Build is passing Details
2019-09-14 10:19:56 +02:00
Deukhoofd 0266b3c616
Better error handling for extern functions that retrieve userdata 2019-09-12 20:42:18 +02:00
Deukhoofd 73142afa8a
Support for length unary operator
continuous-integration/drone/push Build is passing Details
2019-09-12 18:19:06 +02:00
Deukhoofd ff4af34478
Userdata equality should always be valid to check, even when no explicit operator is given for it 2019-09-12 17:10:44 +02:00
Deukhoofd bd343c1b7e
Allows userdata binary operations to be set externally
continuous-integration/drone/push Build is passing Details
2019-09-12 15:21:10 +02:00
Deukhoofd eca0c6b075
Work on userdata binary operations
continuous-integration/drone/push Build encountered an error Details
2019-09-08 13:53:24 +02:00
Deukhoofd 629adafeaf
Include Userdata string key in userdata object for debugging 2019-09-07 15:22:24 +02:00
Deukhoofd fab2c9eabd
Require explicit inequality as well as equality operators on evalvalues 2019-09-07 13:28:25 +02:00
Deukhoofd d8c67f2dde
Even better exception handling when we can't index an evalvalue 2019-09-07 13:21:35 +02:00
Deukhoofd 5d700aa0e9
Greatly simplify handling numerical eval values, using std::variant
continuous-integration/drone/push Build is passing Details
2019-09-07 10:57:09 +02:00
Deukhoofd a3e77f650a
Improved performance when binding by reusing many common scripttype objects
continuous-integration/drone/push Build is failing Details
2019-09-01 15:35:45 +02:00
Deukhoofd 79873d9d6a
Support for setting userdata casting handling 2019-09-01 13:35:13 +02:00
Deukhoofd 4c97a7c811
Handling for when userdata is not defined yet, but might be defined later
continuous-integration/drone/push Build is passing Details
2019-08-25 11:53:37 +02:00
Deukhoofd 1fcde396c3
Added mutex locks on static variables such as static scope and userdata, that could be shared around threads 2019-08-24 15:11:53 +02:00
Deukhoofd 5e96250d96
Implements initial math library, several reworks for Userdata memory management
continuous-integration/drone/push Build is passing Details
2019-08-17 14:42:48 +02:00
Deukhoofd 7523fb4294
Extern support for creating iterators
continuous-integration/drone/push Build is passing Details
2019-08-15 16:58:16 +02:00
Deukhoofd 0d30d788e9
Extern support for getting a userdata type by hash id
continuous-integration/drone/push Build is passing Details
2019-08-15 16:42:18 +02:00
Deukhoofd 8e64da15a0
Extern support for creating userdata collections 2019-08-15 15:01:27 +02:00
Deukhoofd 5b3bc26bdb
Fixed tests not passing due to 1-indexed system vs 0-indexed thinking
continuous-integration/drone/push Build is passing Details
2019-08-15 11:53:40 +02:00
Deukhoofd 471dbac3b9
Implements iterator for user data collection
continuous-integration/drone/push Build is failing Details
2019-08-15 11:43:08 +02:00
Deukhoofd ece9c1f5eb
Support for Windows builds
continuous-integration/drone/push Build is failing Details
2019-08-11 16:05:14 +02:00
Deukhoofd 2f912afe92
Setup for making script options non global if desired
continuous-integration/drone/push Build is passing Details
2019-08-10 11:55:45 +02:00
Deukhoofd bbda668b3e
Fixed build issues
continuous-integration/drone/push Build is passing Details
2019-07-28 19:20:28 +02:00
Deukhoofd f2cb8d4016
Fix memory leak when setting in UserDataCollection
continuous-integration/drone/push Build is failing Details
2019-07-28 19:03:13 +02:00
Deukhoofd 4b5672e3f5
Implements handling of userdata collection items
continuous-integration/drone/push Build was killed Details
2019-07-28 19:01:07 +02:00
Deukhoofd bbcebffefd
Moved ScriptType classes into separate directory
continuous-integration/drone/push Build is passing Details
2019-07-28 12:58:38 +02:00
Deukhoofd ccc6e297f2
Rework of memory handling in Evaluation
continuous-integration/drone/push Build is failing Details
2019-07-27 17:59:42 +02:00
Deukhoofd e2a0c35992
Large cleanup
continuous-integration/drone/push Build was killed Details
2019-07-25 17:23:54 +02:00
Deukhoofd 32836c6c58
Make a lot of one-liner functions inline
continuous-integration/drone/push Build is failing Details
2019-07-04 19:08:13 +02:00
Deukhoofd bb0a6aba19
General cleanup
continuous-integration/drone/push Build is passing Details
2019-07-04 18:24:49 +02:00
Deukhoofd 5e02b6b389
Cleans up basic library handling, implements print function
continuous-integration/drone/push Build is passing Details
2019-07-04 15:56:42 +02:00
Deukhoofd db2d731b06
Implements support for functions with the same name, but different parameters
continuous-integration/drone/push Build is passing Details
2019-06-29 19:59:42 +02:00
Deukhoofd 24c560b52d
Initial work on standard library
continuous-integration/drone/push Build is passing Details
2019-06-29 16:18:59 +02:00
Deukhoofd ecfc1ae3b7
Cleaner way to define userdata templates
continuous-integration/drone/push Build is passing Details
2019-06-28 23:38:47 +02:00
Deukhoofd eda15e501d
Better handling of creating EvalValues in UserData templates
continuous-integration/drone/push Build is passing Details
2019-06-28 18:31:24 +02:00
Deukhoofd 70f2dea0ce
Some tweaks to the userdata templates
continuous-integration/drone/push Build is passing Details
2019-06-28 17:53:37 +02:00
Deukhoofd 88ea4ed8cd
Template helpers to help define UserData types
continuous-integration/drone/push Build is passing Details
2019-06-28 17:02:38 +02:00
Deukhoofd f7a6ff7d87
Setup basics for userdata binary operations
continuous-integration/drone/push Build is passing Details
2019-06-27 16:48:19 +02:00
Deukhoofd bace7b294d
This mutex issue is going to drive me insane
continuous-integration/drone/push Build is passing Details
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 20:22:20 +02:00
Deukhoofd e13d75a502
move mutex closer to guard call
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 17:12:46 +02:00
Deukhoofd e363d55206
Make mutex non-static again
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 16:34:09 +02:00
Deukhoofd ef150f6851
Make internal storage of userdata non copyable or movable
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 16:21:47 +02:00
Deukhoofd 09e30a234c
Mark mutex in userdata handler as static
continuous-integration/drone/push Build is failing Details
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:51:51 +02:00