From 31baf196a600dd63f64e34eb1b47cbb92ee39e00 Mon Sep 17 00:00:00 2001 From: Parakoopa Date: Fri, 16 Jul 2021 10:23:19 +0200 Subject: [PATCH] Closes #305: Read monster type names from ROM --- skytemple/module/monster/controller/monster.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/skytemple/module/monster/controller/monster.py b/skytemple/module/monster/controller/monster.py index d3e2c95ef..b85744e4a 100644 --- a/skytemple/module/monster/controller/monster.py +++ b/skytemple/module/monster/controller/monster.py @@ -868,7 +868,7 @@ def _init_stores(self): # Genders self._comboxbox_for_enum(['cb_gender'], Gender) # Types - self._comboxbox_for_enum(['cb_type_primary', 'cb_type_secondary'], PokeType) + self._comboxbox_for_enum_with_strings(['cb_type_primary', 'cb_type_secondary'], PokeType, StringType.TYPE_NAMES) # Movement Types self._comboxbox_for_enum(['cb_movement_type'], MovementType) # IQ Groups @@ -969,6 +969,13 @@ def _comboxbox_for_enum(self, names: List[str], enum: Type[Enum], sort_by_name = for name in names: self._fast_set_comboxbox_store(self.builder.get_object(name), store, 1) + def _comboxbox_for_enum_with_strings(self, names: List[str], enum: Type[Enum], string_type: StringType): + store = Gtk.ListStore(int, str) # id, name + for entry in enum: + store.append([entry.value, self._string_provider.get_value(string_type, entry.value)]) + for name in names: + self._fast_set_comboxbox_store(self.builder.get_object(name), store, 1) + @staticmethod def _fast_set_comboxbox_store(cb: Gtk.ComboBox, store: Gtk.ListStore, col): cb.set_model(store)