tirbofish/dropbear · commit
bba1cede278263b7ee65ad0db9327e363af6bdc1
wip: final change before going to sleep and dealing with this shit tomorrow.
Signature present but could not be verified.
Unverified
@@ -7,7 +7,7 @@ repository.workspace = true readme = "README.md" [lib] -crate-type = ["rlib", "dylib"] +crate-type = ["rlib", "cdylib"] [dependencies] dropbear-traits = { path = "../dropbear-traits" } @@ -108,14 +108,6 @@ impl ToJObject for AxisLock { } } -/// A serializable physics rigid-body component. -/// -/// Notes: -/// - This component should NOT store Rapier handles (`RigidBodyHandle`, `ColliderHandle`, ...). -/// Those are runtime-only and belong in a physics-world resource/system. -/// - The body's initial pose should typically come from your `EntityTransform`/`Transform`. -/// - Colliders/material (shape, friction, restitution, sensor, etc.) should usually be a separate -/// component (e.g. `Collider`). #[derive(Debug, Serialize, Deserialize, Clone)] pub struct RigidBody { /// The entity this component is attached to. @@ -604,7 +596,7 @@ pub mod shared { kotlin(class = "com.dropbear.physics.RigidBodyNative", func = "rigidBodyExistsForEntity"), c )] -fn rigid_body_exists_for_entity( +fn exists_for_entity( #[dropbear_macro::define(WorldPtr)] world: &hecs::World, #[dropbear_macro::define(PhysicsStatePtr)] @@ -1,8 +1,6 @@ -use crate::ptr::{SceneLoaderPtr, SceneLoaderUnwrapped}; -use crate::scripting::jni::utils::ToJObject; +use crate::ptr::{CommandBufferPtr, CommandBufferUnwrapped, SceneLoaderPtr, SceneLoaderUnwrapped}; use crate::scripting::result::DropbearNativeResult; use crate::utils::Progress; -use ::jni as jni_ext; pub mod shared { use crate::command::CommandBuffer; @@ -126,9 +124,9 @@ pub mod shared { if let Some(entry) = loader.get_entry(scene_id) { let status = match entry.result { - SceneLoadResult::Pending => 0, // PENDING - SceneLoadResult::Success => 1, // READY - SceneLoadResult::Error(_) => 2, // FAILED + SceneLoadResult::Pending => 0, + SceneLoadResult::Success => 1, + SceneLoadResult::Error(_) => 2, }; Ok(status) } else { @@ -137,247 +135,93 @@ pub mod shared { } } -// input: #[dropbear_macro::export( - kotlin( - class = "com.dropbear.scene.SceneLoadHandleNative", - func = "getSceneLoadProgress", - jni = "jni_ext", - ), - c( - name = "dropbear_scene_get_scene_load_progress", - ) + kotlin(class = "com.dropbear.scene.SceneManagerNative", func = "loadSceneAsync"), + c )] -fn get_scene_load_progress( +fn load_scene_async( + #[dropbear_macro::define(CommandBufferPtr)] + command_buffer: &CommandBufferUnwrapped, #[dropbear_macro::define(SceneLoaderPtr)] - scene_loader: &mut SceneLoaderUnwrapped, - scene_id: u64, -) -> DropbearNativeResult<Progress> { - // in this case, a Progress is returned. Progress must use the - // `ToJObject` trait to be valid, and must be representable by the C ABI (through #[repr(C)], - // or a derive trait if you wish). - shared::get_scene_load_progress(&scene_loader, scene_id) + scene_loader: &SceneLoaderUnwrapped, + scene_name: String, +) -> DropbearNativeResult<u64> { + Ok(shared::load_scene_async(command_buffer, scene_loader, scene_name, None)?) } -pub mod jni { - #![allow(non_snake_case)] - use crate::command::CommandBuffer; - use crate::ptr::{CommandBufferPtr, SceneLoaderPtr}; - use crate::scripting::jni::utils::ToJObject; - use crate::{convert_jstring, convert_ptr}; - use jni::objects::{JClass, JString, JValue}; - use jni::sys::{jint, jlong, jobject}; - use jni::JNIEnv; - - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneManagerNative_loadSceneAsyncNative__JJLjava_lang_String_2( - mut env: JNIEnv, - _: JClass, - command_buffer_ptr: jlong, - scene_manager_handle: jlong, - scene_name: JString, - ) -> jobject { - let command_buffer = convert_ptr!(command_buffer_ptr, CommandBufferPtr => crossbeam_channel::Sender<CommandBuffer>); - let scene_loader = convert_ptr!(scene_manager_handle, SceneLoaderPtr => parking_lot::Mutex<crate::scene::loading::SceneLoader>); - - let scene_name_str = convert_jstring!(env, scene_name); - - match super::shared::load_scene_async(command_buffer, scene_loader, scene_name_str, None) { - Ok(scene_id) => { - match env.find_class("java/lang/Long") { - Ok(long_class) => { - match env.new_object(long_class, "(J)V", &[JValue::Long(scene_id as i64)]) { - Ok(obj) => obj.into_raw(), - Err(e) => { - eprintln!("Failed to create Long object: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to create Long object: {}", e)); - std::ptr::null_mut() - } - } - } - Err(e) => { - eprintln!("Failed to find Long class: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to find Long class: {}", e)); - std::ptr::null_mut() - } - } - } - Err(e) => { - eprintln!("Failed to load scene async: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to load scene async: {:?}", e)); - std::ptr::null_mut() - } - } - } - - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneManagerNative_loadSceneAsyncNative__JJLjava_lang_String_2Ljava_lang_String_2( - mut env: JNIEnv, - _: JClass, - command_buffer_ptr: jlong, - scene_manager_handle: jlong, - scene_name: JString, - loading_scene: JString, - ) -> jobject { - let command_buffer = convert_ptr!(command_buffer_ptr, CommandBufferPtr => crossbeam_channel::Sender<CommandBuffer>); - let scene_loader = convert_ptr!(scene_manager_handle, SceneLoaderPtr => parking_lot::Mutex<crate::scene::loading::SceneLoader>); - - let scene_name_str = convert_jstring!(env, scene_name); - let loading_scene_str = convert_jstring!(env, loading_scene); - - match super::shared::load_scene_async(command_buffer, scene_loader, scene_name_str, Some(loading_scene_str)) { - Ok(scene_id) => { - match env.find_class("java/lang/Long") { - Ok(long_class) => { - match env.new_object(long_class, "(J)V", &[JValue::Long(scene_id as i64)]) { - Ok(obj) => obj.into_raw(), - Err(e) => { - eprintln!("Failed to create Long object: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to create Long object: {}", e)); - std::ptr::null_mut() - } - } - } - Err(e) => { - eprintln!("Failed to find Long class: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to find Long class: {}", e)); - std::ptr::null_mut() - } - } - } - Err(e) => { - eprintln!("Failed to load scene async with loading scene: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to load scene async: {:?}", e)); - std::ptr::null_mut() - } - } - } - - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneManagerNative_switchToSceneImmediateNative( - mut env: JNIEnv, - _: JClass, - command_buffer_ptr: jlong, - scene_name: JString, - ) { - let command_buffer = convert_ptr!(command_buffer_ptr, CommandBufferPtr => crossbeam_channel::Sender<CommandBuffer>); - - let scene_name_str = convert_jstring!(env, scene_name); - - if let Err(e) = super::shared::switch_to_scene_immediate(command_buffer, scene_name_str) { - eprintln!("Failed to switch scene immediate: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to switch scene immediate: {:?}", e)); - } - } - - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneLoadHandleNative_getSceneLoadHandleSceneName( - mut env: JNIEnv, - _: JClass, - scene_loader_handle: jlong, - scene_id: jlong, - ) -> jobject { - let scene_loader = convert_ptr!(scene_loader_handle, SceneLoaderPtr => parking_lot::Mutex<crate::scene::loading::SceneLoader>); - - match super::shared::get_scene_load_handle_scene_name(scene_loader, scene_id as u64) { - Ok(scene_name) => { - match env.new_string(scene_name) { - Ok(jstring) => jstring.into_raw(), - Err(e) => { - eprintln!("Failed to create Java string: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to create Java string: {}", e)); - std::ptr::null_mut() - } - } - } - Err(e) => { - eprintln!("Failed to get scene name: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to get scene name: {:?}", e)); - std::ptr::null_mut() - } - } - } - - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneLoadHandleNative_switchToSceneAsync( - mut env: JNIEnv, - _: JClass, - command_buffer_ptr: jlong, - scene_loader_handle: jlong, - scene_id: jlong, - ) { - let command_buffer = convert_ptr!(command_buffer_ptr, CommandBufferPtr => crossbeam_channel::Sender<CommandBuffer>); - let scene_loader = convert_ptr!(scene_loader_handle, SceneLoaderPtr => parking_lot::Mutex<crate::scene::loading::SceneLoader>); - - if let Err(e) = super::shared::switch_to_scene_async(command_buffer, scene_loader, scene_id as u64) { - eprintln!("Failed to switch scene async: {}", e); +#[dropbear_macro::export( + kotlin(class = "com.dropbear.scene.SceneManagerNative", func = "loadSceneAsyncWithLoading"), + c +)] +fn load_scene_async_with_loading( + #[dropbear_macro::define(CommandBufferPtr)] + command_buffer: &CommandBufferUnwrapped, + #[dropbear_macro::define(SceneLoaderPtr)] + scene_loader: &SceneLoaderUnwrapped, + scene_name: String, + loading_scene: String, +) -> DropbearNativeResult<u64> { + Ok(shared::load_scene_async(command_buffer, scene_loader, scene_name, Some(loading_scene))?) +} - if let crate::scripting::native::DropbearNativeError::PrematureSceneSwitch = e { - let _ = env.throw_new("com/dropbear/exception/PrematureSceneSwitchException", - "Cannot switch to scene before it has finished loading"); - } else { - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to switch scene async: {:?}", e)); - } - } - } +#[dropbear_macro::export( + kotlin(class = "com.dropbear.scene.SceneManagerNative", func = "switchToSceneImmediate"), + c +)] +fn switch_to_scene_immediate( + #[dropbear_macro::define(CommandBufferPtr)] + command_buffer: &CommandBufferUnwrapped, + scene_name: String, +) -> DropbearNativeResult<()> { + Ok(shared::switch_to_scene_immediate(command_buffer, scene_name)?) +} - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneLoadHandleNative_getSceneLoadProgress( - mut env: JNIEnv, - _: JClass, - scene_loader_handle: jlong, - scene_id: jlong, - ) -> jobject { - let scene_loader = convert_ptr!(scene_loader_handle, SceneLoaderPtr => parking_lot::Mutex<crate::scene::loading::SceneLoader>); +#[dropbear_macro::export( + kotlin(class = "com.dropbear.scene.SceneLoadHandleNative", func = "getSceneLoadHandleSceneName"), + c +)] +fn get_scene_load_handle_scene_name( + #[dropbear_macro::define(SceneLoaderPtr)] + scene_loader: &SceneLoaderUnwrapped, + scene_id: u64, +) -> DropbearNativeResult<String> { + Ok(shared::get_scene_load_handle_scene_name(scene_loader, scene_id)?) +} - match super::shared::get_scene_load_progress(scene_loader, scene_id as u64) { - Ok(progress) => { - match progress.to_jobject(&mut env) { - Ok(obj) => obj.into_raw(), - Err(e) => { - eprintln!("Failed to create Progress object: {:?}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to create Progress object: {:?}", e)); - std::ptr::null_mut() - } - } - } - Err(e) => { - eprintln!("Failed to get scene load progress: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to get scene load progress: {:?}", e)); - std::ptr::null_mut() - } - } - } +#[dropbear_macro::export( + kotlin(class = "com.dropbear.scene.SceneLoadHandleNative", func = "switchToSceneAsync"), + c +)] +fn switch_to_scene_async( + #[dropbear_macro::define(CommandBufferPtr)] + command_buffer: &CommandBufferUnwrapped, + #[dropbear_macro::define(SceneLoaderPtr)] + scene_loader: &SceneLoaderUnwrapped, + scene_id: u64, +) -> DropbearNativeResult<()> { + Ok(shared::switch_to_scene_async(command_buffer, scene_loader, scene_id)?) +} - #[unsafe(no_mangle)] - pub extern "system" fn Java_com_dropbear_scene_SceneLoadHandleNative_getSceneLoadStatus( - mut env: JNIEnv, - _: JClass, - scene_loader_handle: jlong, - scene_id: jlong, - ) -> jint { - let scene_loader = convert_ptr!(scene_loader_handle, SceneLoaderPtr => parking_lot::Mutex<crate::scene::loading::SceneLoader>); +#[dropbear_macro::export( + kotlin(class = "com.dropbear.scene.SceneLoadHandleNative", func = "getSceneLoadProgress"), + c +)] +fn get_scene_load_progress( + #[dropbear_macro::define(SceneLoaderPtr)] + scene_loader: &SceneLoaderUnwrapped, + scene_id: u64, +) -> DropbearNativeResult<Progress> { + Ok(shared::get_scene_load_progress(scene_loader, scene_id)?) +} - match super::shared::get_scene_load_status(scene_loader, scene_id as u64) { - Ok(status) => status as jint, - Err(e) => { - eprintln!("Failed to get scene load status: {}", e); - let _ = env.throw_new("java/lang/RuntimeException", - format!("Failed to get scene load status: {:?}", e)); - -1 as jint - } - } - } +#[dropbear_macro::export( + kotlin(class = "com.dropbear.scene.SceneLoadHandleNative", func = "getSceneLoadStatus"), + c +)] +fn get_scene_load_status( + #[dropbear_macro::define(SceneLoaderPtr)] + scene_loader: &SceneLoaderUnwrapped, + scene_id: u64, +) -> DropbearNativeResult<u32> { + Ok(shared::get_scene_load_status(scene_loader, scene_id)?) } @@ -179,7 +179,32 @@ typedef struct NChannelValuesFfi { typedef NChannelValuesFfi NChannelValues; -typedef void* WorldPtr; +typedef struct IndexNative { + uint32_t index; + uint32_t generation; +} IndexNative; + +typedef struct NCollider { + IndexNative index; + uint64_t entity_id; + uint32_t id; +} NCollider; + +typedef struct NShapeCastHit { + NCollider collider; + double distance; + NVector3 witness1; + NVector3 witness2; + NVector3 normal1; + NVector3 normal2; + NShapeCastStatus status; +} NShapeCastHit; + +typedef struct Progress { + size_t current; + size_t total; + const char* message; +} Progress; typedef struct i32Array { int32_t* values; @@ -206,66 +231,51 @@ typedef struct NSkinArray { size_t capacity; } NSkinArray; +typedef struct NColliderArray { + NCollider* values; + size_t length; + size_t capacity; +} NColliderArray; + +typedef struct RigidBodyContext { + IndexNative index; + uint64_t entity_id; +} RigidBodyContext; + +typedef void* InputStatePtr; + +typedef void* AssetRegistryPtr; + typedef struct NTransform { NVector3 position; NQuaternion rotation; NVector3 scale; } NTransform; -typedef struct NColour { - uint8_t r; - uint8_t g; - uint8_t b; - uint8_t a; -} NColour; - -typedef struct NRange { - float start; - float end; -} NRange; - -typedef void* SceneLoaderPtr; - -typedef struct IndexNative { - uint32_t index; - uint32_t generation; -} IndexNative; - -typedef struct NCollider { - IndexNative index; - uint64_t entity_id; - uint32_t id; -} NCollider; - -typedef struct NShapeCastHit { - NCollider collider; - double distance; - NVector3 witness1; - NVector3 witness2; - NVector3 normal1; - NVector3 normal2; - NShapeCastStatus status; -} NShapeCastHit; - -typedef struct u64Array { - uint64_t* values; - size_t length; - size_t capacity; -} u64Array; +typedef struct NAttenuation { + float constant; + float linear; + float quadratic; +} NAttenuation; -typedef void* CommandBufferPtr; +typedef struct NNodeTransform { + NVector3 translation; + NQuaternion rotation; + NVector3 scale; +} NNodeTransform; -typedef struct Progress { - size_t current; - size_t total; - const char* message; -} Progress; +typedef struct NNode { + const char* name; + const int32_t* parent; + i32Array children; + NNodeTransform transform; +} NNode; -typedef struct NColliderArray { - NCollider* values; +typedef struct NNodeArray { + NNode* values; size_t length; size_t capacity; -} NColliderArray; +} NNodeArray; typedef struct NVector4 { double x; @@ -309,24 +319,36 @@ typedef struct NMeshArray { size_t capacity; } NMeshArray; -typedef struct NNodeTransform { - NVector3 translation; - NQuaternion rotation; - NVector3 scale; -} NNodeTransform; +typedef struct f64Array { + double* values; + size_t length; + size_t capacity; +} f64Array; -typedef struct NNode { +typedef struct NAnimationChannel { + int32_t target_node; + f64Array times; + NChannelValues values; + NAnimationInterpolation interpolation; +} NAnimationChannel; + +typedef struct NAnimationChannelArray { + NAnimationChannel* values; + size_t length; + size_t capacity; +} NAnimationChannelArray; + +typedef struct NAnimation { const char* name; - const int32_t* parent; - i32Array children; - NNodeTransform transform; -} NNode; + NAnimationChannelArray channels; + float duration; +} NAnimation; -typedef struct NNodeArray { - NNode* values; +typedef struct NAnimationArray { + NAnimation* values; size_t length; size_t capacity; -} NNodeArray; +} NAnimationArray; typedef struct IndexNativeArray { IndexNative* values; @@ -339,15 +361,46 @@ typedef struct CharacterCollisionArray { IndexNativeArray collisions; } CharacterCollisionArray; -typedef void* InputStatePtr; - -typedef void* PhysicsStatePtr; +typedef struct u64Array { + uint64_t* values; + size_t length; + size_t capacity; +} u64Array; typedef struct ConnectedGamepadIds { u64Array ids; } ConnectedGamepadIds; -typedef void* AssetRegistryPtr; +typedef struct RayHit { + NCollider collider; + double distance; +} RayHit; + +typedef void* GraphicsContextPtr; + +typedef void* CommandBufferPtr; + +typedef struct NRange { + float start; + float end; +} NRange; + +typedef struct AxisLock { + bool x; + bool y; + bool z; +} AxisLock; + +typedef void* SceneLoaderPtr; + +typedef void* WorldPtr; + +typedef struct NColour { + uint8_t r; + uint8_t g; + uint8_t b; + uint8_t a; +} NColour; typedef struct NMaterial { const char* name; @@ -373,60 +426,7 @@ typedef struct NMaterialArray { size_t capacity; } NMaterialArray; -typedef struct NAttenuation { - float constant; - float linear; - float quadratic; -} NAttenuation; - -typedef struct RayHit { - NCollider collider; - double distance; -} RayHit; - -typedef struct f64Array { - double* values; - size_t length; - size_t capacity; -} f64Array; - -typedef struct NAnimationChannel { - int32_t target_node; - f64Array times; - NChannelValues values; - NAnimationInterpolation interpolation; -} NAnimationChannel; - -typedef struct NAnimationChannelArray { - NAnimationChannel* values; - size_t length; - size_t capacity; -} NAnimationChannelArray; - -typedef struct NAnimation { - const char* name; - NAnimationChannelArray channels; - float duration; -} NAnimation; - -typedef struct NAnimationArray { - NAnimation* values; - size_t length; - size_t capacity; -} NAnimationArray; - -typedef struct AxisLock { - bool x; - bool y; - bool z; -} AxisLock; - -typedef struct RigidBodyContext { - IndexNative index; - uint64_t entity_id; -} RigidBodyContext; - -typedef void* GraphicsContextPtr; +typedef void* PhysicsStatePtr; int32_t dropbear_gamepad_is_button_pressed(InputStatePtr input, uint64_t gamepad_id, int32_t button_ordinal, bool* out0); int32_t dropbear_gamepad_get_left_stick_position(InputStatePtr input, uint64_t gamepad_id, NVector2* out0); @@ -459,7 +459,7 @@ int32_t dropbear_collider_get_collider_translation(PhysicsStatePtr physics, cons int32_t dropbear_collider_set_collider_translation(PhysicsStatePtr physics, const NCollider* collider, const NVector3* translation); int32_t dropbear_collider_get_collider_rotation(PhysicsStatePtr physics, const NCollider* collider, NVector3* out0); int32_t dropbear_collider_set_collider_rotation(PhysicsStatePtr physics, const NCollider* collider, const NVector3* rotation); -int32_t dropbear_rigidbody_rigid_body_exists_for_entity(WorldPtr world, PhysicsStatePtr physics, uint64_t entity, IndexNative* out0, bool* out0_present); +int32_t dropbear_rigidbody_exists_for_entity(WorldPtr world, PhysicsStatePtr physics, uint64_t entity, IndexNative* out0, bool* out0_present); int32_t dropbear_rigidbody_get_rigidbody_mode(WorldPtr _world, PhysicsStatePtr physics, const RigidBodyContext* rigidbody, int32_t* out0); int32_t dropbear_rigidbody_set_rigidbody_mode(WorldPtr world, PhysicsStatePtr physics, const RigidBodyContext* rigidbody, int32_t mode); int32_t dropbear_rigidbody_get_rigidbody_gravity_scale(WorldPtr _world, PhysicsStatePtr physics, const RigidBodyContext* rigidbody, double* out0); @@ -487,7 +487,13 @@ int32_t dropbear_kcc_kcc_exists_for_entity(WorldPtr world, uint64_t entity, bool int32_t dropbear_kcc_move_character(WorldPtr world, PhysicsStatePtr physics_state, uint64_t entity, const NVector3* translation, double delta_time); int32_t dropbear_kcc_set_rotation(WorldPtr world, PhysicsStatePtr physics_state, uint64_t entity, const NQuaternion* rotation); int32_t dropbear_kcc_get_hit(WorldPtr world, uint64_t entity, CharacterCollisionArray* out0); -int32_t dropbear_scene_get_scene_load_progress(SceneLoaderPtr scene_loader, uint64_t scene_id, Progress* out0); +int32_t dropbear_scripting_load_scene_async(CommandBufferPtr command_buffer, SceneLoaderPtr scene_loader, const char* scene_name, uint64_t* out0); +int32_t dropbear_scripting_load_scene_async_with_loading(CommandBufferPtr command_buffer, SceneLoaderPtr scene_loader, const char* scene_name, const char* loading_scene, uint64_t* out0); +int32_t dropbear_scripting_switch_to_scene_immediate(CommandBufferPtr command_buffer, const char* scene_name); +int32_t dropbear_scripting_get_scene_load_handle_scene_name(SceneLoaderPtr scene_loader, uint64_t scene_id, char** out0); +int32_t dropbear_scripting_switch_to_scene_async(CommandBufferPtr command_buffer, SceneLoaderPtr scene_loader, uint64_t scene_id); +int32_t dropbear_scripting_get_scene_load_progress(SceneLoaderPtr scene_loader, uint64_t scene_id, Progress* out0); +int32_t dropbear_scripting_get_scene_load_status(SceneLoaderPtr scene_loader, uint64_t scene_id, uint32_t* out0); int32_t dropbear_camera_exists_for_entity(WorldPtr world, uint64_t entity, bool* out0); int32_t dropbear_camera_get_eye(WorldPtr world, uint64_t entity, NVector3* out0); int32_t dropbear_camera_set_eye(WorldPtr world, uint64_t entity, const NVector3* eye); @@ -7,7 +7,7 @@ public class SceneManagerNative { new EucalyptusCoreLoader().ensureLoaded(); } - public static native Long loadSceneAsyncNative(long commandBufferPtr, long sceneManagerHandle, String sceneName); - public static native Long loadSceneAsyncNative(long commandBufferPtr, long sceneManagerHandle, String sceneName, String loadingScene); - public static native void switchToSceneImmediateNative(long commandBufferPtr, String sceneName); + public static native long loadSceneAsync(long commandBufferPtr, long sceneManagerHandle, String sceneName); + public static native long loadSceneAsyncWithLoading(long commandBufferPtr, long sceneManagerHandle, String sceneName, String loadingScene); + public static native void switchToSceneImmediate(long commandBufferPtr, String sceneName); }