Skip to content

Commit 0bd3bc7

Browse files
authored
Merge pull request #1824 from denizkoekden/fix-de2-conversion
convert: fix converting recent AoE2: DE builds
2 parents 3da21ab + 4f217ef commit 0bd3bc7

6 files changed

Lines changed: 17 additions & 11 deletions

File tree

‎copying.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ _the openage authors_ are:
172172
| Jason Lu | jasonlu, lugt | lu.gt à 163 dawt com |
173173
| Luca Pizzagalli | lucapizzagalli | web à lucapizzagalli dawt com |
174174
| Erwan Billard | iacker | 82095453+iacker à users dawt noreply dawt github dawt com |
175+
| Deniz Kökden | denizkoekden | koekdendeniz à gmail dawt com |
175176

176177
If you're a first-time committer, add yourself to the above list. This is not
177178
just for legal reasons, but also to keep an overview of all those nicknames.

‎openage/convert/entity_object/export/texture.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ def __init__(
8585
self.best_packer_hints: tuple | None = None
8686

8787
self.image_data: TextureImage | None = None
88-
self.image_metadata: list[dict[str, int]] = []
88+
self.image_metadata: dict[str, typing.Any] = {}
8989

9090
spam("creating Texture from %s", repr(input_data))
9191

@@ -149,7 +149,7 @@ def _to_subtextures(
149149
else:
150150
return [subtex]
151151

152-
def get_metadata(self) -> list[dict[str, int]]:
152+
def get_metadata(self) -> dict[str, typing.Any]:
153153
"""
154154
Get the image metadata information.
155155
"""

‎openage/convert/processor/conversion/aoc/upgrade_attribute_subprocessor.py‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import typing
1515

16+
from .....nyan.nyan_structs import MemberOperator
1617
from ....entity_object.conversion.aoc.genie_tech import GenieTechEffectBundleGroup
1718
from ....entity_object.conversion.aoc.genie_unit import GenieBuildingLineGroup
1819
from ....entity_object.conversion.converter_object import RawAPIObject
@@ -22,7 +23,6 @@
2223
if typing.TYPE_CHECKING:
2324
from openage.convert.entity_object.conversion.aoc.genie_unit import GenieGameEntityGroup
2425
from openage.convert.entity_object.conversion.converter_object import ConverterObjectGroup
25-
from openage.nyan.nyan_structs import MemberOperator
2626

2727

2828
class AoCUpgradeAttributeSubprocessor:
@@ -414,7 +414,7 @@ def ballistics_upgrade(
414414
nyan_patch_raw_api_object.set_patch_target(patch_target_forward_ref)
415415

416416
nyan_patch_raw_api_object.add_raw_patch_member(
417-
"target_mode", target_mode, "engine.ability.type.Projectile", operator
417+
"target_mode", target_mode, "engine.ability.type.Projectile", MemberOperator.ASSIGN
418418
)
419419

420420
patch_forward_ref = ForwardRef(converter_group, nyan_patch_ref)
@@ -459,7 +459,7 @@ def ballistics_upgrade(
459459
nyan_patch_raw_api_object.set_patch_target(patch_target_forward_ref)
460460

461461
nyan_patch_raw_api_object.add_raw_patch_member(
462-
"target_mode", target_mode, "engine.ability.type.Projectile", operator
462+
"target_mode", target_mode, "engine.ability.type.Projectile", MemberOperator.ASSIGN
463463
)
464464

465465
patch_forward_ref = ForwardRef(converter_group, nyan_patch_ref)
@@ -1489,6 +1489,9 @@ def max_projectiles_upgrade(
14891489

14901490
patches = []
14911491

1492+
if not line.is_projectile_shooter():
1493+
return patches
1494+
14921495
obj_id = converter_group.get_id()
14931496
if isinstance(converter_group, GenieTechEffectBundleGroup):
14941497
tech_lookup_dict = internal_name_lookups.get_tech_lookups(dataset.game_version)
@@ -1573,6 +1576,9 @@ def min_projectiles_upgrade(
15731576

15741577
patches = []
15751578

1579+
if not line.is_projectile_shooter():
1580+
return patches
1581+
15761582
obj_id = converter_group.get_id()
15771583
if isinstance(converter_group, GenieTechEffectBundleGroup):
15781584
tech_lookup_dict = internal_name_lookups.get_tech_lookups(dataset.game_version)

‎openage/convert/processor/conversion/ror/upgrade_attribute_subprocessor.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import typing
1515

16+
from .....nyan.nyan_structs import MemberOperator
1617
from ....entity_object.conversion.aoc.genie_tech import GenieTechEffectBundleGroup
1718
from ....entity_object.conversion.converter_object import RawAPIObject
1819
from ....service.conversion import internal_name_lookups
@@ -21,7 +22,6 @@
2122
if typing.TYPE_CHECKING:
2223
from openage.convert.entity_object.conversion.aoc.genie_unit import GenieGameEntityGroup
2324
from openage.convert.entity_object.conversion.converter_object import ConverterObjectGroup
24-
from openage.nyan.nyan_structs import MemberOperator
2525

2626

2727
class RoRUpgradeAttributeSubprocessor:
@@ -105,7 +105,7 @@ def ballistics_upgrade(
105105
nyan_patch_raw_api_object.set_patch_target(patch_target_forward_ref)
106106

107107
nyan_patch_raw_api_object.add_raw_patch_member(
108-
"target_mode", target_mode, "engine.ability.type.Projectile", operator
108+
"target_mode", target_mode, "engine.ability.type.Projectile", MemberOperator.ASSIGN
109109
)
110110

111111
patch_forward_ref = ForwardRef(converter_group, nyan_patch_ref)

‎openage/convert/value_object/read/media/datfile/lookup_dicts.py‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,8 @@
342342
200: "UNKNOWN",
343343
201: "UNKNOWN",
344344
# unknown
345+
31: "UNKNOWN",
346+
36: "UNKNOWN",
345347
40: "UNKNOWN",
346348
202: "UNKNOWN",
347349
204: "UNKNOWN",

‎openage/nyan/nyan_structs.py‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -597,16 +597,13 @@ def get_type(self) -> MemberType | NyanObject:
597597
"""
598598
return self._member_type
599599

600-
def get_real_type(self) -> MemberType:
600+
def get_real_type(self) -> MemberType | NyanObject:
601601
"""
602602
Returns the member type without wrapping modifiers.
603603
"""
604604
if self.is_modifier():
605605
return self._element_types[0].get_real_type()
606606

607-
if not isinstance(self._member_type, MemberType):
608-
raise TypeError(f"{self!r}: member type is not a primitive or collection type")
609-
610607
return self._member_type
611608

612609
def get_element_types(self) -> tuple[NyanMemberType, ...]:

0 commit comments

Comments
 (0)