Fixes memory issue
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-07-18 10:49:58 +02:00
parent 7682704945
commit 9472c1cec2
6 changed files with 19 additions and 16 deletions

View File

@@ -9,10 +9,10 @@ use project_root::get_project_root;
use serde_json::Value;
use pkmn_lib::defines::LevelInt;
use pkmn_lib::dynamic_data::DynamicLibrary;
use pkmn_lib::dynamic_data::Gen7BattleStatCalculator;
use pkmn_lib::dynamic_data::Gen7DamageLibrary;
use pkmn_lib::dynamic_data::Gen7MiscLibrary;
use pkmn_lib::dynamic_data::{DynamicLibrary, EmptyScriptResolver};
use pkmn_lib::script_implementations::wasm::script_resolver::WebAssemblyScriptResolver;
use pkmn_lib::static_data::{
Ability, AbilityLibrary, BattleItemCategory, DataLibrary, EffectParameter, Form, GrowthRateLibrary, Item,
@@ -34,14 +34,14 @@ pub fn load_library() -> DynamicLibrary {
load_moves(&path, &mut data);
load_species(&path, &mut data);
let mut resolver = WebAssemblyScriptResolver::new();
load_wasm(&path, &mut resolver);
load_wasm(&path, resolver.as_mut());
let dynamic = DynamicLibrary::new(
data,
Box::new(Gen7BattleStatCalculator {}),
Box::new(Gen7DamageLibrary::new(false)),
Box::new(Gen7MiscLibrary::new()),
Box::new(resolver),
resolver,
);
dynamic
}
@@ -276,10 +276,10 @@ pub fn load_species(path: &String, library: &mut StaticData) {
}
fn load_wasm(path: &String, library: &mut WebAssemblyScriptResolver) {
let mut file = File::open(path.to_string() + "gen7_scripts_rs.wasm").unwrap();
let file = File::open(path.to_string() + "gen7_scripts_rs.wasm").unwrap();
let mut reader = BufReader::new(file);
let mut buffer = Vec::new();
reader.read_to_end(&mut buffer);
reader.read_to_end(&mut buffer).unwrap();
library.load_wasm_from_bytes(&buffer);
}

View File

@@ -30,7 +30,7 @@ fn get_library<'a>() -> &'a DynamicLibrary {
#[cfg_attr(miri, ignore)]
fn validate_library_load() {
let start_time = chrono::Utc::now();
let lib = library_loader::load_library();
library_loader::load_library();
let end_time = chrono::Utc::now();
println!("Built library in {} ms", (end_time - start_time).num_milliseconds());
}