From 1070753be76a2d5325c892aeac48cf599cc13157 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Tue, 20 Sep 2022 18:04:19 +0200 Subject: [PATCH] Fixes for growth rate FFI --- src/ffi/static_data/growth_rate.rs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/ffi/static_data/growth_rate.rs b/src/ffi/static_data/growth_rate.rs index f72d091..e789165 100644 --- a/src/ffi/static_data/growth_rate.rs +++ b/src/ffi/static_data/growth_rate.rs @@ -4,24 +4,22 @@ use crate::static_data::{GrowthRate, LookupGrowthRate}; use std::ptr::drop_in_place; #[no_mangle] -unsafe extern "C" fn growth_rate_lookup_new(array: *const u32, length: usize) -> OwnedPtr { +unsafe extern "C" fn growth_rate_lookup_new(array: *const u32, length: usize) -> OwnedPtr> { let array = std::slice::from_raw_parts(array, length); - Box::into_raw(Box::new(LookupGrowthRate::new(array.to_vec()))) + Box::into_raw(Box::new(Box::new(LookupGrowthRate::new(array.to_vec())))) } #[no_mangle] -unsafe extern "C" fn growth_rate_lookup_drop(ptr: OwnedPtr) { +unsafe extern "C" fn growth_rate_lookup_drop(ptr: OwnedPtr>) { drop_in_place(ptr) } #[no_mangle] -#[allow(improper_ctypes_definitions)] -extern "C" fn growth_rate_calculate_level(ptr: ExternPointer, experience: u32) -> LevelInt { +extern "C" fn growth_rate_calculate_level(ptr: ExternPointer>, experience: u32) -> LevelInt { ptr.as_ref().calculate_level(experience) } #[no_mangle] -#[allow(improper_ctypes_definitions)] -extern "C" fn growth_rate_calculate_experience(ptr: ExternPointer, level: LevelInt) -> u32 { +extern "C" fn growth_rate_calculate_experience(ptr: ExternPointer>, level: LevelInt) -> u32 { ptr.as_ref().calculate_experience(level) }