add colors; add repl check

This commit is contained in:
John Alanbrook 2024-08-08 13:25:47 -05:00
parent 515eb65b22
commit ceccd032c2
8 changed files with 26 additions and 15 deletions

View file

@ -1425,6 +1425,11 @@ Vector.random = function() {
Vector.angle_between = vector.angle_between; Vector.angle_between = vector.angle_between;
Vector.rotate = vector.rotate; Vector.rotate = vector.rotate;
vector.direction = function(from,to)
{
return vector.norm(to.sub(from));
}
Vector.equal = function(v1, v2, tol) { Vector.equal = function(v1, v2, tol) {
if (!tol) if (!tol)

View file

@ -1,14 +1,15 @@
var Color = { var Color = {
white: [255,255,255], white: [255,255,255],
black: [0,0,0], black: [0,0,0],
blue: [84,110,255], blue: [0,0,255],
green: [120,255,10], green: [0,255,0],
yellow: [251,255,43], yellow: [255,255,0],
red: [255,36,20], red: [255,0,0],
teal: [96, 252, 237],
gray: [181,181,181], gray: [181,181,181],
cyan: [0,255,255], cyan: [0,255,255],
purple: [162,93,227], purple: [162,93,227],
orange: [255,144,64],
magenta: [255,0,255],
}; };
Color.editor = {}; Color.editor = {};

View file

@ -296,6 +296,10 @@ var entity = {
return bb ? bb : bbox.fromcwh([0, 0], [0, 0]); return bb ? bb : bbox.fromcwh([0, 0], [0, 0]);
}, },
toJSON() {
return {guid:this.guid};
},
/* The unique components of this object. Its diff. */ /* The unique components of this object. Its diff. */
json_obj(depth=0) { json_obj(depth=0) {

View file

@ -19,6 +19,7 @@ global.check_registers = function (obj) {
global.obscure("global"); global.obscure("global");
global.mixin("scripts/render"); global.mixin("scripts/render");
global.mixin("scripts/debug"); global.mixin("scripts/debug");
global.mixin("scripts/repl");
var frame_t = profile.secs(profile.now()); var frame_t = profile.secs(profile.now());

View file

@ -1006,6 +1006,7 @@ prosperon.process = function process() {
profile.frame("hotreload"); profile.frame("hotreload");
actor.hotreload(); actor.hotreload();
render.hotreload(); render.hotreload();
repl.hotreload();
profile.endframe(); profile.endframe();
/* debugging: check for gc */ /* debugging: check for gc */

View file

@ -1505,11 +1505,11 @@ JSC_CCALL(array_lerp,
) )
static const JSCFunctionListEntry js_array_funcs[] = { static const JSCFunctionListEntry js_array_funcs[] = {
MIST_FUNC_DEF(array, add, 1), PROTO_FUNC_DEF(array, add, 1),
MIST_FUNC_DEF(array, sub, 1), PROTO_FUNC_DEF(array, sub, 1),
MIST_FUNC_DEF(array, div,1), PROTO_FUNC_DEF(array, div,1),
MIST_FUNC_DEF(array, scale, 1), PROTO_FUNC_DEF(array, scale, 1),
MIST_FUNC_DEF(array, lerp, 2) PROTO_FUNC_DEF(array, lerp, 2)
}; };
JSC_CCALL(game_engine_start, engine_start(argv[0],argv[1], js2number(argv[2]), js2number(argv[3]))) JSC_CCALL(game_engine_start, engine_start(argv[0],argv[1], js2number(argv[2]), js2number(argv[3])))
@ -3220,7 +3220,7 @@ void ffi_load() {
JSValue array_proto = js_getpropstr(globalThis, "Array"); JSValue array_proto = js_getpropstr(globalThis, "Array");
array_proto = js_getpropstr(array_proto, "prototype"); array_proto = js_getpropstr(array_proto, "prototype");
JS_SetPropertyFunctionList(js, array_proto, js_array_funcs, 4); JS_SetPropertyFunctionList(js, array_proto, js_array_funcs, countof(js_array_funcs));
JS_FreeValue(js,globalThis); JS_FreeValue(js,globalThis);
} }

View file

@ -14,9 +14,10 @@ void script_report_gc_time(double t, double startmem, double mem);
extern JSValue cpShape2js(cpShape *s); extern JSValue cpShape2js(cpShape *s);
#define MIST_CFUNC_DEF(name, length, func1) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE | JS_PROP_ENUMERABLE, JS_DEF_CFUNC, 0, .u = { .func = { length, JS_CFUNC_generic, { .generic = func1 } } } } #define MIST_CFUNC_DEF(name, length, func1, props) { name, props, JS_DEF_CFUNC, 0, .u = { .func = { length, JS_CFUNC_generic, { .generic = func1 } } } }
#define MIST_FUNC_DEF(TYPE, FN, LEN) MIST_CFUNC_DEF(#FN, LEN, js_##TYPE##_##FN) #define MIST_FUNC_DEF(TYPE, FN, LEN) MIST_CFUNC_DEF(#FN, LEN, js_##TYPE##_##FN, JS_PROP_C_W_E)
#define PROTO_FUNC_DEF(TYPE, FN, LEN) MIST_CFUNC_DEF(#FN, LEN, js_##TYPE##_##FN, 0)
#define JS_SETSIG JSContext *js, JSValue self, JSValue val #define JS_SETSIG JSContext *js, JSValue self, JSValue val

View file

@ -169,8 +169,6 @@ time_t file_mod_secs(const char *file) {
mz_zip_reader_file_stat(&corecdb, index, &pstat); mz_zip_reader_file_stat(&corecdb, index, &pstat);
return pstat.m_time; return pstat.m_time;
} }
else
stat(file, &attr);
return -1; return -1;
} }