Daniel Kolesa
dc507f80dd
make thread safety a compile-time toggle
2022-04-21 04:54:47 +02:00
Daniel Kolesa
12bd267efc
implement atomic variable storage
...
Variable values are global, and can be accessed concurrently
from different cubescript threads. Make storage of var values
atomic so that it is safe to do so. This is done with a simple
load-store wrapper. It does not do any other operations on the
values, so we can handle floats and pointers this way as well.
Floats are simply stored in the smallest integer type that can
fully fit the float.
2022-04-21 04:08:44 +02:00
Daniel Kolesa
0a432d2f19
document values
2021-04-22 05:20:59 +02:00
Daniel Kolesa
e7578f7e17
document error, ident
2021-04-20 02:52:27 +02:00
Daniel Kolesa
816d6e521d
support user conf file
2021-04-15 20:40:34 +02:00
Daniel Kolesa
84f6d1f0d6
make std::span user replaceable
...
this will allow usage on some older compilers for those who want it
2021-04-15 20:27:24 +02:00
Daniel Kolesa
8b1aaa63fe
add initial doxygen documentation infra
2021-04-15 02:42:06 +02:00
Daniel Kolesa
4da0cb54a8
use format contants in default ivar/fvar/svar handlers
2021-04-06 21:23:17 +02:00
Daniel Kolesa
ddb0799213
minor cleanups
2021-04-03 05:46:05 +02:00
Daniel Kolesa
21aec59ad3
rename namespace to cubescript
2021-03-23 23:32:25 +01:00
Daniel Kolesa
b9b344cba6
remove cs_ namespace in all API
2021-03-23 23:29:32 +01:00
Daniel Kolesa
63251f0eac
add cs_callable to replace std::function
...
now function data can be allocated with our own allocator as
well, plus we get guarantees on small storage; this type is
move-only, and it's also more memory efficient than std::function,
at least the libstdc++ implementation
2021-03-22 01:01:51 +01:00
Daniel Kolesa
10b2a81cec
redo (un)escape_string around output iterators
2021-03-20 06:18:31 +01:00
Daniel Kolesa
320fdbaefd
use c++20 std::span
2021-03-20 05:41:25 +01:00
Daniel Kolesa
d3ec4a47dd
ditch cs_string from public headers + style fix
2021-03-18 23:56:25 +01:00
Daniel Kolesa
6ed9ae1235
get rid of standard i/o inside vm
2021-03-18 00:03:30 +01:00
q66
c2a86f1625
build fix
2017-02-16 20:03:08 +01:00
q66
9b4ea3e765
replace removed PointerRange
2017-02-14 17:41:15 +01:00
q66
41eb8b211f
begin naming scheme rework
2017-02-13 18:11:19 +01:00
q66
d88e9de11a
use unordered_map
2017-01-31 19:28:34 +01:00
q66
d2d262afbd
note about std::function
2017-01-29 19:31:04 +01:00
q66
e624f98be7
remove allocator support for callbacks
2017-01-29 18:33:02 +01:00
q66
0307085c30
CsString is not configurable
2016-11-13 20:49:22 +01:00
q66
ed65356dbe
automagically figure out CsInt minimum and add some extra assertions
2016-11-12 19:15:28 +01:00
q66
58b8f3ba54
make some types not configurable
2016-11-11 22:19:51 +01:00
q66
987d00b933
CsStream is not a thing anymore
2016-10-30 20:29:23 +01:00
q66
845232605d
remove the out stream and re-do the var printing system
2016-09-15 21:59:11 +02:00
q66
cbafbe0fc2
remove the CsAllocator stuff
2016-09-10 17:38:35 +02:00
q66
cdb5a5f6f8
source tree reorg
2016-09-07 22:57:28 +02:00