Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47d19ad2fe | ||
|
|
edc75f8839 | ||
|
|
9b5264d916 | ||
|
|
7983e5d777 | ||
|
|
109587f1dd | ||
|
|
6e292f061a | ||
|
|
161b2ca59a | ||
|
|
998ab5a93c | ||
|
|
bc4dcfbabe |
@@ -84,8 +84,7 @@ if(USE_SE_V8)
|
|||||||
IMPORTED_LOCATION ${platform_spec_path}/v8/libinspector.a
|
IMPORTED_LOCATION ${platform_spec_path}/v8/libinspector.a
|
||||||
INTERFACE_INCLUDE_DIRECTORIES ${platform_spec_path}/include/v8
|
INTERFACE_INCLUDE_DIRECTORIES ${platform_spec_path}/include/v8
|
||||||
)
|
)
|
||||||
set(se_libs_name v8_monolith)
|
set(se_libs_name v8_monolith v8_inspector)
|
||||||
set(se_libs_include ${platform_spec_path}/include/v8)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_WEBSOCKET_SERVER)
|
if(USE_WEBSOCKET_SERVER)
|
||||||
@@ -161,9 +160,7 @@ endif()
|
|||||||
|
|
||||||
set(ZLIB z)
|
set(ZLIB z)
|
||||||
if(NOT USE_MODULES)
|
if(NOT USE_MODULES)
|
||||||
list(APPEND CC_EXTERNAL_LIBS ${ZLIB}
|
list(APPEND CC_EXTERNAL_LIBS ${ZLIB} ${se_libs_name})
|
||||||
${se_libs_name}
|
|
||||||
)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Vendored
+23
-27
@@ -185,7 +185,6 @@ declare namespace B2 {
|
|||||||
GetFilterData(): Filter;
|
GetFilterData(): Filter;
|
||||||
Refilter(): void;
|
Refilter(): void;
|
||||||
GetBody(): Body;
|
GetBody(): Body;
|
||||||
GetNext(): Fixture;
|
|
||||||
TestPoint(p: Vec2): boolean;
|
TestPoint(p: Vec2): boolean;
|
||||||
RayCast(output: RayCastOutput, input: RayCastInput, childIndex: number): boolean;
|
RayCast(output: RayCastOutput, input: RayCastInput, childIndex: number): boolean;
|
||||||
GetMassData(massData: MassData): void;
|
GetMassData(massData: MassData): void;
|
||||||
@@ -273,8 +272,6 @@ declare namespace B2 {
|
|||||||
IsEnabled(): boolean;
|
IsEnabled(): boolean;
|
||||||
SetFixedRotation(flag: boolean): void;
|
SetFixedRotation(flag: boolean): void;
|
||||||
IsFixedRotation(): boolean;
|
IsFixedRotation(): boolean;
|
||||||
GetFixtureList(): Fixture;
|
|
||||||
GetJointList(): number;
|
|
||||||
GetWorld(): World;
|
GetWorld(): World;
|
||||||
Dump(): void;
|
Dump(): void;
|
||||||
}
|
}
|
||||||
@@ -323,8 +320,8 @@ declare namespace B2 {
|
|||||||
localAnchorA: Vec2;
|
localAnchorA: Vec2;
|
||||||
localAnchorB: Vec2;
|
localAnchorB: Vec2;
|
||||||
length: number;
|
length: number;
|
||||||
frequencyHz: number;
|
stiffness: number;
|
||||||
dampingRatio: number;
|
damping: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
class DistanceJoint extends Joint {
|
class DistanceJoint extends Joint {
|
||||||
@@ -332,10 +329,10 @@ declare namespace B2 {
|
|||||||
GetLocalAnchorB(): Vec2;
|
GetLocalAnchorB(): Vec2;
|
||||||
SetLength(length: number): void;
|
SetLength(length: number): void;
|
||||||
GetLength(): number;
|
GetLength(): number;
|
||||||
SetFrequency(hz: number): void;
|
SetStiffness(stiffness: number): void;
|
||||||
GetFrequency(): number;
|
GetStiffness(): number;
|
||||||
SetDampingRatio(ratio: number): void;
|
SetDamping(damping: number): void;
|
||||||
GetDampingRatio(): number;
|
GetDamping(): number;
|
||||||
Dump(): void;
|
Dump(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -466,6 +463,7 @@ declare namespace B2 {
|
|||||||
GetReactionTorque(inv_dt: number): number;
|
GetReactionTorque(inv_dt: number): number;
|
||||||
SetMaxLength(length: number): void;
|
SetMaxLength(length: number): void;
|
||||||
GetMaxLength(): number;
|
GetMaxLength(): number;
|
||||||
|
GetLength(): number;
|
||||||
Dump(): void;
|
Dump(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -474,18 +472,18 @@ declare namespace B2 {
|
|||||||
localAnchorA: Vec2;
|
localAnchorA: Vec2;
|
||||||
localAnchorB: Vec2;
|
localAnchorB: Vec2;
|
||||||
referenceAngle: number;
|
referenceAngle: number;
|
||||||
frequencyHz: number;
|
stiffness: number;
|
||||||
dampingRatio: number;
|
damping: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
class WeldJoint extends Joint {
|
class WeldJoint extends Joint {
|
||||||
GetLocalAnchorA(): Vec2;
|
GetLocalAnchorA(): Vec2;
|
||||||
GetLocalAnchorB(): Vec2;
|
GetLocalAnchorB(): Vec2;
|
||||||
GetReferenceAngle(): number;
|
GetReferenceAngle(): number;
|
||||||
SetFrequency(hz: number): void;
|
SetStiffness(stiffness: number): void;
|
||||||
GetFrequency(): number;
|
GetStiffness(): number;
|
||||||
SetDampingRatio(ratio: number): void;
|
SetDamping(damping: number): void;
|
||||||
GetDampingRatio(): number;
|
GetDamping(): number;
|
||||||
Dump(): void;
|
Dump(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,11 +492,14 @@ declare namespace B2 {
|
|||||||
localAnchorA: Vec2;
|
localAnchorA: Vec2;
|
||||||
localAnchorB: Vec2;
|
localAnchorB: Vec2;
|
||||||
localAxisA: Vec2;
|
localAxisA: Vec2;
|
||||||
|
enableLimit: boolean;
|
||||||
|
lowerTranslation: number;
|
||||||
|
upperTranslation: number;
|
||||||
enableMotor: boolean;
|
enableMotor: boolean;
|
||||||
maxMotorTorque: number;
|
maxMotorTorque: number;
|
||||||
motorSpeed: number;
|
motorSpeed: number;
|
||||||
frequencyHz: number;
|
stiffness: number;
|
||||||
dampingRatio: number;
|
damping: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
class WheelJoint extends Joint {
|
class WheelJoint extends Joint {
|
||||||
@@ -513,10 +514,10 @@ declare namespace B2 {
|
|||||||
SetMaxMotorTorque(torque: number): void;
|
SetMaxMotorTorque(torque: number): void;
|
||||||
GetMaxMotorTorque(): number;
|
GetMaxMotorTorque(): number;
|
||||||
GetMotorTorque(inv_dt: number): number;
|
GetMotorTorque(inv_dt: number): number;
|
||||||
SetFrequency(hz: number): void;
|
SetStiffness(stiffness: number): void;
|
||||||
GetFrequency(): number;
|
GetStiffness(): number;
|
||||||
SetDampingRatio(ratio: number): void;
|
SetDamping(damping: number): void;
|
||||||
GetDampingRatio(): number;
|
GetDamping(): number;
|
||||||
Dump(): void;
|
Dump(): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -525,6 +526,7 @@ declare namespace B2 {
|
|||||||
//
|
//
|
||||||
function ConvexPartition(verticesIn: Vec2Vector, trianglesIn: Int32Vector, verticesOut: Vec2Vector, trianglesOut: Int32Vector): void;
|
function ConvexPartition(verticesIn: Vec2Vector, trianglesIn: Int32Vector, verticesOut: Vec2Vector, trianglesOut: Int32Vector): void;
|
||||||
function GetFloat32(memory: number, offset: number): number;
|
function GetFloat32(memory: number, offset: number): number;
|
||||||
|
function SetLinearFrequencyAndDampingRatio(body: Joint, frequencyHertz: number, dampingRatio: number): void;
|
||||||
|
|
||||||
//Contact
|
//Contact
|
||||||
function ContactSetEnabled(contactPtr: number, flag: boolean): void;
|
function ContactSetEnabled(contactPtr: number, flag: boolean): void;
|
||||||
@@ -570,10 +572,4 @@ declare namespace B2 {
|
|||||||
function ContactImpulseGetNormalImpulse(contactImpulsePtr: number, index: number): number;
|
function ContactImpulseGetNormalImpulse(contactImpulsePtr: number, index: number): number;
|
||||||
function ContactImpulseGetTangentImpulse(contactImpulsePtr: number, index: number): number;
|
function ContactImpulseGetTangentImpulse(contactImpulsePtr: number, index: number): number;
|
||||||
function ContactImpulseGetCount(contactImpulsePtr: number): number;
|
function ContactImpulseGetCount(contactImpulsePtr: number): number;
|
||||||
|
|
||||||
//JointEdge
|
|
||||||
function JointEdgeGetOther(jointEdgePtr: number): number;
|
|
||||||
function JointEdgeGetJoint(jointEdgePtr: number): number;
|
|
||||||
function JointEdgeGetPrev(jointEdgePtr: number): number;
|
|
||||||
function JointEdgeGetNext(jointEdgePtr: number): number;
|
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
@@ -1,3 +1,4 @@
|
|||||||
|
// eslint-disable-next-line @typescript-eslint/triple-slash-reference
|
||||||
/// <reference path="./b2.d.ts" />
|
/// <reference path="./b2.d.ts" />
|
||||||
|
|
||||||
declare module 'external:emscripten/box2d/box2d.release.asm.js' {
|
declare module 'external:emscripten/box2d/box2d.release.asm.js' {
|
||||||
|
|||||||
+14097
-11618
File diff suppressed because one or more lines are too long
@@ -1075,6 +1075,38 @@ function dbg(text) {
|
|||||||
abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']);
|
abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function setErrNo(value) {
|
||||||
|
HEAP32[((___errno_location())>>2)] = value;
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
var SYSCALLS = {varargs:undefined,get:function() {
|
||||||
|
assert(SYSCALLS.varargs != undefined);
|
||||||
|
SYSCALLS.varargs += 4;
|
||||||
|
var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
|
||||||
|
return ret;
|
||||||
|
},getStr:function(ptr) {
|
||||||
|
var ret = UTF8ToString(ptr);
|
||||||
|
return ret;
|
||||||
|
}};
|
||||||
|
function ___syscall_fcntl64(fd, cmd, varargs) {
|
||||||
|
SYSCALLS.varargs = varargs;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ___syscall_ioctl(fd, op, varargs) {
|
||||||
|
SYSCALLS.varargs = varargs;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function ___syscall_openat(dirfd, path, flags, varargs) {
|
||||||
|
SYSCALLS.varargs = varargs;
|
||||||
|
|
||||||
|
abort('it should not be possible to operate on streams when !SYSCALLS_REQUIRE_FILESYSTEM');
|
||||||
|
}
|
||||||
|
|
||||||
var char_0 = 48;
|
var char_0 = 48;
|
||||||
|
|
||||||
var char_9 = 57;
|
var char_9 = 57;
|
||||||
@@ -3618,19 +3650,14 @@ function dbg(text) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var SYSCALLS = {varargs:undefined,get:function() {
|
|
||||||
assert(SYSCALLS.varargs != undefined);
|
|
||||||
SYSCALLS.varargs += 4;
|
|
||||||
var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
|
|
||||||
return ret;
|
|
||||||
},getStr:function(ptr) {
|
|
||||||
var ret = UTF8ToString(ptr);
|
|
||||||
return ret;
|
|
||||||
}};
|
|
||||||
function _fd_close(fd) {
|
function _fd_close(fd) {
|
||||||
abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM');
|
abort('fd_close called without SYSCALLS_REQUIRE_FILESYSTEM');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function _fd_read(fd, iov, iovcnt, pnum) {
|
||||||
|
abort('fd_read called without SYSCALLS_REQUIRE_FILESYSTEM');
|
||||||
|
}
|
||||||
|
|
||||||
function convertI32PairToI53Checked(lo, hi) {
|
function convertI32PairToI53Checked(lo, hi) {
|
||||||
assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32
|
assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32
|
||||||
assert(hi === (hi|0)); // hi should be a i32
|
assert(hi === (hi|0)); // hi should be a i32
|
||||||
@@ -3694,6 +3721,9 @@ function checkIncomingModuleAPI() {
|
|||||||
}
|
}
|
||||||
var wasmImports = {
|
var wasmImports = {
|
||||||
"__assert_fail": ___assert_fail,
|
"__assert_fail": ___assert_fail,
|
||||||
|
"__syscall_fcntl64": ___syscall_fcntl64,
|
||||||
|
"__syscall_ioctl": ___syscall_ioctl,
|
||||||
|
"__syscall_openat": ___syscall_openat,
|
||||||
"_embind_create_inheriting_constructor": __embind_create_inheriting_constructor,
|
"_embind_create_inheriting_constructor": __embind_create_inheriting_constructor,
|
||||||
"_embind_finalize_value_object": __embind_finalize_value_object,
|
"_embind_finalize_value_object": __embind_finalize_value_object,
|
||||||
"_embind_register_bigint": __embind_register_bigint,
|
"_embind_register_bigint": __embind_register_bigint,
|
||||||
@@ -3727,6 +3757,7 @@ var wasmImports = {
|
|||||||
"emscripten_memcpy_big": _emscripten_memcpy_big,
|
"emscripten_memcpy_big": _emscripten_memcpy_big,
|
||||||
"emscripten_resize_heap": _emscripten_resize_heap,
|
"emscripten_resize_heap": _emscripten_resize_heap,
|
||||||
"fd_close": _fd_close,
|
"fd_close": _fd_close,
|
||||||
|
"fd_read": _fd_read,
|
||||||
"fd_seek": _fd_seek,
|
"fd_seek": _fd_seek,
|
||||||
"fd_write": _fd_write
|
"fd_write": _fd_write
|
||||||
};
|
};
|
||||||
@@ -3790,7 +3821,6 @@ var missingLibrarySymbols = [
|
|||||||
'ydayFromDate',
|
'ydayFromDate',
|
||||||
'arraySum',
|
'arraySum',
|
||||||
'addDays',
|
'addDays',
|
||||||
'setErrNo',
|
|
||||||
'inetPton4',
|
'inetPton4',
|
||||||
'inetNtop4',
|
'inetNtop4',
|
||||||
'inetPton6',
|
'inetPton6',
|
||||||
@@ -3992,6 +4022,7 @@ var unexportedSymbols = [
|
|||||||
'MONTH_DAYS_LEAP_CUMULATIVE',
|
'MONTH_DAYS_LEAP_CUMULATIVE',
|
||||||
'ERRNO_CODES',
|
'ERRNO_CODES',
|
||||||
'ERRNO_MESSAGES',
|
'ERRNO_MESSAGES',
|
||||||
|
'setErrNo',
|
||||||
'DNS',
|
'DNS',
|
||||||
'Protocols',
|
'Protocols',
|
||||||
'Sockets',
|
'Sockets',
|
||||||
|
|||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Vendored
+1
-17
@@ -42,8 +42,6 @@ declare namespace Bullet {
|
|||||||
// constraints
|
// constraints
|
||||||
|
|
||||||
TypedConstraint_getFixedBody(): ptr;
|
TypedConstraint_getFixedBody(): ptr;
|
||||||
TypedConstraint_getDbgDrawSize(): number;
|
|
||||||
TypedConstraint_setDbgDrawSize(p: ptr, dbgDrawSize: number): void;
|
|
||||||
HingeConstraint_new(ptr0: ptr, ptr1: ptr, ptr2: ptr, ptr3: ptr): ptr;
|
HingeConstraint_new(ptr0: ptr, ptr1: ptr, ptr2: ptr, ptr3: ptr): ptr;
|
||||||
HingeConstraint_setFrames(ptr0: ptr, ptr1: ptr, ptr2: ptr): void;
|
HingeConstraint_setFrames(ptr0: ptr, ptr1: ptr, ptr2: ptr): void;
|
||||||
HingeConstraint_setLimit(p: ptr, low: number, upper: number, softness: number, biasFactor: number, relaxationFactor: number): void;
|
HingeConstraint_setLimit(p: ptr, low: number, upper: number, softness: number, biasFactor: number, relaxationFactor: number): void;
|
||||||
@@ -210,8 +208,6 @@ declare namespace Bullet {
|
|||||||
CollisionWorld_removeCollisionObject(p: ptr, body: ptr): void;
|
CollisionWorld_removeCollisionObject(p: ptr, body: ptr): void;
|
||||||
CollisionWorld_rayTest(p: ptr, p0: ptr, p1: ptr, p2: ptr): void;
|
CollisionWorld_rayTest(p: ptr, p0: ptr, p1: ptr, p2: ptr): void;
|
||||||
CollisionWorld_convexSweepTest(p: ptr, castShape: ptr, from: ptr, to: ptr, resultCallback: ptr, allowedCcdPenetration: ptr): void;
|
CollisionWorld_convexSweepTest(p: ptr, castShape: ptr, from: ptr, to: ptr, resultCallback: ptr, allowedCcdPenetration: ptr): void;
|
||||||
CollisionWorld_setDebugDrawer(p: ptr, drawer: ptr): void;
|
|
||||||
CollisionWorld_debugDrawWorld(p: ptr): void;
|
|
||||||
|
|
||||||
ccDiscreteDynamicsWorld_new(dispatcher: ptr, pairCache: ptr, solver: ptr): ptr;
|
ccDiscreteDynamicsWorld_new(dispatcher: ptr, pairCache: ptr, solver: ptr): ptr;
|
||||||
ccDiscreteDynamicsWorld_setAllowSleep(p: ptr, v: boolean): void;
|
ccDiscreteDynamicsWorld_setAllowSleep(p: ptr, v: boolean): void;
|
||||||
@@ -224,18 +220,6 @@ declare namespace Bullet {
|
|||||||
DynamicsWorld_addAction(p: ptr, action: ptr): void;
|
DynamicsWorld_addAction(p: ptr, action: ptr): void;
|
||||||
DynamicsWorld_removeAction(p: ptr, action: ptr): void;
|
DynamicsWorld_removeAction(p: ptr, action: ptr): void;
|
||||||
|
|
||||||
DebugDraw_new(): ptr;
|
|
||||||
DebugDraw_setDebugMode(p: ptr, debugMode: number): void;
|
|
||||||
DebugDraw_getDebugMode(p: ptr): number;
|
|
||||||
DebugDraw_setActiveObjectColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setDeactiveObjectColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setWantsDeactivationObjectColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setDisabledDeactivationObjectColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setDisabledSimulationObjectColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setAABBColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setContactPointColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
DebugDraw_setConstraintLimitColor(p: ptr, r: number, g: number, b: number): void;
|
|
||||||
|
|
||||||
RayCallback_hasHit(p: ptr): boolean;
|
RayCallback_hasHit(p: ptr): boolean;
|
||||||
ConvexCallback_hasHit(p: ptr): boolean;
|
ConvexCallback_hasHit(p: ptr): boolean;
|
||||||
|
|
||||||
@@ -279,7 +263,7 @@ declare namespace Bullet {
|
|||||||
ControllerHit_getHitMotionLength(p: ptr): number; //CCT hit Motion length
|
ControllerHit_getHitMotionLength(p: ptr): number; //CCT hit Motion length
|
||||||
ControllerShapeHit_getHitShape(p: ptr): ptr;
|
ControllerShapeHit_getHitShape(p: ptr): ptr;
|
||||||
ControllerShapeHit_getHitCollisionObject(p: ptr): ptr;
|
ControllerShapeHit_getHitCollisionObject(p: ptr): ptr;
|
||||||
CharacterController_move(ptrCCT: ptr, ptrMovement: ptr, minDist: number, deltaTime: number): number;
|
CharacterController_move(ptrCCT: ptr, ptrMovement: ptr, minDist: number, deltaTime: number):number;
|
||||||
CharacterController_getPosition(ptrCCT: ptr);
|
CharacterController_getPosition(ptrCCT: ptr);
|
||||||
CharacterController_setContactOffset(ptrCCT: ptr, v: number);
|
CharacterController_setContactOffset(ptrCCT: ptr, v: number);
|
||||||
CharacterController_setStepOffset(ptrCCT: ptr, v: number);
|
CharacterController_setStepOffset(ptrCCT: ptr, v: number);
|
||||||
|
|||||||
Binary file not shown.
Vendored
+24
-21
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
interface Vec3 {
|
interface Vec3 {
|
||||||
x: number, y: number, z: number
|
x: number, y: number, z: number
|
||||||
}
|
}
|
||||||
@@ -16,7 +17,7 @@ interface FilterData {
|
|||||||
declare namespace phy {
|
declare namespace phy {
|
||||||
/// Base ///
|
/// Base ///
|
||||||
|
|
||||||
const physics: Physics;
|
const physics: Physics
|
||||||
abstract class Physics {
|
abstract class Physics {
|
||||||
private constructor ()
|
private constructor ()
|
||||||
createCooking (cp: CookingParams): Cooking
|
createCooking (cp: CookingParams): Cooking
|
||||||
@@ -349,6 +350,8 @@ declare namespace phy {
|
|||||||
|
|
||||||
/// Joints ///
|
/// Joints ///
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// Extensions ///
|
/// Extensions ///
|
||||||
|
|
||||||
interface Spring {
|
interface Spring {
|
||||||
@@ -612,22 +615,22 @@ declare namespace phy {
|
|||||||
|
|
||||||
class SceneQueryHit {
|
class SceneQueryHit {
|
||||||
private constructor ()
|
private constructor ()
|
||||||
actor: RigidActor;
|
actor: RigidActor
|
||||||
shape: Shape;
|
shape: Shape
|
||||||
faceIndex: number;
|
faceIndex: number
|
||||||
}
|
}
|
||||||
|
|
||||||
class RayCastHit {
|
class RayCastHit {
|
||||||
private constructor ()
|
private constructor ()
|
||||||
actor: RigidActor;
|
actor: RigidActor
|
||||||
shape: Shape;
|
shape: Shape
|
||||||
faceIndex: number;
|
faceIndex: number
|
||||||
u: number;
|
u: number
|
||||||
v: number;
|
v: number
|
||||||
normal: Vec3;
|
normal: Vec3
|
||||||
position: Vec3;
|
position: Vec3
|
||||||
distance: number;
|
distance: number
|
||||||
flags: number;
|
flags: number
|
||||||
}
|
}
|
||||||
|
|
||||||
type preFilter = (filterData: FilterData, shape: Shape, actor: RigidActor, hitFlags: number) => QueryHitType
|
type preFilter = (filterData: FilterData, shape: Shape, actor: RigidActor, hitFlags: number) => QueryHitType
|
||||||
@@ -939,19 +942,15 @@ declare namespace phy {
|
|||||||
*/
|
*/
|
||||||
eRIGID_DYNAMIC,
|
eRIGID_DYNAMIC,
|
||||||
|
|
||||||
|
|
||||||
eARTICULATION_LINK
|
eARTICULATION_LINK
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ActorFlag {
|
enum ActorFlag {
|
||||||
/**
|
/**
|
||||||
\brief Enable debug renderer for this actor
|
/**
|
||||||
@see PxScene.getRenderBuffer() PxRenderBuffer PxVisualizationParameter
|
\brief Disables scene gravity for this actor
|
||||||
*/
|
*/
|
||||||
eVISUALIZATION = (1 << 0),
|
|
||||||
|
|
||||||
/**
|
|
||||||
\brief Disables scene gravity for this actor
|
|
||||||
*/
|
|
||||||
eDISABLE_GRAVITY = (1 << 1),
|
eDISABLE_GRAVITY = (1 << 1),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1150,6 +1149,8 @@ declare namespace phy {
|
|||||||
PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is set. The default algorithm
|
PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL is set. The default algorithm
|
||||||
PxConvexMeshCookingType::eQUICK_HULL ignores this flag, inflation is not used.
|
PxConvexMeshCookingType::eQUICK_HULL ignores this flag, inflation is not used.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Quantizes the input vertices using the k-means clustering
|
\brief Quantizes the input vertices using the k-means clustering
|
||||||
|
|
||||||
@@ -1193,6 +1194,7 @@ declare namespace phy {
|
|||||||
*/
|
*/
|
||||||
eFAST_INERTIA_COMPUTATION = (1 << 7),
|
eFAST_INERTIA_COMPUTATION = (1 << 7),
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Convex hull input vertices are shifted to be around origin to provide better computation stability.
|
\brief Convex hull input vertices are shifted to be around origin to provide better computation stability.
|
||||||
It is recommended to provide input vertices around the origin, otherwise use this flag to improve
|
It is recommended to provide input vertices around the origin, otherwise use this flag to improve
|
||||||
@@ -1349,6 +1351,7 @@ declare namespace phy {
|
|||||||
*/
|
*/
|
||||||
eARTICULATION = 4,
|
eARTICULATION = 4,
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enum FilterObjectFlag {
|
enum FilterObjectFlag {
|
||||||
|
|||||||
+24226
-26710
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Executable → Regular
+109
-40
@@ -1,49 +1,118 @@
|
|||||||
|
var Module = (function() {
|
||||||
|
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
||||||
|
|
||||||
var Module = (() => {
|
return (
|
||||||
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
function(Module) {
|
||||||
|
Module = Module || {};
|
||||||
|
|
||||||
return (
|
var c;c||(c=typeof Module !== 'undefined' ? Module : {});
|
||||||
function(Module) {
|
c.compileGLSLZeroCopy=function(a,b,d,e){d=!!d;switch(b){case "vertex":var g=0;break;case "fragment":g=4;break;case "compute":g=5;break;default:throw Error("shader_stage must be 'vertex', 'fragment', or 'compute'.");}switch(e||"1.0"){case "1.0":var f=65536;break;case "1.1":f=65792;break;case "1.2":f=66048;break;case "1.3":f=66304;break;case "1.4":f=66560;break;case "1.5":f=66816;break;default:throw Error("spirv_version must be '1.0' ~ '1.5'.");}e=c._malloc(4);b=c._malloc(4);var h=aa([a,g,d,f,e,b]);
|
||||||
Module = Module || {};
|
d=k(e);a=k(b);c._free(e);c._free(b);if(0===h)throw Error("GLSL compilation failed");e={};d/=4;e.data=c.HEAPU32.subarray(d,d+a);e.free=function(){c._destroy_output_buffer(h)};return e};c.compileGLSL=function(a,b,d,e){a=c.compileGLSLZeroCopy(a,b,d,e);b=a.data.slice();a.free();return b};var p={},q;for(q in c)c.hasOwnProperty(q)&&(p[q]=c[q]);var r="./this.program",t=!1,u=!1;t="object"===typeof window;u="function"===typeof importScripts;var v="",w;
|
||||||
|
if(t||u)u?v=self.location.href:document.currentScript&&(v=document.currentScript.src),_scriptDir&&(v=_scriptDir),0!==v.indexOf("blob:")?v=v.substr(0,v.lastIndexOf("/")+1):v="",u&&(w=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)});var x=c.print||console.log.bind(console),y=c.printErr||console.warn.bind(console);for(q in p)p.hasOwnProperty(q)&&(c[q]=p[q]);p=null;c.thisProgram&&(r=c.thisProgram);var A;
|
||||||
|
c.wasmBinary&&(A=c.wasmBinary);"object"!==typeof WebAssembly&&y("no native wasm support detected");function k(a){var b="i32";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return B[a>>0];case "i8":return B[a>>0];case "i16":return ba[a>>1];case "i32":return C[a>>2];case "i64":return C[a>>2];case "float":return ca[a>>2];case "double":return da[a>>3];default:D("invalid type for getValue: "+b)}return null}var E,ea=new WebAssembly.Table({initial:859,maximum:859,element:"anyfunc"}),fa=!1;
|
||||||
|
function ha(){var a=c._convert_glsl_to_spirv;a||D("Assertion failed: Cannot call unknown function convert_glsl_to_spirv, make sure it is exported");return a}
|
||||||
|
function aa(a){var b="string number boolean number number number".split(" "),d={string:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var d=(a.length<<2)+1;b=G(d);ia(a,H,b,d)}return b},array:function(a){var b=G(a.length);B.set(a,b);return b}},e=ha(),g=[],f=0;if(a)for(var h=0;h<a.length;h++){var n=d[b[h]];n?(0===f&&(f=ja()),g[h]=n(a[h])):g[h]=a[h]}a=e.apply(null,g);0!==f&&ka(f);return a}var la="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
||||||
|
function I(a,b,d){var e=b+d;for(d=b;a[d]&&!(d>=e);)++d;if(16<d-b&&a.subarray&&la)return la.decode(a.subarray(b,d));for(e="";b<d;){var g=a[b++];if(g&128){var f=a[b++]&63;if(192==(g&224))e+=String.fromCharCode((g&31)<<6|f);else{var h=a[b++]&63;g=224==(g&240)?(g&15)<<12|f<<6|h:(g&7)<<18|f<<12|h<<6|a[b++]&63;65536>g?e+=String.fromCharCode(g):(g-=65536,e+=String.fromCharCode(55296|g>>10,56320|g&1023))}}else e+=String.fromCharCode(g)}return e}
|
||||||
|
function ia(a,b,d,e){if(0<e){e=d+e-1;for(var g=0;g<a.length;++g){var f=a.charCodeAt(g);if(55296<=f&&57343>=f){var h=a.charCodeAt(++g);f=65536+((f&1023)<<10)|h&1023}if(127>=f){if(d>=e)break;b[d++]=f}else{if(2047>=f){if(d+1>=e)break;b[d++]=192|f>>6}else{if(65535>=f){if(d+2>=e)break;b[d++]=224|f>>12}else{if(d+3>=e)break;b[d++]=240|f>>18;b[d++]=128|f>>12&63}b[d++]=128|f>>6&63}b[d++]=128|f&63}}b[d]=0}}"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le");var J,B,H,ba,C,ca,da;
|
||||||
|
function ma(a){J=a;c.HEAP8=B=new Int8Array(a);c.HEAP16=ba=new Int16Array(a);c.HEAP32=C=new Int32Array(a);c.HEAPU8=H=new Uint8Array(a);c.HEAPU16=new Uint16Array(a);c.HEAPU32=new Uint32Array(a);c.HEAPF32=ca=new Float32Array(a);c.HEAPF64=da=new Float64Array(a)}var na=c.TOTAL_MEMORY||16777216;c.wasmMemory?E=c.wasmMemory:E=new WebAssembly.Memory({initial:na/65536});E&&(J=E.buffer);na=J.byteLength;ma(J);C[84916]=5582704;
|
||||||
|
function K(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b();else{var d=b.J;"number"===typeof d?void 0===b.H?c.dynCall_v(d):c.dynCall_vi(d,b.H):d(void 0===b.H?null:b.H)}}}var oa=[],pa=[],qa=[],ra=[];function sa(){var a=c.preRun.shift();oa.unshift(a)}var L=0,M=null,N=null;c.preloadedImages={};c.preloadedAudios={};function D(a){if(c.onAbort)c.onAbort(a);x(a);y(a);fa=!0;throw new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");}
|
||||||
|
function ta(){var a=O;return String.prototype.startsWith?a.startsWith("data:application/octet-stream;base64,"):0===a.indexOf("data:application/octet-stream;base64,")}var O="glslang.wasm";if(!ta()){var ua=O;O=c.locateFile?c.locateFile(ua,v):v+ua}function wa(){try{if(A)return new Uint8Array(A);if(w)return w(O);throw"both async and sync fetching of the wasm failed";}catch(a){D(a)}}
|
||||||
|
function xa(){return A||!t&&!u||"function"!==typeof fetch?new Promise(function(a){a(wa())}):fetch(O,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+O+"'";return a.arrayBuffer()}).catch(function(){return wa()})}pa.push({J:function(){ya()}});var za=[null,[],[]],P=0;function Aa(){P+=4;return C[P-4>>2]}var Q={},Ba={};
|
||||||
|
function Ca(){if(!R){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:r},b;for(b in Ba)a[b]=Ba[b];var d=[];for(b in a)d.push(b+"="+a[b]);R=d}return R}var R;function S(a){return 0===a%4&&(0!==a%100||0===a%400)}function T(a,b){for(var d=0,e=0;e<=b;d+=a[e++]);return d}var U=[31,29,31,30,31,30,31,31,30,31,30,31],W=[31,28,31,30,31,30,31,31,30,31,30,31];
|
||||||
|
function X(a,b){for(a=new Date(a.getTime());0<b;){var d=a.getMonth(),e=(S(a.getFullYear())?U:W)[d];if(b>e-a.getDate())b-=e-a.getDate()+1,a.setDate(1),11>d?a.setMonth(d+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
|
||||||
|
function Da(a,b,d,e){function g(a,b,d){for(a="number"===typeof a?a.toString():a||"";a.length<b;)a=d[0]+a;return a}function f(a,b){return g(a,b,"0")}function h(a,b){function V(a){return 0>a?-1:0<a?1:0}var d;0===(d=V(a.getFullYear()-b.getFullYear()))&&0===(d=V(a.getMonth()-b.getMonth()))&&(d=V(a.getDate()-b.getDate()));return d}function n(a){switch(a.getDay()){case 0:return new Date(a.getFullYear()-1,11,29);case 1:return a;case 2:return new Date(a.getFullYear(),0,3);case 3:return new Date(a.getFullYear(),
|
||||||
|
0,2);case 4:return new Date(a.getFullYear(),0,1);case 5:return new Date(a.getFullYear()-1,11,31);case 6:return new Date(a.getFullYear()-1,11,30)}}function z(a){a=X(new Date(a.A+1900,0,1),a.G);var b=n(new Date(a.getFullYear()+1,0,4));return 0>=h(n(new Date(a.getFullYear(),0,4)),a)?0>=h(b,a)?a.getFullYear()+1:a.getFullYear():a.getFullYear()-1}var m=C[e+40>>2];e={N:C[e>>2],M:C[e+4>>2],D:C[e+8>>2],C:C[e+12>>2],B:C[e+16>>2],A:C[e+20>>2],F:C[e+24>>2],G:C[e+28>>2],X:C[e+32>>2],L:C[e+36>>2],O:m?m?I(H,m,void 0):
|
||||||
|
"":""};d=d?I(H,d,void 0):"";m={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in m)d=d.replace(new RegExp(l,"g"),m[l]);var F="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
|
||||||
|
va="January February March April May June July August September October November December".split(" ");m={"%a":function(a){return F[a.F].substring(0,3)},"%A":function(a){return F[a.F]},"%b":function(a){return va[a.B].substring(0,3)},"%B":function(a){return va[a.B]},"%C":function(a){return f((a.A+1900)/100|0,2)},"%d":function(a){return f(a.C,2)},"%e":function(a){return g(a.C,2," ")},"%g":function(a){return z(a).toString().substring(2)},"%G":function(a){return z(a)},"%H":function(a){return f(a.D,2)},
|
||||||
|
"%I":function(a){a=a.D;0==a?a=12:12<a&&(a-=12);return f(a,2)},"%j":function(a){return f(a.C+T(S(a.A+1900)?U:W,a.B-1),3)},"%m":function(a){return f(a.B+1,2)},"%M":function(a){return f(a.M,2)},"%n":function(){return"\n"},"%p":function(a){return 0<=a.D&&12>a.D?"AM":"PM"},"%S":function(a){return f(a.N,2)},"%t":function(){return"\t"},"%u":function(a){return a.F||7},"%U":function(a){var b=new Date(a.A+1900,0,1),d=0===b.getDay()?b:X(b,7-b.getDay());a=new Date(a.A+1900,a.B,a.C);return 0>h(d,a)?f(Math.ceil((31-
|
||||||
|
d.getDate()+(T(S(a.getFullYear())?U:W,a.getMonth()-1)-31)+a.getDate())/7),2):0===h(d,b)?"01":"00"},"%V":function(a){var b=n(new Date(a.A+1900,0,4)),d=n(new Date(a.A+1901,0,4)),e=X(new Date(a.A+1900,0,1),a.G);return 0>h(e,b)?"53":0>=h(d,e)?"01":f(Math.ceil((b.getFullYear()<a.A+1900?a.G+32-b.getDate():a.G+1-b.getDate())/7),2)},"%w":function(a){return a.F},"%W":function(a){var b=new Date(a.A,0,1),d=1===b.getDay()?b:X(b,0===b.getDay()?1:7-b.getDay()+1);a=new Date(a.A+1900,a.B,a.C);return 0>h(d,a)?f(Math.ceil((31-
|
||||||
|
d.getDate()+(T(S(a.getFullYear())?U:W,a.getMonth()-1)-31)+a.getDate())/7),2):0===h(d,b)?"01":"00"},"%y":function(a){return(a.A+1900).toString().substring(2)},"%Y":function(a){return a.A+1900},"%z":function(a){a=a.L;var b=0<=a;a=Math.abs(a)/60;return(b?"+":"-")+String("0000"+(a/60*100+a%60)).slice(-4)},"%Z":function(a){return a.O},"%%":function(){return"%"}};for(l in m)0<=d.indexOf(l)&&(d=d.replace(new RegExp(l,"g"),m[l](e)));l=Ea(d);if(l.length>b)return 0;B.set(l,a);return l.length-1}
|
||||||
|
function Ea(a){for(var b=0,d=0;d<a.length;++d){var e=a.charCodeAt(d);55296<=e&&57343>=e&&(e=65536+((e&1023)<<10)|a.charCodeAt(++d)&1023);127>=e?++b:b=2047>=e?b+2:65535>=e?b+3:b+4}b=Array(b+1);ia(a,b,0,b.length);return b}
|
||||||
|
var Ga={f:function(){},c:function(){c.___errno_location&&(C[c.___errno_location()>>2]=63);return-1},n:function(a,b){P=b;try{var d=Aa();var e=Aa();if(-1===d||0===e)var g=-28;else{var f=Q.K[d];if(f&&e===f.U){var h=(void 0).T(f.S);Q.R(d,h,e,f.flags,f.offset);(void 0).W(h);Q.K[d]=null;f.P&&Fa(f.V)}g=0}return g}catch(n){return D(n),-n.I}},a:function(){},b:function(){D()},k:function(a,b,d){H.set(H.subarray(b,b+d),a)},l:function(a){var b=B.length;if(2147418112<a)return!1;for(var d=1;4>=d;d*=2){var e=b*(1+
|
||||||
|
.2/d);e=Math.min(e,a+100663296);e=Math.max(16777216,a,e);0<e%65536&&(e+=65536-e%65536);a:{try{E.grow(Math.min(2147418112,e)-J.byteLength+65535>>16);ma(E.buffer);var g=1;break a}catch(f){}g=void 0}if(g)return!0}return!1},d:function(a,b){var d=0;Ca().forEach(function(e,g){var f=b+d;g=C[a+4*g>>2]=f;for(f=0;f<e.length;++f)B[g++>>0]=e.charCodeAt(f);B[g>>0]=0;d+=e.length+1});return 0},e:function(a,b){var d=Ca();C[a>>2]=d.length;var e=0;d.forEach(function(a){e+=a.length+1});C[b>>2]=e;return 0},h:function(){return 0},
|
||||||
|
j:function(){return 0},g:function(a,b,d,e){try{for(var g=0,f=0;f<d;f++){for(var h=C[b+8*f>>2],n=C[b+(8*f+4)>>2],z=0;z<n;z++){var m=H[h+z],l=za[a];0===m||10===m?((1===a?x:y)(I(l,0)),l.length=0):l.push(m)}g+=n}C[e>>2]=g;return 0}catch(F){return D(F),F.I}},memory:E,o:function(){},i:function(){},m:function(a,b,d,e){return Da(a,b,d,e)},table:ea},Ha=function(){function a(a){c.asm=a.exports;L--;c.monitorRunDependencies&&c.monitorRunDependencies(L);0==L&&(null!==M&&(clearInterval(M),M=null),N&&(a=N,N=null,
|
||||||
|
a()))}function b(b){a(b.instance)}function d(a){return xa().then(function(a){return WebAssembly.instantiate(a,e)}).then(a,function(a){y("failed to asynchronously prepare wasm: "+a);D(a)})}var e={env:Ga,wasi_snapshot_preview1:Ga};L++;c.monitorRunDependencies&&c.monitorRunDependencies(L);if(c.instantiateWasm)try{return c.instantiateWasm(e,a)}catch(g){return y("Module.instantiateWasm callback failed with error: "+g),!1}(function(){if(A||"function"!==typeof WebAssembly.instantiateStreaming||ta()||"function"!==
|
||||||
|
typeof fetch)return d(b);fetch(O,{credentials:"same-origin"}).then(function(a){return WebAssembly.instantiateStreaming(a,e).then(b,function(a){y("wasm streaming compile failed: "+a);y("falling back to ArrayBuffer instantiation");d(b)})})})();return{}}();c.asm=Ha;var ya=c.___wasm_call_ctors=function(){return(ya=c.___wasm_call_ctors=c.asm.p).apply(null,arguments)};c._convert_glsl_to_spirv=function(){return(c._convert_glsl_to_spirv=c.asm.q).apply(null,arguments)};
|
||||||
|
c._destroy_output_buffer=function(){return(c._destroy_output_buffer=c.asm.r).apply(null,arguments)};c._malloc=function(){return(c._malloc=c.asm.s).apply(null,arguments)};var Fa=c._free=function(){return(Fa=c._free=c.asm.t).apply(null,arguments)},ja=c.stackSave=function(){return(ja=c.stackSave=c.asm.u).apply(null,arguments)},G=c.stackAlloc=function(){return(G=c.stackAlloc=c.asm.v).apply(null,arguments)},ka=c.stackRestore=function(){return(ka=c.stackRestore=c.asm.w).apply(null,arguments)};
|
||||||
|
c.dynCall_vi=function(){return(c.dynCall_vi=c.asm.x).apply(null,arguments)};c.dynCall_v=function(){return(c.dynCall_v=c.asm.y).apply(null,arguments)};c.asm=Ha;var Y;c.then=function(a){if(Y)a(c);else{var b=c.onRuntimeInitialized;c.onRuntimeInitialized=function(){b&&b();a(c)}}return c};N=function Ia(){Y||Z();Y||(N=Ia)};
|
||||||
|
function Z(){function a(){if(!Y&&(Y=!0,!fa)){K(pa);K(qa);if(c.onRuntimeInitialized)c.onRuntimeInitialized();if(c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var a=c.postRun.shift();ra.unshift(a)}K(ra)}}if(!(0<L)){if(c.preRun)for("function"==typeof c.preRun&&(c.preRun=[c.preRun]);c.preRun.length;)sa();K(oa);0<L||(c.setStatus?(c.setStatus("Running..."),setTimeout(function(){setTimeout(function(){c.setStatus("")},1);a()},1)):a())}}c.run=Z;
|
||||||
|
if(c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.pop()();Z();
|
||||||
|
|
||||||
|
|
||||||
var c;c||(c=typeof Module !== 'undefined' ? Module : {});var r,t;c.ready=new Promise(function(b,d){r=b;t=d});
|
return Module
|
||||||
c.compileGLSLZeroCopy=function(b,d,e,f){e=!!e;switch(d){case "vertex":var h=0;break;case "fragment":h=4;break;case "compute":h=5;break;default:throw Error("shader_stage must be 'vertex', 'fragment', or 'compute'.");}switch(f||"1.0"){case "1.0":var g=65536;break;case "1.1":g=65792;break;case "1.2":g=66048;break;case "1.3":g=66304;break;case "1.4":g=66560;break;case "1.5":g=66816;break;default:throw Error("spirv_version must be '1.0' ~ '1.5'.");}f=c._malloc(4);d=c._malloc(4);var m=aa([b,h,e,g,f,d]);
|
}
|
||||||
e=u(f);b=u(d);c._free(f);c._free(d);if(0===m)throw Error("GLSL compilation failed");f={};e/=4;f.data=c.HEAPU32.subarray(e,e+b);f.free=function(){c._destroy_output_buffer(m)};return f};c.compileGLSL=function(b,d,e,f){b=c.compileGLSLZeroCopy(b,d,e,f);d=b.data.slice();b.free();return d};var v=Object.assign({},c),x="./this.program",y="object"==typeof window,z="function"==typeof importScripts,B="",C;
|
);
|
||||||
if(y||z)z?B=self.location.href:"undefined"!=typeof document&&document.currentScript&&(B=document.currentScript.src),_scriptDir&&(B=_scriptDir),0!==B.indexOf("blob:")?B=B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1):B="",z&&(C=b=>{var d=new XMLHttpRequest;d.open("GET",b,!1);d.responseType="arraybuffer";d.send(null);return new Uint8Array(d.response)});var ba=c.print||console.log.bind(console),D=c.printErr||console.warn.bind(console);Object.assign(c,v);v=null;c.thisProgram&&(x=c.thisProgram);
|
})();
|
||||||
var E;c.wasmBinary&&(E=c.wasmBinary);var noExitRuntime=c.noExitRuntime||!0;"object"!=typeof WebAssembly&&F("no native wasm support detected");var G,H=!1,I="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;
|
// if (typeof exports === 'object' && typeof module === 'object')
|
||||||
function J(b,d){for(var e=d+NaN,f=d;b[f]&&!(f>=e);)++f;if(16<f-d&&b.buffer&&I)return I.decode(b.subarray(d,f));for(e="";d<f;){var h=b[d++];if(h&128){var g=b[d++]&63;if(192==(h&224))e+=String.fromCharCode((h&31)<<6|g);else{var m=b[d++]&63;h=224==(h&240)?(h&15)<<12|g<<6|m:(h&7)<<18|g<<12|m<<6|b[d++]&63;65536>h?e+=String.fromCharCode(h):(h-=65536,e+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else e+=String.fromCharCode(h)}return e}
|
// module.exports = Module;
|
||||||
function K(b,d,e,f){if(0<f){f=e+f-1;for(var h=0;h<b.length;++h){var g=b.charCodeAt(h);if(55296<=g&&57343>=g){var m=b.charCodeAt(++h);g=65536+((g&1023)<<10)|m&1023}if(127>=g){if(e>=f)break;d[e++]=g}else{if(2047>=g){if(e+1>=f)break;d[e++]=192|g>>6}else{if(65535>=g){if(e+2>=f)break;d[e++]=224|g>>12}else{if(e+3>=f)break;d[e++]=240|g>>18;d[e++]=128|g>>12&63}d[e++]=128|g>>6&63}d[e++]=128|g&63}}d[e]=0}}var L,M,N,ca,O,P,da,ea;
|
// else if (typeof define === 'function' && define['amd'])
|
||||||
function fa(){var b=G.buffer;L=b;c.HEAP8=M=new Int8Array(b);c.HEAP16=ca=new Int16Array(b);c.HEAP32=O=new Int32Array(b);c.HEAPU8=N=new Uint8Array(b);c.HEAPU16=new Uint16Array(b);c.HEAPU32=P=new Uint32Array(b);c.HEAPF32=da=new Float32Array(b);c.HEAPF64=ea=new Float64Array(b)}var ha=[],ia=[],ja=[];function ka(){var b=c.preRun.shift();ha.unshift(b)}var Q=0,R=null,S=null;
|
// define([], function() { return Module; });
|
||||||
function F(b){if(c.onAbort)c.onAbort(b);b="Aborted("+b+")";D(b);H=!0;b=new WebAssembly.RuntimeError(b+". Build with -sASSERTIONS for more info.");t(b);throw b;}function la(){return T.startsWith("data:application/octet-stream;base64,")}var T;T="glslang.wasm";if(!la()){var ma=T;T=c.locateFile?c.locateFile(ma,B):B+ma}function na(){var b=T;try{if(b==T&&E)return new Uint8Array(E);if(C)return C(b);throw"both async and sync fetching of the wasm failed";}catch(d){F(d)}}
|
// else if (typeof exports === 'object')
|
||||||
function ra(){return E||!y&&!z||"function"!=typeof fetch?Promise.resolve().then(function(){return na()}):fetch(T,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+T+"'";return b.arrayBuffer()}).catch(function(){return na()})}function U(b){for(;0<b.length;)b.shift()(c)}
|
// exports["Module"] = Module;
|
||||||
function u(b){var d="i32";d.endsWith("*")&&(d="*");switch(d){case "i1":return M[b>>0];case "i8":return M[b>>0];case "i16":return ca[b>>1];case "i32":return O[b>>2];case "i64":return O[b>>2];case "float":return da[b>>2];case "double":return ea[b>>3];case "*":return P[b>>2];default:F("invalid type for getValue: "+d)}return null}var V={};
|
// export default (() => {
|
||||||
function sa(){if(!W){var b={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:x||"./this.program"},d;for(d in V)void 0===V[d]?delete b[d]:b[d]=V[d];var e=[];for(d in b)e.push(d+"="+b[d]);W=e}return W}var W,ta=[null,[],[]];function X(b){return 0===b%4&&(0!==b%100||0===b%400)}var ua=[31,29,31,30,31,30,31,31,30,31,30,31],va=[31,28,31,30,31,30,31,31,30,31,30,31];
|
// const initialize = () => {
|
||||||
function wa(b){for(var d=0,e=0;e<b.length;++e){var f=b.charCodeAt(e);127>=f?d++:2047>=f?d+=2:55296<=f&&57343>=f?(d+=4,++e):d+=3}d=Array(d+1);K(b,d,0,d.length);return d}
|
// return new Promise(resolve => {
|
||||||
function xa(b,d,e,f){function h(a,k,l){for(a="number"==typeof a?a.toString():a||"";a.length<k;)a=l[0]+a;return a}function g(a,k){return h(a,k,"0")}function m(a,k){function l(oa){return 0>oa?-1:0<oa?1:0}var A;0===(A=l(a.getFullYear()-k.getFullYear()))&&0===(A=l(a.getMonth()-k.getMonth()))&&(A=l(a.getDate()-k.getDate()));return A}function w(a){switch(a.getDay()){case 0:return new Date(a.getFullYear()-1,11,29);case 1:return a;case 2:return new Date(a.getFullYear(),0,3);case 3:return new Date(a.getFullYear(),
|
// Module({
|
||||||
0,2);case 4:return new Date(a.getFullYear(),0,1);case 5:return new Date(a.getFullYear()-1,11,31);case 6:return new Date(a.getFullYear()-1,11,30)}}function p(a){var k=a.v;for(a=new Date((new Date(a.A+1900,0,1)).getTime());0<k;){var l=a.getMonth(),A=(X(a.getFullYear())?ua:va)[l];if(k>A-a.getDate())k-=A-a.getDate()+1,a.setDate(1),11>l?a.setMonth(l+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+k);break}}l=new Date(a.getFullYear()+1,0,4);k=w(new Date(a.getFullYear(),0,
|
// locateFile() {
|
||||||
4));l=w(l);return 0>=m(k,a)?0>=m(l,a)?a.getFullYear()+1:a.getFullYear():a.getFullYear()-1}var n=O[f+40>>2];f={H:O[f>>2],G:O[f+4>>2],B:O[f+8>>2],D:O[f+12>>2],C:O[f+16>>2],A:O[f+20>>2],u:O[f+24>>2],v:O[f+28>>2],J:O[f+32>>2],F:O[f+36>>2],I:n?n?J(N,n):"":""};e=e?J(N,e):"";n={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d",
|
// const i = import.meta.url.lastIndexOf('/')
|
||||||
"%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var q in n)e=e.replace(new RegExp(q,"g"),n[q]);var pa="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),qa="January February March April May June July August September October November December".split(" ");n={"%a":function(a){return pa[a.u].substring(0,3)},"%A":function(a){return pa[a.u]},"%b":function(a){return qa[a.C].substring(0,3)},"%B":function(a){return qa[a.C]},
|
// return import.meta.url.substring(0, i) + '/glslang.wasm';
|
||||||
"%C":function(a){return g((a.A+1900)/100|0,2)},"%d":function(a){return g(a.D,2)},"%e":function(a){return h(a.D,2," ")},"%g":function(a){return p(a).toString().substring(2)},"%G":function(a){return p(a)},"%H":function(a){return g(a.B,2)},"%I":function(a){a=a.B;0==a?a=12:12<a&&(a-=12);return g(a,2)},"%j":function(a){for(var k=0,l=0;l<=a.C-1;k+=(X(a.A+1900)?ua:va)[l++]);return g(a.D+k,3)},"%m":function(a){return g(a.C+1,2)},"%M":function(a){return g(a.G,2)},"%n":function(){return"\n"},"%p":function(a){return 0<=
|
// },
|
||||||
a.B&&12>a.B?"AM":"PM"},"%S":function(a){return g(a.H,2)},"%t":function(){return"\t"},"%u":function(a){return a.u||7},"%U":function(a){return g(Math.floor((a.v+7-a.u)/7),2)},"%V":function(a){var k=Math.floor((a.v+7-(a.u+6)%7)/7);2>=(a.u+371-a.v-2)%7&&k++;if(k)53==k&&(l=(a.u+371-a.v)%7,4==l||3==l&&X(a.A)||(k=1));else{k=52;var l=(a.u+7-a.v-1)%7;(4==l||5==l&&X(a.A%400-1))&&k++}return g(k,2)},"%w":function(a){return a.u},"%W":function(a){return g(Math.floor((a.v+7-(a.u+6)%7)/7),2)},"%y":function(a){return(a.A+
|
// onRuntimeInitialized() {
|
||||||
1900).toString().substring(2)},"%Y":function(a){return a.A+1900},"%z":function(a){a=a.F;var k=0<=a;a=Math.abs(a)/60;return(k?"+":"-")+String("0000"+(a/60*100+a%60)).slice(-4)},"%Z":function(a){return a.I},"%%":function(){return"%"}};e=e.replace(/%%/g,"\x00\x00");for(q in n)e.includes(q)&&(e=e.replace(new RegExp(q,"g"),n[q](f)));e=e.replace(/\0\0/g,"%");q=wa(e);if(q.length>d)return 0;M.set(q,b);return q.length-1}
|
// resolve({
|
||||||
function aa(b){var d="string number boolean number number number".split(" "),e={string:p=>{var n=0;if(null!==p&&void 0!==p&&0!==p){var q=(p.length<<2)+1;n=Y(q);K(p,N,n,q)}return n},array:p=>{var n=Y(p.length);M.set(p,n);return n}},f=c._convert_glsl_to_spirv,h=[],g=0;if(b)for(var m=0;m<b.length;m++){var w=e[d[m]];w?(0===g&&(g=ya()),h[m]=w(b[m])):h[m]=b[m]}b=f.apply(null,h);return b=function(p){0!==g&&za(g);return p}(b)}
|
// compileGLSLZeroCopy: this.compileGLSLZeroCopy,
|
||||||
var Aa={b:function(){F("")},i:function(b,d,e){N.copyWithin(b,d,d+e)},g:function(b){var d=N.length;b>>>=0;if(2147483648<b)return!1;for(var e=1;4>=e;e*=2){var f=d*(1+.2/e);f=Math.min(f,b+100663296);var h=Math;f=Math.max(b,f);h=h.min.call(h,2147483648,f+(65536-f%65536)%65536);a:{try{G.grow(h-L.byteLength+65535>>>16);fa();var g=1;break a}catch(m){}g=void 0}if(g)return!0}return!1},e:function(b,d){var e=0;sa().forEach(function(f,h){var g=d+e;h=P[b+4*h>>2]=g;for(g=0;g<f.length;++g)M[h++>>0]=f.charCodeAt(g);
|
// compileGLSL: this.compileGLSL,
|
||||||
M[h>>0]=0;e+=f.length+1});return 0},f:function(b,d){var e=sa();P[b>>2]=e.length;var f=0;e.forEach(function(h){f+=h.length+1});P[d>>2]=f;return 0},h:function(){return 52},c:function(){return 70},a:function(b,d,e,f){for(var h=0,g=0;g<e;g++){var m=P[d>>2],w=P[d+4>>2];d+=8;for(var p=0;p<w;p++){var n=N[m+p],q=ta[b];0===n||10===n?((1===b?ba:D)(J(q,0)),q.length=0):q.push(n)}h+=w}P[f>>2]=h;return 0},d:function(b,d,e,f){return xa(b,d,e,f)}};
|
// });
|
||||||
(function(){function b(h){c.asm=h.exports;G=c.asm.j;fa();ia.unshift(c.asm.k);Q--;c.monitorRunDependencies&&c.monitorRunDependencies(Q);0==Q&&(null!==R&&(clearInterval(R),R=null),S&&(h=S,S=null,h()))}function d(h){b(h.instance)}function e(h){return ra().then(function(g){return WebAssembly.instantiate(g,f)}).then(function(g){return g}).then(h,function(g){D("failed to asynchronously prepare wasm: "+g);F(g)})}var f={a:Aa};Q++;c.monitorRunDependencies&&c.monitorRunDependencies(Q);if(c.instantiateWasm)try{return c.instantiateWasm(f,
|
// },
|
||||||
b)}catch(h){return D("Module.instantiateWasm callback failed with error: "+h),!1}(function(){return E||"function"!=typeof WebAssembly.instantiateStreaming||la()||"function"!=typeof fetch?e(d):fetch(T,{credentials:"same-origin"}).then(function(h){return WebAssembly.instantiateStreaming(h,f).then(d,function(g){D("wasm streaming compile failed: "+g);D("falling back to ArrayBuffer instantiation");return e(d)})})})().catch(t);return{}})();
|
// });
|
||||||
c.___wasm_call_ctors=function(){return(c.___wasm_call_ctors=c.asm.k).apply(null,arguments)};c._convert_glsl_to_spirv=function(){return(c._convert_glsl_to_spirv=c.asm.l).apply(null,arguments)};c._destroy_output_buffer=function(){return(c._destroy_output_buffer=c.asm.m).apply(null,arguments)};c._malloc=function(){return(c._malloc=c.asm.o).apply(null,arguments)};c._free=function(){return(c._free=c.asm.p).apply(null,arguments)};
|
// });
|
||||||
var ya=c.stackSave=function(){return(ya=c.stackSave=c.asm.q).apply(null,arguments)},za=c.stackRestore=function(){return(za=c.stackRestore=c.asm.r).apply(null,arguments)},Y=c.stackAlloc=function(){return(Y=c.stackAlloc=c.asm.s).apply(null,arguments)},Z;S=function Ba(){Z||Ca();Z||(S=Ba)};
|
// };
|
||||||
function Ca(){function b(){if(!Z&&(Z=!0,c.calledRun=!0,!H)){U(ia);r(c);if(c.onRuntimeInitialized)c.onRuntimeInitialized();if(c.postRun)for("function"==typeof c.postRun&&(c.postRun=[c.postRun]);c.postRun.length;){var d=c.postRun.shift();ja.unshift(d)}U(ja)}}if(!(0<Q)){if(c.preRun)for("function"==typeof c.preRun&&(c.preRun=[c.preRun]);c.preRun.length;)ka();U(ha);0<Q||(c.setStatus?(c.setStatus("Running..."),setTimeout(function(){setTimeout(function(){c.setStatus("")},1);b()},1)):b())}}
|
|
||||||
if(c.preInit)for("function"==typeof c.preInit&&(c.preInit=[c.preInit]);0<c.preInit.length;)c.preInit.pop()();Ca();
|
// let instance;
|
||||||
|
// return () => {
|
||||||
|
// if (!instance) {
|
||||||
|
// instance = initialize();
|
||||||
|
// }
|
||||||
|
// return instance;
|
||||||
|
// };
|
||||||
|
// })();
|
||||||
|
// (function tryToExport(root, factory) {
|
||||||
|
// if (typeof exports === 'object' && typeof module === 'object')
|
||||||
|
// module.exports = factory();
|
||||||
|
// else if (typeof define === 'function' && define.amd)
|
||||||
|
// define("glslang", [], factory);
|
||||||
|
// else if (typeof exports === 'object')
|
||||||
|
// exports["glslang"] = factory();
|
||||||
|
// else
|
||||||
|
// root["glslang"] = factory();
|
||||||
|
// })(typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this, () => {
|
||||||
|
// const initialize = (wasmPath) => {
|
||||||
|
// wasmPath = 'http://localhost:7456/glslang.wasm'
|
||||||
|
// return new Promise(resolve => {
|
||||||
|
// Module({
|
||||||
|
// locateFile() {
|
||||||
|
// return wasmPath;
|
||||||
|
// },
|
||||||
|
// onRuntimeInitialized() {
|
||||||
|
// resolve({
|
||||||
|
// compileGLSLZeroCopy: this.compileGLSLZeroCopy,
|
||||||
|
// compileGLSL: this.compileGLSL,
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
// };
|
||||||
|
|
||||||
|
// let instance;
|
||||||
|
// return (wasmPath) => {
|
||||||
|
// if (!instance) {
|
||||||
|
// instance = initialize(wasmPath);
|
||||||
|
// }
|
||||||
|
// return instance;
|
||||||
|
// };
|
||||||
|
// });
|
||||||
|
|
||||||
|
|
||||||
return Module.ready
|
const initialize = (wasmPath) => {
|
||||||
}
|
|
||||||
);
|
|
||||||
})();
|
|
||||||
|
|
||||||
const initialize = (wasmPath) => {
|
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
Module({
|
Module({
|
||||||
locateFile() {
|
locateFile() {
|
||||||
|
|||||||
Executable → Regular
BIN
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Vendored
-5
@@ -7,8 +7,3 @@ declare module 'external:emscripten/webgpu/glslang.js' {
|
|||||||
function factory (wasmUrl: string): Promise<any>;
|
function factory (wasmUrl: string): Promise<any>;
|
||||||
export default factory;
|
export default factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module 'external:emscripten/webgpu/twgsl.js' {
|
|
||||||
function factory (gfx: any): Promise<any>;
|
|
||||||
export default factory;
|
|
||||||
}
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Executable → Regular
BIN
Binary file not shown.
Binary file not shown.
@@ -22,3 +22,10 @@
|
|||||||
|
|
||||||
#define %module_macro(m) %feature("module_macro","m")
|
#define %module_macro(m) %feature("module_macro","m")
|
||||||
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
|
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
|
||||||
|
|
||||||
|
%define %virtual_inherit(klass)
|
||||||
|
%feature("virtual_inherit", "1") klass;
|
||||||
|
%typemap(in) klass *self
|
||||||
|
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
|
||||||
|
if (nullptr == $1) return true;%}
|
||||||
|
%enddef
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
$js_check_arg_count
|
$js_check_arg_count
|
||||||
$jslocals
|
$jslocals
|
||||||
$jscode
|
$jscode
|
||||||
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
|
$js_set_private_object
|
||||||
s.thisObject()->setPrivateObject(ptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
|
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
|
||||||
@@ -62,8 +61,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
CC_UNUSED bool ok = true;
|
CC_UNUSED bool ok = true;
|
||||||
$jslocals
|
$jslocals
|
||||||
$jscode
|
$jscode
|
||||||
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
|
$js_set_private_object
|
||||||
s.thisObject()->setPrivateObject(ptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
%}
|
%}
|
||||||
@@ -86,19 +84,20 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* js_dtor: template for a destructor wrapper
|
* js_dtor: template for a destructor wrapper
|
||||||
* - $jsmangledname: mangled class name
|
* - $classname_mangled: mangled class name
|
||||||
* - $jstype: class type
|
* - $jstype: class type
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
%fragment ("js_dtor", "templates")
|
%fragment ("js_dtor", "templates")
|
||||||
%{
|
%{
|
||||||
static bool $jswrapper(se::State& s) {
|
static bool $jswrapper(se::State& s) {
|
||||||
|
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* js_dtor: template for a destructor wrapper
|
* js_dtor: template for a destructor wrapper
|
||||||
* - $jsmangledname: mangled class name
|
* - $classname_mangled: mangled class name
|
||||||
* - $jstype: class type
|
* - $jstype: class type
|
||||||
* - ${destructor_action}: The custom destructor action to invoke.
|
* - ${destructor_action}: The custom destructor action to invoke.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
@@ -106,6 +105,7 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
|||||||
%{
|
%{
|
||||||
static bool $jswrapper(se::State& s)
|
static bool $jswrapper(se::State& s)
|
||||||
{
|
{
|
||||||
|
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
||||||
|
|||||||
Binary file not shown.
@@ -22,3 +22,10 @@
|
|||||||
|
|
||||||
#define %module_macro(m) %feature("module_macro","m")
|
#define %module_macro(m) %feature("module_macro","m")
|
||||||
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
|
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
|
||||||
|
|
||||||
|
%define %virtual_inherit(klass)
|
||||||
|
%feature("virtual_inherit", "1") klass;
|
||||||
|
%typemap(in) klass *self
|
||||||
|
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
|
||||||
|
if (nullptr == $1) return true;%}
|
||||||
|
%enddef
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
$js_check_arg_count
|
$js_check_arg_count
|
||||||
$jslocals
|
$jslocals
|
||||||
$jscode
|
$jscode
|
||||||
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
|
$js_set_private_object
|
||||||
s.thisObject()->setPrivateObject(ptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
|
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
|
||||||
@@ -62,8 +61,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
CC_UNUSED bool ok = true;
|
CC_UNUSED bool ok = true;
|
||||||
$jslocals
|
$jslocals
|
||||||
$jscode
|
$jscode
|
||||||
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
|
$js_set_private_object
|
||||||
s.thisObject()->setPrivateObject(ptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
%}
|
%}
|
||||||
@@ -86,19 +84,20 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* js_dtor: template for a destructor wrapper
|
* js_dtor: template for a destructor wrapper
|
||||||
* - $jsmangledname: mangled class name
|
* - $classname_mangled: mangled class name
|
||||||
* - $jstype: class type
|
* - $jstype: class type
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
%fragment ("js_dtor", "templates")
|
%fragment ("js_dtor", "templates")
|
||||||
%{
|
%{
|
||||||
static bool $jswrapper(se::State& s) {
|
static bool $jswrapper(se::State& s) {
|
||||||
|
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* js_dtor: template for a destructor wrapper
|
* js_dtor: template for a destructor wrapper
|
||||||
* - $jsmangledname: mangled class name
|
* - $classname_mangled: mangled class name
|
||||||
* - $jstype: class type
|
* - $jstype: class type
|
||||||
* - ${destructor_action}: The custom destructor action to invoke.
|
* - ${destructor_action}: The custom destructor action to invoke.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
@@ -106,6 +105,7 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
|||||||
%{
|
%{
|
||||||
static bool $jswrapper(se::State& s)
|
static bool $jswrapper(se::State& s)
|
||||||
{
|
{
|
||||||
|
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ if(NOT USE_MODULES)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# add dependent boost libs
|
# add dependent boost libs
|
||||||
if((NOT NX) AND (NOT EMSCRIPTEN))
|
if(NOT NX)
|
||||||
include(${CMAKE_CURRENT_LIST_DIR}/boost-source/boost.cmake)
|
include(${CMAKE_CURRENT_LIST_DIR}/boost-source/boost.cmake)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ add_definitions(-DCC_SWAPPY_ENABLED)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if(ANDROID AND (NOT SURFACE_LESS_SERVICE))
|
if(ANDROID)
|
||||||
set(CC_GAME_ACTIVITY_SOURCES
|
set(CC_GAME_ACTIVITY_SOURCES
|
||||||
${CMAKE_CURRENT_LIST_DIR}/android-gamesdk/GameActivity/game-activity/include/game-activity/GameActivity.cpp
|
${CMAKE_CURRENT_LIST_DIR}/android-gamesdk/GameActivity/game-activity/include/game-activity/GameActivity.cpp
|
||||||
${CMAKE_CURRENT_LIST_DIR}/android-gamesdk/GameActivity/game-activity/include/game-activity/system_utils.cpp
|
${CMAKE_CURRENT_LIST_DIR}/android-gamesdk/GameActivity/game-activity/include/game-activity/system_utils.cpp
|
||||||
|
|||||||
+2
-4
@@ -139,7 +139,5 @@ glslang (Built using https://github.com/YunHsiao/glslang/tree/build)
|
|||||||
linux: 11.5.0
|
linux: 11.5.0
|
||||||
openharmony:11.5.0 (commit: 1978c76)
|
openharmony:11.5.0 (commit: 1978c76)
|
||||||
|
|
||||||
swig ( Built using https://github.com/cocos/swig/tree/cocos-se, executable files are downloaded from https://github.com/cocos/swig/releases/tag/cocos-v1.1.6 )
|
swig ( Built using https://github.com/cocos/swig/tree/cocos-se, executable files are downloaded from https://github.com/cocos/swig/releases/tag/cocos-v1.1.7 )
|
||||||
win64: cocos-v1.1.6 (commit: f52be17)
|
all: cocos-v1.1.7 (commit: 7969da2)
|
||||||
mac: cocos-v1.1.6 (commit: f52be17)
|
|
||||||
linux: cocos-v1.1.6 (commit: f52be17)
|
|
||||||
|
|||||||
Binary file not shown.
@@ -22,3 +22,10 @@
|
|||||||
|
|
||||||
#define %module_macro(m) %feature("module_macro","m")
|
#define %module_macro(m) %feature("module_macro","m")
|
||||||
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
|
#define %release_returned_cpp_object_in_gc(method) %feature("release_returned_cpp_object_in_gc", "1") method
|
||||||
|
|
||||||
|
%define %virtual_inherit(klass)
|
||||||
|
%feature("virtual_inherit", "1") klass;
|
||||||
|
%typemap(in) klass *self
|
||||||
|
%{ $1 = SE_THIS_OBJECT_VIRTUAL<$*ltype, cc::VirtualInheritBase>(s);
|
||||||
|
if (nullptr == $1) return true;%}
|
||||||
|
%enddef
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
$js_check_arg_count
|
$js_check_arg_count
|
||||||
$jslocals
|
$jslocals
|
||||||
$jscode
|
$jscode
|
||||||
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
|
$js_set_private_object
|
||||||
s.thisObject()->setPrivateObject(ptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
|
SE_BIND_CTOR($jswrapper, __jsb_$jsmangledname_class, js_delete_$jsdtor)%}
|
||||||
@@ -62,8 +61,7 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
CC_UNUSED bool ok = true;
|
CC_UNUSED bool ok = true;
|
||||||
$jslocals
|
$jslocals
|
||||||
$jscode
|
$jscode
|
||||||
auto *ptr = JSB_MAKE_PRIVATE_OBJECT_WITH_INSTANCE(result);
|
$js_set_private_object
|
||||||
s.thisObject()->setPrivateObject(ptr);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
%}
|
%}
|
||||||
@@ -86,19 +84,20 @@ static bool $jswrapper(se::State& s) // NOLINT(readability-identifier-naming)
|
|||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* js_dtor: template for a destructor wrapper
|
* js_dtor: template for a destructor wrapper
|
||||||
* - $jsmangledname: mangled class name
|
* - $classname_mangled: mangled class name
|
||||||
* - $jstype: class type
|
* - $jstype: class type
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
%fragment ("js_dtor", "templates")
|
%fragment ("js_dtor", "templates")
|
||||||
%{
|
%{
|
||||||
static bool $jswrapper(se::State& s) {
|
static bool $jswrapper(se::State& s) {
|
||||||
|
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
* js_dtor: template for a destructor wrapper
|
* js_dtor: template for a destructor wrapper
|
||||||
* - $jsmangledname: mangled class name
|
* - $classname_mangled: mangled class name
|
||||||
* - $jstype: class type
|
* - $jstype: class type
|
||||||
* - ${destructor_action}: The custom destructor action to invoke.
|
* - ${destructor_action}: The custom destructor action to invoke.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
@@ -106,6 +105,7 @@ SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
|||||||
%{
|
%{
|
||||||
static bool $jswrapper(se::State& s)
|
static bool $jswrapper(se::State& s)
|
||||||
{
|
{
|
||||||
|
cc::invokeOnGarbageCollectMethod<$jsclass_type>(s);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
SE_BIND_FINALIZE_FUNC($jswrapper) %}
|
||||||
|
|||||||
Reference in New Issue
Block a user