fix syntax

This commit is contained in:
2026-02-17 09:12:48 -06:00
parent 6f6f987649
commit d509f7cbb8
21 changed files with 503 additions and 453 deletions

110
sdl.c
View File

@@ -7,10 +7,10 @@ colorf js2color(JSContext *js,JSValue v) {
colorf color = {1,1,1,1}; // Default to white
if (JS_IsArray(js, v)) {
if (JS_IsArray(v)) {
// Handle array format: [r, g, b, a]
JSValue c[4];
for (int i = 0; i < 4; i++) c[i] = JS_GetPropertyUint32(js,v,i);
for (int i = 0; i < 4; i++) c[i] = JS_GetPropertyNumber(js,v,i);
color.x = js2number(js,c[0]);
color.y = js2number(js,c[1]);
@@ -30,12 +30,13 @@ colorf js2color(JSContext *js,JSValue v) {
JSValue color2js(JSContext *js, colorf color)
{
JSValue arr = JS_NewArray(js);
JS_SetPropertyUint32(js, arr,0,number2js(js,(double)color.x));
JS_SetPropertyUint32(js, arr,1,number2js(js,(double)color.y));
JS_SetPropertyUint32(js, arr,2,number2js(js,(double)color.z));
JS_SetPropertyUint32(js, arr,3,number2js(js,(double)color.w));
return arr;
JS_FRAME(js);
JS_LOCAL(arr, JS_NewArray(js));
JS_SetPropertyNumber(js, arr,0,number2js(js,(double)color.x));
JS_SetPropertyNumber(js, arr,1,number2js(js,(double)color.y));
JS_SetPropertyNumber(js, arr,2,number2js(js,(double)color.z));
JS_SetPropertyNumber(js, arr,3,number2js(js,(double)color.w));
JS_RETURN(arr);
}
vec2 js2vec2(JSContext *js,JSValue v)
@@ -43,9 +44,9 @@ vec2 js2vec2(JSContext *js,JSValue v)
vec2 v2;
// Check if it's an array
if (JS_IsArray(js, v)) {
{ JSValue val = JS_GetPropertyUint32(js,v,0); v2.x = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyUint32(js,v,1); v2.y = js2number(js, val); JS_FreeValue(js,val); }
if (JS_IsArray(v)) {
{ JSValue val = JS_GetPropertyNumber(js,v,0); v2.x = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js,v,1); v2.y = js2number(js, val); JS_FreeValue(js,val); }
} else {
// Try to get x,y properties from object
JSValue x_val = JS_GetPropertyStr(js, v, "x");
@@ -64,9 +65,9 @@ vec2 js2vec2(JSContext *js,JSValue v)
vec3 js2vec3(JSContext *js,JSValue v)
{
vec3 v3;
{ JSValue val = JS_GetPropertyUint32(js, v,0); v3.x = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyUint32(js, v,1); v3.y = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyUint32(js, v,2); v3.z = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js, v,0); v3.x = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js, v,1); v3.y = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js, v,2); v3.z = js2number(js, val); JS_FreeValue(js,val); }
return v3;
}
@@ -75,7 +76,7 @@ float *js2floats(JSContext *js, JSValue v, size_t *len)
*len = JS_ArrayLength(js,v);
float *arr = malloc(sizeof(float)* *len);
for (int i = 0; i < *len; i++)
{ JSValue val = JS_GetPropertyUint32(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
return arr;
}
@@ -84,14 +85,14 @@ double *js2doubles(JSContext *js, JSValue v, size_t *len)
*len = JS_ArrayLength(js,v);
double *arr = malloc(sizeof(double)* *len);
for (int i = 0; i < *len; i++)
{ JSValue val = JS_GetPropertyUint32(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js,v,i); arr[i] = js2number(js, val); JS_FreeValue(js,val); }
return arr;
}
vec3 js2vec3f(JSContext *js, JSValue v)
{
vec3 vec;
if (JS_IsArray(js, v))
if (JS_IsArray(v))
return js2vec3(js,v);
else
vec.x = vec.y = vec.z = js2number(js,v);
@@ -100,11 +101,12 @@ vec3 js2vec3f(JSContext *js, JSValue v)
JSValue vec32js(JSContext *js, vec3 v)
{
JSValue array = JS_NewArray(js);
JS_SetPropertyUint32(js, array,0,number2js(js,v.x));
JS_SetPropertyUint32(js, array,1,number2js(js,v.y));
JS_SetPropertyUint32(js, array,2,number2js(js,v.z));
return array;
JS_FRAME(js);
JS_LOCAL(array, JS_NewArray(js));
JS_SetPropertyNumber(js, array,0,number2js(js,v.x));
JS_SetPropertyNumber(js, array,1,number2js(js,v.y));
JS_SetPropertyNumber(js, array,2,number2js(js,v.z));
JS_RETURN(array);
}
JSValue vec3f2js(JSContext *js, vec3 v)
@@ -114,19 +116,20 @@ JSValue vec3f2js(JSContext *js, vec3 v)
JSValue quat2js(JSContext *js, quat q)
{
JSValue arr = JS_NewArray(js);
JS_SetPropertyUint32(js, arr, 0, number2js(js,q.x));
JS_SetPropertyUint32(js, arr,1,number2js(js,q.y));
JS_SetPropertyUint32(js, arr,2,number2js(js,q.z));
JS_SetPropertyUint32(js, arr,3,number2js(js,q.w));
return arr;
JS_FRAME(js);
JS_LOCAL(arr, JS_NewArray(js));
JS_SetPropertyNumber(js, arr, 0, number2js(js,q.x));
JS_SetPropertyNumber(js, arr,1,number2js(js,q.y));
JS_SetPropertyNumber(js, arr,2,number2js(js,q.z));
JS_SetPropertyNumber(js, arr,3,number2js(js,q.w));
JS_RETURN(arr);
}
vec4 js2vec4(JSContext *js, JSValue v)
{
vec4_union v4;
for (int i = 0; i < 4; i++)
{ JSValue val = JS_GetPropertyUint32(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
return (vec4){v4.x, v4.y, v4.z, v4.w};
}
@@ -150,7 +153,7 @@ double arr_vec_length(JSContext *js,JSValue v)
double sum = 0;
for (int i = 0; i < len; i++)
{ JSValue val = JS_GetPropertyUint32(js, v, i); double num = js2number(js, val); JS_FreeValue(js,val); sum += pow(num, 2); }
{ JSValue val = JS_GetPropertyNumber(js, v, i); double num = js2number(js, val); JS_FreeValue(js,val); sum += pow(num, 2); }
return sqrt(sum);
}
@@ -159,18 +162,19 @@ quat js2quat(JSContext *js,JSValue v)
{
vec4_union v4;
for (int i = 0; i < 4; i++)
{ JSValue val = JS_GetPropertyUint32(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
{ JSValue val = JS_GetPropertyNumber(js, v,i); v4.e[i] = js2number(js, val); JS_FreeValue(js,val); }
return (quat){v4.x, v4.y, v4.z, v4.w};
}
JSValue vec42js(JSContext *js, vec4 v)
{
JSValue array = JS_NewArray(js);
JS_SetPropertyUint32(js, array,0,number2js(js,v.x));
JS_SetPropertyUint32(js, array,1,number2js(js,v.y));
JS_SetPropertyUint32(js, array,2,number2js(js,v.z));
JS_SetPropertyUint32(js, array,3,number2js(js,v.w));
return array;
JS_FRAME(js);
JS_LOCAL(array, JS_NewArray(js));
JS_SetPropertyNumber(js, array,0,number2js(js,v.x));
JS_SetPropertyNumber(js, array,1,number2js(js,v.y));
JS_SetPropertyNumber(js, array,2,number2js(js,v.z));
JS_SetPropertyNumber(js, array,3,number2js(js,v.w));
JS_RETURN(array);
}
vec2 *js2cpvec2arr(JSContext *js,JSValue v) {
@@ -178,7 +182,7 @@ vec2 *js2cpvec2arr(JSContext *js,JSValue v) {
vec2 *arr = malloc(sizeof(vec2) * n);
for (int i = 0; i < n; i++) {
JSValue ii = JS_GetPropertyUint32(js,v,i);
JSValue ii = JS_GetPropertyNumber(js,v,i);
arr[i] = js2vec2(js,ii);
JS_FreeValue(js,ii);
}
@@ -204,11 +208,12 @@ rect js2rect(JSContext *js,JSValue v) {
}
static JSValue floats2array(JSContext *js, float *vals, size_t len) {
JSValue arr = JS_NewArray(js);
JS_FRAME(js);
JS_LOCAL(arr, JS_NewArray(js));
for (size_t i = 0; i < len; i++) {
JS_SetPropertyUint32(js, arr, i, number2js(js, vals[i]));
JS_SetPropertyNumber(js, arr, i, number2js(js, vals[i]));
}
return arr;
JS_RETURN(arr);
}
lrtb js2lrtb(JSContext *js, JSValue v)
@@ -223,27 +228,30 @@ lrtb js2lrtb(JSContext *js, JSValue v)
JSValue vec22js(JSContext *js,vec2 v)
{
JSValue array = JS_NewArray(js);
JS_SetPropertyUint32(js, array,0,number2js(js,v.x));
JS_SetPropertyUint32(js, array,1,number2js(js,v.y));
return array;
JS_FRAME(js);
JS_LOCAL(array, JS_NewArray(js));
JS_SetPropertyNumber(js, array,0,number2js(js,v.x));
JS_SetPropertyNumber(js, array,1,number2js(js,v.y));
JS_RETURN(array);
}
JSValue vecarr2js(JSContext *js,vec2 *points, int n) {
JSValue array = JS_NewArray(js);
JS_FRAME(js);
JS_LOCAL(array, JS_NewArray(js));
for (int i = 0; i < n; i++)
JS_SetPropertyUint32(js, array,i,vec22js(js,points[i]));
return array;
JS_SetPropertyNumber(js, array,i,vec22js(js,points[i]));
JS_RETURN(array);
}
JSValue rect2js(JSContext *js,rect rect) {
JSValue obj = JS_NewObject(js);
JS_FRAME(js);
JS_LOCAL(obj, JS_NewObject(js));
JS_SetPropertyStr(js, obj, "x", number2js(js, rect.x));
JS_SetPropertyStr(js, obj, "y", number2js(js, rect.y));
JS_SetPropertyStr(js, obj, "width", number2js(js, rect.w));
JS_SetPropertyStr(js, obj, "height", number2js(js, rect.h));
return obj;
JS_RETURN(obj);
}
float *rgba2floats(float *r, struct rgba c)