Skip to content

Commit

Permalink
Fix JavaScriptBridge.eval() never returning PackedByteArray
Browse files Browse the repository at this point in the history
It wrongly returned 20 on array buffers, which used to be the enumerator
value of Godot 3.x's type PoolByteArray, and now is the value of type Color,
while it should return 29 which is the enumerator value for PackedByteArray.
  • Loading branch information
OverloadedOrama authored and akien-mga committed Aug 28, 2023
1 parent 6da4ad1 commit c662491
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions platform/web/js/libs/library_godot_javascript_singleton.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ const GodotJSWrapper = {
return 2; // INT
}
GodotRuntime.setHeapValue(p_exchange, p_val, 'double');
return 3; // REAL
return 3; // FLOAT
} else if (type === 'string') {
const c_str = GodotRuntime.allocString(p_val);
GodotRuntime.setHeapValue(p_exchange, c_str, '*');
Expand Down Expand Up @@ -313,7 +313,7 @@ const GodotEval = {

case 'number':
GodotRuntime.setHeapValue(p_union_ptr, eval_ret, 'double');
return 3; // REAL
return 3; // FLOAT

case 'string':
GodotRuntime.setHeapValue(p_union_ptr, GodotRuntime.allocString(eval_ret), '*');
Expand All @@ -333,7 +333,7 @@ const GodotEval = {
const func = GodotRuntime.get_func(p_callback);
const bytes_ptr = func(p_byte_arr, p_byte_arr_write, eval_ret.length);
HEAPU8.set(eval_ret, bytes_ptr);
return 20; // POOL_BYTE_ARRAY
return 29; // PACKED_BYTE_ARRAY
}
break;

Expand Down

0 comments on commit c662491

Please sign in to comment.