Commit Graph
100 Commits
Author SHA1 Message Date
Deukhoofd e0941a9db8 Handle comments 2019-09-01 20:18:32 +02:00
Deukhoofd 0e9c9abf7c Implements unknown types
continuous-integration/drone/push Build is failing
2019-09-01 20:07:09 +02:00
Deukhoofd 01e5441d62 Make nil equivalent type to string and userdata
continuous-integration/drone/push Build is failing
2019-09-01 17:10:03 +02:00
Deukhoofd 2fbe1fdf09 Dont use cached version of NumericScriptType with extern, this causes issues
continuous-integration/drone/push Build is failing
2019-09-01 16:51:26 +02:00
Deukhoofd cf1daf7805 Handle nil keyword
continuous-integration/drone/push Build is failing
2019-09-01 16:16:36 +02:00
Deukhoofd a3e77f650a Improved performance when binding by reusing many common scripttype objects
continuous-integration/drone/push Build is failing
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 b2ee008ba2 Fix Windows version not allowing us to change GLIBC version for functions
continuous-integration/drone/push Build is failing
2019-08-25 18:22:32 +02:00
Deukhoofd b3eee4e89a Enforce older versions of libm for several math libraries to ensure compatibility
continuous-integration/drone/push Build is failing
2019-08-25 17:58:57 +02:00
Deukhoofd f5bfd9c710 Extern C support for creating NilEvalValue
continuous-integration/drone/push Build is passing
2019-08-25 12:38:36 +02:00
Deukhoofd 4c97a7c811 Handling for when userdata is not defined yet, but might be defined later
continuous-integration/drone/push Build is passing
2019-08-25 11:53:37 +02:00
Deukhoofd 5b7da77027 Improvements for extern C scriptoptions calling
continuous-integration/drone/push Build is failing
2019-08-24 18:52:11 +02:00
Deukhoofd df755fcdd3 General fixes for ScriptOptions 2019-08-24 16:11:09 +02:00
Deukhoofd e913f8d052 Allow passing custom scriptoptions 2019-08-24 15:12:09 +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 18ffe00bc4 Fix SIGSEV with malformed functions 2019-08-24 13:54:01 +02:00
Deukhoofd 8103099287 Add extern C function to clone scripts 2019-08-21 10:34:10 +02:00
Deukhoofd faa3000d95 Fixed issue where an indexer followed by a binary operator would ignore the binary
continuous-integration/drone/push Build is passing
2019-08-18 15:44:55 +02:00
Deukhoofd b4897c77ec Adds localized error messages 2019-08-18 15:29:52 +02:00
Deukhoofd 184ef8ec9a Added extern C support for registering static variables 2019-08-18 15:09:44 +02:00
Deukhoofd e939920e5c Support for explicit casting
continuous-integration/drone/push Build is passing
2019-08-18 14:32:14 +02:00
Deukhoofd 1d72e2eccd Better handling of casting
continuous-integration/drone/push Build is passing
2019-08-18 13:17:53 +02:00
Deukhoofd 0fde3d46df Initial work on implicit casting when calling a function
continuous-integration/drone/push Build is passing
2019-08-18 12:13:13 +02:00
Deukhoofd 61d89bd21b Massively reduce Windows build size (~90% reduction in size)
continuous-integration/drone/push Build is passing
2019-08-18 10:57:34 +02:00
Deukhoofd 2d4d3d8856 Apparently Windows does not handle 'long' the same as Unix.
continuous-integration/drone/push Build is passing
2019-08-18 10:30:58 +02:00
Deukhoofd 86d6d5a9cb Enforce 64 bit for Windows test
continuous-integration/drone/push Build is failing
2019-08-17 18:58:43 +02:00
Deukhoofd e9a3a6b391 Tweak approx of math.log test to handle different architectures
continuous-integration/drone/push Build was killed
2019-08-17 18:54:38 +02:00
Deukhoofd 7675af62de Fully implements math library
continuous-integration/drone/push Build is failing
2019-08-17 18:29:02 +02:00
Deukhoofd 5e96250d96 Implements initial math library, several reworks for Userdata memory management
continuous-integration/drone/push Build is passing
2019-08-17 14:42:48 +02:00
Deukhoofd 13b382def2 Implements most of the remaining core standard functions
continuous-integration/drone/push Build is passing
2019-08-15 18:12:29 +02:00
Deukhoofd 7523fb4294 Extern support for creating iterators
continuous-integration/drone/push Build is passing
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
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
2019-08-15 11:53:40 +02:00
Deukhoofd 471dbac3b9 Implements iterator for user data collection
continuous-integration/drone/push Build is failing
2019-08-15 11:43:08 +02:00
Deukhoofd 5387cd15ff Fix windows build using wrong directory
continuous-integration/drone/push Build is passing
2019-08-11 16:49:07 +02:00
Deukhoofd 36a7fd6739 Fixes for CI
continuous-integration/drone/push Build is failing
2019-08-11 16:35:33 +02:00
Deukhoofd ece9c1f5eb Support for Windows builds
continuous-integration/drone/push Build is failing
2019-08-11 16:05:14 +02:00
Deukhoofd 641b6784c7 Support for loading variables from module with require
continuous-integration/drone/push Build is failing
2019-08-11 12:32:18 +02:00
Deukhoofd c39f3a0884 Initial support for require statements
continuous-integration/drone/push Build is failing
2019-08-10 16:45:15 +02:00
Deukhoofd 2f912afe92 Setup for making script options non global if desired
continuous-integration/drone/push Build is passing
2019-08-10 11:55:45 +02:00
Deukhoofd bbda668b3e Fixed build issues
continuous-integration/drone/push Build is passing
2019-07-28 19:20:28 +02:00
Deukhoofd f2cb8d4016 Fix memory leak when setting in UserDataCollection
continuous-integration/drone/push Build is failing
2019-07-28 19:03:13 +02:00
Deukhoofd 4b5672e3f5 Implements handling of userdata collection items
continuous-integration/drone/push Build was killed
2019-07-28 19:01:07 +02:00
Deukhoofd bbcebffefd Moved ScriptType classes into separate directory
continuous-integration/drone/push Build is passing
2019-07-28 12:58:38 +02:00
Deukhoofd 3b344d6d72 Improve performance of cloning StringEvalValue
continuous-integration/drone/push Build is passing
2019-07-28 12:33:14 +02:00
Deukhoofd 1f3ab9243e Cleaned up tokens 2019-07-28 12:19:45 +02:00
Deukhoofd faa9300132 More performant lookup for line number 2019-07-28 12:14:10 +02:00
Deukhoofd 2b248101d5 Better handling of exceptions for extern usage
continuous-integration/drone/push Build is passing
2019-07-27 19:45:15 +02:00
Deukhoofd 586dd994e2 Fix annoying build warnings
continuous-integration/drone/push Build is passing
2019-07-27 18:47:29 +02:00
Deukhoofd 82c82ae93d Fixed memory issue when assigning new method options
continuous-integration/drone/push Build is passing
2019-07-27 18:30:05 +02:00
Deukhoofd ccc6e297f2 Rework of memory handling in Evaluation
continuous-integration/drone/push Build is failing
2019-07-27 17:59:42 +02:00
Deukhoofd 268f6b59fb Removed LastValue variable, as it can be better emulated with basic return values 2019-07-27 10:51:24 +02:00
Deukhoofd 8b80b5789d Switch to new build container
continuous-integration/drone/push Build is passing
2019-07-25 19:16:39 +02:00
Deukhoofd 79597dc080 Add CI Valgrind check
continuous-integration/drone/push Build is failing
2019-07-25 17:37:38 +02:00
Deukhoofd d5e16c3826 Removed memory leaks in function classes
continuous-integration/drone/push Build was killed
2019-07-25 17:30:42 +02:00
Deukhoofd e2a0c35992 Large cleanup
continuous-integration/drone/push Build was killed
2019-07-25 17:23:54 +02:00
Deukhoofd e639a2c170 Implements extern C function to set print func
continuous-integration/drone/push Build is passing
2019-07-25 13:30:40 +02:00
Deukhoofd 40e45b0112 Fixed infinite loop in diagnostics
continuous-integration/drone/push Build is passing
2019-07-21 12:03:56 +02:00
Deukhoofd bb6c7edcf2 Add capacity parameter to the extern C evaluate string function for EvalValues
continuous-integration/drone/push Build is passing
2019-07-21 11:49:45 +02:00
Deukhoofd eb3afce5c5 More removals of inline functions, this time for release build
continuous-integration/drone/push Build is passing
2019-07-04 19:31:52 +02:00
Deukhoofd 017e7fdd2e Remove inline from a couple of functions that were causing issues
continuous-integration/drone/push Build is failing
2019-07-04 19:18:03 +02:00
Deukhoofd 32836c6c58 Make a lot of one-liner functions inline
continuous-integration/drone/push Build is failing
2019-07-04 19:08:13 +02:00
Deukhoofd bb0a6aba19 General cleanup
continuous-integration/drone/push Build is passing
2019-07-04 18:24:49 +02:00
Deukhoofd 0446c1098b Implements toint function
continuous-integration/drone/push Build is passing
2019-07-04 17:18:07 +02:00
Deukhoofd 5e02b6b389 Cleans up basic library handling, implements print function
continuous-integration/drone/push Build is passing
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
2019-06-29 19:59:42 +02:00
Deukhoofd 24c560b52d Initial work on standard library
continuous-integration/drone/push Build is passing
2019-06-29 16:18:59 +02:00
Deukhoofd ecfc1ae3b7 Cleaner way to define userdata templates
continuous-integration/drone/push Build is passing
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
2019-06-28 18:31:24 +02:00
Deukhoofd 70f2dea0ce Some tweaks to the userdata templates
continuous-integration/drone/push Build is passing
2019-06-28 17:53:37 +02:00
Deukhoofd 88ea4ed8cd Template helpers to help define UserData types
continuous-integration/drone/push Build is passing
2019-06-28 17:02:38 +02:00
Deukhoofd 0d63543ff4 Fix fallthrough warnings
continuous-integration/drone/push Build is passing
2019-06-28 13:32:28 +02:00
Deukhoofd df79489d4d Implements while loop
continuous-integration/drone/push Build is passing
2019-06-28 13:28:39 +02:00
Deukhoofd f7a6ff7d87 Setup basics for userdata binary operations
continuous-integration/drone/push Build is passing
2019-06-27 16:48:19 +02:00
Deukhoofd 3367e60ae5 Support break statements
continuous-integration/drone/push Build is passing
2019-06-27 15:55:46 +02:00
Deukhoofd 46197e0a6e Clean up iterator in generic for loop
continuous-integration/drone/push Build is passing
2019-06-27 14:27:31 +02:00
Deukhoofd 9727c9365e Reworked handling of numerical key tables to make iteration over keys actual numerics, instead of strings
continuous-integration/drone/push Build is passing
2019-06-27 14:02:31 +02:00
Deukhoofd d86e9ba8ae Implemented generic for loops
continuous-integration/drone/push Build is passing
2019-06-26 16:19:34 +02:00
Deukhoofd cfd558b718 More CI tweaks
continuous-integration/drone/push Build is passing
2019-06-25 15:38:55 +02:00
Deukhoofd 2284e68ea0 Slight tweaks for CI
continuous-integration/drone/push Build is failing
2019-06-25 15:31:44 +02:00
Deukhoofd 48224afe45 Reduce amount of copies for HashedString for improved performance
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-25 15:18:36 +02:00
Deukhoofd bace7b294d This mutex issue is going to drive me insane
continuous-integration/drone/push Build is passing
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
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
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
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
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:51:51 +02:00
Deukhoofd fd83b6b992 Implemented copy without state function for script
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:35:25 +02:00
Deukhoofd 97be8cded0 More valgrind fixes
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:33:29 +02:00
Deukhoofd 907e444389 More valgrind fixes
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 15:09:00 +02:00
Deukhoofd 021750a135 Fix all valgrind leak issues in tests
continuous-integration/drone/push Build is failing
Signed-off-by: Deukhoofd <deukhoofd@gmail.com>
2019-06-24 13:38:41 +02:00
Deukhoofd 76b8ba3ebc Initial work on iterators, rework of variable handling by including actual string
continuous-integration/drone/push Build is failing
2019-06-23 15:58:14 +02:00
Deukhoofd 1a84661c79 Make zero step numerical for loop use the positive number evaluation 2019-06-23 12:58:01 +02:00
Deukhoofd e472dcec1c Implements numeric for loops
continuous-integration/drone/push Build is passing
2019-06-22 17:35:33 +02:00
Deukhoofd 694b0ac0c0 Work on extern support for userdata functions
continuous-integration/drone/push Build is passing
2019-06-21 23:07:17 +02:00
Deukhoofd 95c322ed2c Implements userdata function support
continuous-integration/drone/push Build is failing
2019-06-21 17:03:13 +02:00
Deukhoofd 6f7d319148 Don't parse expression on different line from return keyword
continuous-integration/drone/push Build is passing
2019-06-19 16:21:21 +02:00
Deukhoofd b76548da16 Cache diagnostic message for easier access, and better extern C handling
continuous-integration/drone/push Build is passing
2019-06-19 15:49:44 +02:00
Deukhoofd 7958576b6a Create entry point to get diagnostic string message
continuous-integration/drone/push Build is passing
2019-06-19 13:37:39 +02:00
Deukhoofd 6bcedaf743 Add backslash to invalid control character error, made pretty error messages use 1-based line index
continuous-integration/drone/push Build is passing
2019-06-19 13:33:01 +02:00