From e296c2a26821e1a2753ae292887b64070c43d25d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com>
Date: Sat, 10 Jun 2023 13:46:38 +0100
Subject: [PATCH] chore: new WASM code fix

---
 src/genie.rs |  4 ++++
 src/rom.rs   | 22 ++++++++++------------
 2 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/genie.rs b/src/genie.rs
index 8a1fe39a..7a2ca2e1 100644
--- a/src/genie.rs
+++ b/src/genie.rs
@@ -3,7 +3,11 @@ use std::{
     fmt::{self, Display, Formatter},
 };
 
+#[cfg(feature = "wasm")]
+use wasm_bindgen::prelude::*;
+
 #[derive(Clone)]
+#[cfg_attr(feature = "wasm", wasm_bindgen)]
 pub struct GameGenie {
     /// Hash map that contains the complete set of Game Genie
     /// codes that have been registered for the current ROM.
diff --git a/src/rom.rs b/src/rom.rs
index 8a4d4d1d..350003a9 100644
--- a/src/rom.rs
+++ b/src/rom.rs
@@ -564,6 +564,16 @@ impl Cartridge {
         self.ram_data = ram_data;
     }
 
+    pub fn attach_genie(&mut self, game_genie: GameGenie) {
+        self.game_genie = Some(game_genie);
+        self.handler = &GAME_GENIE;
+    }
+
+    pub fn detach_genie(&mut self) {
+        self.game_genie = None;
+        self.handler = self.mbc;
+    }
+
     pub fn description(&self, column_length: usize) -> String {
         let name_l = format!("{:width$}", "Name", width = column_length);
         let type_l = format!("{:width$}", "Type", width = column_length);
@@ -586,18 +596,6 @@ impl Cartridge {
     }
 }
 
-impl Cartridge {
-    pub fn attach_genie(&mut self, game_genie: GameGenie) {
-        self.game_genie = Some(game_genie);
-        self.handler = &GAME_GENIE;
-    }
-
-    pub fn detach_genie(&mut self) {
-        self.game_genie = None;
-        self.handler = self.mbc;
-    }
-}
-
 impl Default for Cartridge {
     fn default() -> Self {
         Self::new()
-- 
GitLab