FFI for Pokemon class

This commit is contained in:
2022-10-14 13:59:04 +02:00
parent a840605bf7
commit 9efe1b4e22
10 changed files with 439 additions and 59 deletions

View File

@@ -1,6 +1,7 @@
use crate::dynamic_data::{BattleStatCalculator, DamageLibrary, DynamicLibrary, MiscLibrary, ScriptResolver};
use crate::ffi::{IdentifiablePointer, OwnedPtr};
use crate::static_data::StaticData;
use std::sync::Arc;
#[no_mangle]
extern "C" fn dynamic_library_new(
@@ -9,9 +10,9 @@ extern "C" fn dynamic_library_new(
damage_library: OwnedPtr<Box<dyn DamageLibrary>>,
misc_library: OwnedPtr<Box<dyn MiscLibrary>>,
script_resolver: OwnedPtr<Box<dyn ScriptResolver>>,
) -> IdentifiablePointer<DynamicLibrary> {
) -> IdentifiablePointer<Arc<DynamicLibrary>> {
unsafe {
Box::new(DynamicLibrary::new(
Arc::new(DynamicLibrary::new(
*Box::from_raw(static_data),
*Box::from_raw(stat_calculator),
*Box::from_raw(damage_library),