1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-08-09 08:20:17 +00:00

Better automatic names for Limbs and JointKeys, and implement more get_as_xml (#2590)

This commit is contained in:
Dragorn421 2025-06-06 03:55:30 +02:00 committed by GitHub
parent 747006fdd4
commit b84d1afc67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 35 additions and 2 deletions

View file

@ -65,6 +65,10 @@ class StandardLimbResource(CDataResource):
def set_enum_member_name(self, enum_member_name: str):
self.enum_member_name = enum_member_name
def get_as_xml(self) -> str:
return f"""\
<Limb Name="{self.symbol_name}" LimbType="Standard" EnumName="{self.enum_member_name}" Offset="0x{self.range_start:X}"/>"""
def get_c_declaration_base(self):
return f"StandardLimb {self.symbol_name}"
@ -101,6 +105,10 @@ class LODLimbResource(CDataResource):
def set_enum_member_name(self, enum_member_name: str):
self.enum_member_name = enum_member_name
def get_as_xml(self):
return f"""\
<Limb Name="{self.symbol_name}" LimbType="LOD" EnumName="{self.enum_member_name}" Offset="0x{self.range_start:X}"/>"""
def get_c_declaration_base(self):
return f"LodLimb {self.symbol_name}"
@ -241,7 +249,11 @@ class SkeletonResourceABC(SkeletonResourceBaseABC):
lambda file, offset: resource.limbs_array_type(
file,
offset,
f"{resource.name}_{address:08X}_Limbs",
(
f"{resource.name.removesuffix('Skel')}Limbs"
if resource.name.endswith("Skel")
else f"{resource.name}_{address:08X}_Limbs"
),
),
)
resource_limbs.set_length(