Repe [T3DU] and Moises Jpelaez updates

This commit is contained in:
2026-05-12 23:54:06 -07:00
parent 6b404f9da6
commit 39091e8db3
147 changed files with 5539 additions and 1750 deletions

View File

@ -31,7 +31,6 @@ typedef TSceneFormat = {
@:optional public var speaker_datas: Array<TSpeakerData>;
@:optional public var world_datas: Array<TWorldData>;
@:optional public var world_ref: String;
@:optional public var tilesheet_datas: Array<TTilesheetData>;
@:optional public var objects: Array<TObj>;
@:optional public var groups: Array<TGroup>;
@:optional public var gravity: Float32Array;
@ -169,6 +168,7 @@ typedef TShaderOverride = {
@:structInit class TShaderOverride {
#end
@:optional public var cull_mode: String;
@:optional public var compare_mode: String;
@:optional public var addressing: String;
@:optional public var filter: String;
@:optional public var shared_sampler: String;
@ -364,18 +364,6 @@ typedef TProbeData = {
@:optional public var radiance_mipmaps: Null<Int>;
}
#if js
typedef TTilesheetData = {
#else
@:structInit class TTilesheetData {
#end
public var name: String;
public var tilesx: Int;
public var tilesy: Int;
public var framerate: Int;
public var actions: Array<TTilesheetAction>;
}
#if js
typedef TTilesheetAction = {
#else
@ -385,6 +373,31 @@ typedef TTilesheetAction = {
public var start: Int;
public var end: Int;
public var loop: Bool;
public var tilesx: Int;
public var tilesy: Int;
public var framerate: Int;
@:optional public var mesh: String; // Optional mesh to swap to when playing this action
@:optional public var events: Array<TTilesheetEvent>; // Optional events triggered on specific frames
}
#if js
typedef TTilesheetEvent = {
#else
@:structInit class TTilesheetEvent {
#end
public var name: String; // Event name
public var frame: Int; // Frame number when event triggers
}
#if js
typedef TTilesheetData = {
#else
@:structInit class TTilesheetData {
#end
public var actions: Array<TTilesheetAction>;
public var start_action: String;
public var flipx: Bool;
public var flipy: Bool;
}
#if js
@ -392,26 +405,47 @@ typedef TParticleData = {
#else
@:structInit class TParticleData {
#end
// Format
public var fps: Int;
public var name: String;
public var type: Int; // 0 - Emitter, Hair
// Lnx
public var auto_start: Bool;
public var dynamic_emitter: Bool;
public var is_unique: Bool;
public var local_coords: Bool;
public var loop: Bool;
// Emission
public var count: Int;
// public var hair_length: FastFloat; TODO
public var frame_start: FastFloat;
public var frame_end: FastFloat;
public var lifetime: FastFloat;
public var lifetime_random: FastFloat;
public var emit_from: Int; // 0 - Vert, 1 - Face, 2 - Volume
// Velocity
public var object_align_factor: Float32Array;
public var factor_random: FastFloat;
// Rotation
public var use_rotations: Bool;
public var rotation_mode: Int; // 0 - None, 1 - Normal, 2 - Normal-Tangent, 3 - Velocity/Hair, 4 - Global X, 5 - Global Y, 6 - Global Z, 7 - Object X, 8 - Object Y, 9 - Object Z
public var rotation_factor_random: Float;
public var phase_factor: Float;
public var phase_factor_random: Float;
public var use_dynamic_rotation: Bool;
// Physics
public var physics_type: Int; // 0 - No, 1 - Newton
public var mass: FastFloat;
// Render
public var particle_size: FastFloat; // Object scale
public var size_random: FastFloat; // Random scale
public var mass: FastFloat;
public var show_emitter: Bool;
public var instance_object: String; // Object reference
// Field Weights
public var weight_gravity: FastFloat;
public var weight_texture: FastFloat;
// Textures
public var texture_slots: Dynamic;
}
#if js
@ -433,6 +467,7 @@ typedef TObj = {
public var name: String;
public var data_ref: String;
public var transform: TTransform;
@:optional public var filename: String; // For objects instanced from external files
@:optional public var material_refs: Array<String>;
@:optional public var particle_refs: Array<TParticleReference>;
@:optional public var render_emitter: Bool;
@ -462,8 +497,7 @@ typedef TObj = {
@:optional public var mobile: Null<Bool>;
@:optional public var spawn: Null<Bool>; // Auto add object when creating scene
@:optional public var local_only: Null<Bool>; // Apply parent matrix
@:optional public var tilesheet_ref: String;
@:optional public var tilesheet_action_ref: String;
@:optional public var tilesheet: TTilesheetData; // Embedded tilesheet data
@:optional public var sampled: Null<Bool>; // Object action
@:optional public var is_ik_fk_only: Null<Bool>; // Bone IK or FK only
@:optional public var bone_layers: Array<Bool>; // Bone Layer