Skip to content

Commit 2fbfccb

Browse files
committed
convert: Refactor SWGBCCPregenSubprocessor into separate files.
1 parent 2a03132 commit 2fbfccb

File tree

10 files changed

+578
-700
lines changed

10 files changed

+578
-700
lines changed

openage/convert/processor/conversion/aoc/pregen/effect.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
import typing
88

99
from ......nyan.nyan_structs import MemberSpecialValue
10-
from .....entity_object.conversion.converter_object import RawAPIObject, ConverterObjectGroup
10+
from .....entity_object.conversion.converter_object import RawAPIObject
1111
from .....service.conversion import internal_name_lookups
1212
from .....value_object.conversion.forward_ref import ForwardRef
1313

1414
if typing.TYPE_CHECKING:
15+
from .....entity_object.conversion.converter_object import ConverterObjectGroup
1516
from .....entity_object.conversion.aoc.genie_object_container import GenieObjectContainer
1617

1718
ATTRIBUTE_CHANGE_PARENT = "engine.util.attribute_change_type.AttributeChangeType"
@@ -45,9 +46,9 @@ def generate_effect_types(
4546
:param full_data_set: Storage for all converted objects and metadata.
4647
:param pregen_converter_group: Stores all pregenerated nyan objects.
4748
"""
48-
_generate_attribute_change_types(full_data_set, pregen_converter_group)
49-
_generate_construct_types(full_data_set, pregen_converter_group)
50-
_generate_convert_types(full_data_set, pregen_converter_group)
49+
generate_attribute_change_types(full_data_set, pregen_converter_group)
50+
generate_construct_types(full_data_set, pregen_converter_group)
51+
generate_convert_types(full_data_set, pregen_converter_group)
5152

5253

5354
def generate_misc_effect_objects(
@@ -67,7 +68,7 @@ def generate_misc_effect_objects(
6768
_generate_repair_property(full_data_set, pregen_converter_group)
6869

6970

70-
def _generate_attribute_change_types(
71+
def generate_attribute_change_types(
7172
full_data_set: GenieObjectContainer,
7273
pregen_converter_group: ConverterObjectGroup
7374
) -> None:
@@ -156,7 +157,7 @@ def _generate_attribute_change_types(
156157
pregen_nyan_objects.update({type_ref_in_modpack: type_raw_api_object})
157158

158159

159-
def _generate_construct_types(
160+
def generate_construct_types(
160161
full_data_set: GenieObjectContainer,
161162
pregen_converter_group: ConverterObjectGroup
162163
) -> None:
@@ -189,7 +190,7 @@ def _generate_construct_types(
189190
pregen_nyan_objects.update({type_ref_in_modpack: type_raw_api_object})
190191

191192

192-
def _generate_convert_types(
193+
def generate_convert_types(
193194
full_data_set: GenieObjectContainer,
194195
pregen_converter_group: ConverterObjectGroup
195196
) -> None:

openage/convert/processor/conversion/aoc/pregen/exchange.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66
from __future__ import annotations
77
import typing
88

9-
from .....entity_object.conversion.converter_object import RawAPIObject, ConverterObjectGroup
9+
from .....entity_object.conversion.converter_object import RawAPIObject
1010
from .....value_object.conversion.forward_ref import ForwardRef
1111

1212
if typing.TYPE_CHECKING:
13+
from .....entity_object.conversion.converter_object import ConverterObjectGroup
1314
from .....entity_object.conversion.aoc.genie_object_container import GenieObjectContainer
1415

1516
BUY_MODE_PARENT = "engine.util.exchange_mode.type.Buy"
@@ -30,13 +31,13 @@ def generate_exchange_objects(
3031
:param full_data_set: Storage for all converted objects and metadata.
3132
:param pregen_converter_group: Stores all pregenerated nyan objects.
3233
"""
33-
_generate_exchange_modes(full_data_set, pregen_converter_group)
34-
_generate_exchange_rates(full_data_set, pregen_converter_group)
35-
_generate_price_pools(full_data_set, pregen_converter_group)
36-
_generate_price_modes(full_data_set, pregen_converter_group)
34+
generate_exchange_modes(full_data_set, pregen_converter_group)
35+
generate_exchange_rates(full_data_set, pregen_converter_group)
36+
generate_price_pools(full_data_set, pregen_converter_group)
37+
generate_price_modes(full_data_set, pregen_converter_group)
3738

3839

39-
def _generate_exchange_modes(
40+
def generate_exchange_modes(
4041
full_data_set: GenieObjectContainer,
4142
pregen_converter_group: ConverterObjectGroup
4243
) -> None:
@@ -88,7 +89,7 @@ def _generate_exchange_modes(
8889
pregen_nyan_objects.update({exchange_mode_ref_in_modpack: exchange_mode_raw_api_object})
8990

9091

91-
def _generate_exchange_rates(
92+
def generate_exchange_rates(
9293
full_data_set: GenieObjectContainer,
9394
pregen_converter_group: ConverterObjectGroup
9495
) -> None:
@@ -219,7 +220,7 @@ def _generate_exchange_rates(
219220
pregen_nyan_objects.update({exchange_rate_ref_in_modpack: exchange_rate_raw_api_object})
220221

221222

222-
def _generate_price_pools(
223+
def generate_price_pools(
223224
full_data_set: GenieObjectContainer,
224225
pregen_converter_group: ConverterObjectGroup
225226
) -> None:
@@ -275,7 +276,7 @@ def _generate_price_pools(
275276
pregen_nyan_objects.update({exchange_pool_ref_in_modpack: exchange_pool_raw_api_object})
276277

277278

278-
def _generate_price_modes(
279+
def generate_price_modes(
279280
full_data_set: GenieObjectContainer,
280281
pregen_converter_group: ConverterObjectGroup
281282
) -> None:
@@ -299,7 +300,7 @@ def _generate_price_modes(
299300
price_mode_raw_api_object.set_filename("market_trading")
300301
price_mode_raw_api_object.add_raw_parent(PRICE_MODE_PARENT)
301302

302-
# Min price
303+
# Change value
303304
price_mode_raw_api_object.add_raw_member("change_value",
304305
0.03,
305306
PRICE_MODE_PARENT)
@@ -328,7 +329,7 @@ def _generate_price_modes(
328329
price_mode_raw_api_object.set_filename("market_trading")
329330
price_mode_raw_api_object.add_raw_parent(PRICE_MODE_PARENT)
330331

331-
# Min price
332+
# Change value
332333
price_mode_raw_api_object.add_raw_member("change_value",
333334
-0.03,
334335
PRICE_MODE_PARENT)

openage/convert/processor/conversion/aoc/pregen/resource.py

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
RESOURCE_PARENT = "engine.util.resource.Resource"
1717
RESOURCE_CONTINGENT_PARENT = "engine.util.resource.ResourceContingent"
18+
NAME_VALUE_PARENT = "engine.util.language.translated.type.TranslatedString"
1819
RESOURCES_LOCATION = "data/util/resource/"
1920

2021

@@ -28,14 +29,14 @@ def generate_resources(
2829
:param full_data_set: Storage for all converted objects and metadata.
2930
:param pregen_converter_group: Stores all pregenerated nyan objects.
3031
"""
31-
_generate_food_resource(full_data_set, pregen_converter_group)
32-
_generate_wood_resource(full_data_set, pregen_converter_group)
33-
_generate_stone_resource(full_data_set, pregen_converter_group)
34-
_generate_gold_resource(full_data_set, pregen_converter_group)
35-
_generate_population_resource(full_data_set, pregen_converter_group)
32+
generate_food_resource(full_data_set, pregen_converter_group)
33+
generate_wood_resource(full_data_set, pregen_converter_group)
34+
generate_stone_resource(full_data_set, pregen_converter_group)
35+
generate_gold_resource(full_data_set, pregen_converter_group)
36+
generate_population_resource(full_data_set, pregen_converter_group)
3637

3738

38-
def _generate_food_resource(
39+
def generate_food_resource(
3940
full_data_set: GenieObjectContainer,
4041
pregen_converter_group: ConverterObjectGroup
4142
) -> None:
@@ -62,13 +63,12 @@ def _generate_food_resource(
6263
MemberSpecialValue.NYAN_INF,
6364
RESOURCE_PARENT)
6465

65-
name_value_parent = "engine.util.language.translated.type.TranslatedString"
6666
food_name_ref_in_modpack = "util.attribute.types.Food.FoodName"
6767
food_name_value = RawAPIObject(food_name_ref_in_modpack, "FoodName",
6868
api_objects, RESOURCES_LOCATION)
6969
food_name_value.set_filename("types")
70-
food_name_value.add_raw_parent(name_value_parent)
71-
food_name_value.add_raw_member("translations", [], name_value_parent)
70+
food_name_value.add_raw_parent(NAME_VALUE_PARENT)
71+
food_name_value.add_raw_member("translations", [], NAME_VALUE_PARENT)
7272

7373
name_forward_ref = ForwardRef(pregen_converter_group,
7474
food_name_ref_in_modpack)
@@ -80,7 +80,7 @@ def _generate_food_resource(
8080
pregen_nyan_objects.update({food_name_ref_in_modpack: food_name_value})
8181

8282

83-
def _generate_wood_resource(
83+
def generate_wood_resource(
8484
full_data_set: GenieObjectContainer,
8585
pregen_converter_group: ConverterObjectGroup
8686
) -> None:
@@ -107,13 +107,12 @@ def _generate_wood_resource(
107107
MemberSpecialValue.NYAN_INF,
108108
RESOURCE_PARENT)
109109

110-
name_value_parent = "engine.util.language.translated.type.TranslatedString"
111110
wood_name_ref_in_modpack = "util.attribute.types.Wood.WoodName"
112111
wood_name_value = RawAPIObject(wood_name_ref_in_modpack, "WoodName",
113112
api_objects, RESOURCES_LOCATION)
114113
wood_name_value.set_filename("types")
115-
wood_name_value.add_raw_parent(name_value_parent)
116-
wood_name_value.add_raw_member("translations", [], name_value_parent)
114+
wood_name_value.add_raw_parent(NAME_VALUE_PARENT)
115+
wood_name_value.add_raw_member("translations", [], NAME_VALUE_PARENT)
117116

118117
name_forward_ref = ForwardRef(pregen_converter_group,
119118
wood_name_ref_in_modpack)
@@ -125,7 +124,7 @@ def _generate_wood_resource(
125124
pregen_nyan_objects.update({wood_name_ref_in_modpack: wood_name_value})
126125

127126

128-
def _generate_stone_resource(
127+
def generate_stone_resource(
129128
full_data_set: GenieObjectContainer,
130129
pregen_converter_group: ConverterObjectGroup
131130
) -> None:
@@ -152,13 +151,12 @@ def _generate_stone_resource(
152151
MemberSpecialValue.NYAN_INF,
153152
RESOURCE_PARENT)
154153

155-
name_value_parent = "engine.util.language.translated.type.TranslatedString"
156154
stone_name_ref_in_modpack = "util.attribute.types.Stone.StoneName"
157155
stone_name_value = RawAPIObject(stone_name_ref_in_modpack, "StoneName",
158156
api_objects, RESOURCES_LOCATION)
159157
stone_name_value.set_filename("types")
160-
stone_name_value.add_raw_parent(name_value_parent)
161-
stone_name_value.add_raw_member("translations", [], name_value_parent)
158+
stone_name_value.add_raw_parent(NAME_VALUE_PARENT)
159+
stone_name_value.add_raw_member("translations", [], NAME_VALUE_PARENT)
162160

163161
name_forward_ref = ForwardRef(pregen_converter_group,
164162
stone_name_ref_in_modpack)
@@ -170,7 +168,7 @@ def _generate_stone_resource(
170168
pregen_nyan_objects.update({stone_name_ref_in_modpack: stone_name_value})
171169

172170

173-
def _generate_gold_resource(
171+
def generate_gold_resource(
174172
full_data_set: GenieObjectContainer,
175173
pregen_converter_group: ConverterObjectGroup
176174
) -> None:
@@ -197,13 +195,12 @@ def _generate_gold_resource(
197195
MemberSpecialValue.NYAN_INF,
198196
RESOURCE_PARENT)
199197

200-
name_value_parent = "engine.util.language.translated.type.TranslatedString"
201198
gold_name_ref_in_modpack = "util.attribute.types.Gold.GoldName"
202199
gold_name_value = RawAPIObject(gold_name_ref_in_modpack, "GoldName",
203200
api_objects, RESOURCES_LOCATION)
204201
gold_name_value.set_filename("types")
205-
gold_name_value.add_raw_parent(name_value_parent)
206-
gold_name_value.add_raw_member("translations", [], name_value_parent)
202+
gold_name_value.add_raw_parent(NAME_VALUE_PARENT)
203+
gold_name_value.add_raw_member("translations", [], NAME_VALUE_PARENT)
207204

208205
name_forward_ref = ForwardRef(pregen_converter_group,
209206
gold_name_ref_in_modpack)
@@ -215,7 +212,7 @@ def _generate_gold_resource(
215212
pregen_nyan_objects.update({gold_name_ref_in_modpack: gold_name_value})
216213

217214

218-
def _generate_population_resource(
215+
def generate_population_resource(
219216
full_data_set: GenieObjectContainer,
220217
pregen_converter_group: ConverterObjectGroup
221218
) -> None:
@@ -238,13 +235,12 @@ def _generate_population_resource(
238235
pregen_converter_group.add_raw_api_object(pop_raw_api_object)
239236
pregen_nyan_objects.update({pop_ref_in_modpack: pop_raw_api_object})
240237

241-
name_value_parent = "engine.util.language.translated.type.TranslatedString"
242238
pop_name_ref_in_modpack = "util.attribute.types.PopulationSpace.PopulationSpaceName"
243239
pop_name_value = RawAPIObject(pop_name_ref_in_modpack, "PopulationSpaceName",
244240
api_objects, RESOURCES_LOCATION)
245241
pop_name_value.set_filename("types")
246-
pop_name_value.add_raw_parent(name_value_parent)
247-
pop_name_value.add_raw_member("translations", [], name_value_parent)
242+
pop_name_value.add_raw_parent(NAME_VALUE_PARENT)
243+
pop_name_value.add_raw_member("translations", [], NAME_VALUE_PARENT)
248244

249245
name_forward_ref = ForwardRef(pregen_converter_group,
250246
pop_name_ref_in_modpack)

openage/convert/processor/conversion/swgbcc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ add_subdirectory(ability)
1616
add_subdirectory(auxiliary)
1717
add_subdirectory(civ)
1818
add_subdirectory(nyan)
19+
add_subdirectory(pregen)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
add_py_modules(
2+
__init__.py
3+
effect.py
4+
exchange.py
5+
resource.py
6+
)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright 2025-2025 the openage authors. See copying.md for legal info.
2+
3+
"""
4+
Creates nyan objects for things that are hardcoded into the Genie Engine,
5+
but configurable in openage, e.g. HP.
6+
"""

0 commit comments

Comments
 (0)