characters

This commit is contained in:
2026-08-25 20:48:52 -04:00
parent eb88e3f953
commit 55cb141e70
37 changed files with 569 additions and 0 deletions
BIN
View File
Binary file not shown.
@@ -0,0 +1,143 @@
<AnimatedActor>
<Info CreatedBy="robot" CreatedOn="22/05/2014 4:22:48 PM" Fps="30" Version="103"/>
<Content>
<Spritesheets>
<Spritesheet Id="0" Path="costumes\character_002_maggiesbeautifulgoldenlocks.png"/>
</Spritesheets>
<Layers>
<Layer Id="0" Name="head0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="32" YPivot="44" XCrop="0" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="32" YPivot="44" XCrop="64" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="32" YPivot="44" XCrop="128" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="32" YPivot="44" XCrop="192" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="32" YPivot="44" XCrop="256" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="32" YPivot="44" XCrop="320" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="32" YPivot="44" XCrop="384" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="32" YPivot="44" XCrop="448" YCrop="0" Width="64" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
<SourceDocument>
<Info CreatedBy="robot" CreatedOn="22/05/2014 4:22:48 PM" Fps="30" Version="103"/>
<Content>
<Spritesheets>
<Spritesheet Id="0" Path="costumes\character_002_maggiesbeautifulgoldenlocks.png">
<Region Id="0" Name="Down" XCrop="0" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="1" Name="DownAttack" XCrop="64" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="2" Name="Right" XCrop="128" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="3" Name="RightAttack" XCrop="192" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="4" Name="Up" XCrop="256" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="5" Name="UpAttack" XCrop="320" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="6" Name="Left" XCrop="384" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
<Region Id="7" Name="LeftAttack" XCrop="448" YCrop="0" Width="64" Height="64" XPivot="32" YPivot="44"/>
</Spritesheet>
</Spritesheets>
<Layers>
<Layer Id="0" Name="head0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="0" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="1" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="2" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="3" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="4" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="5" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="6" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="7" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
</SourceDocument>
</AnimatedActor>
@@ -0,0 +1,143 @@
<AnimatedActor>
<Info CreatedBy="robot" CreatedOn="22/05/2014 5:06:27 PM" Fps="30" Version="103"/>
<Content>
<Spritesheets>
<Spritesheet Id="0" Path="costumes\character_003_cainseyepatch.png"/>
</Spritesheets>
<Layers>
<Layer Id="0" Name="head0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="28" XCrop="0" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="28" XCrop="32" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="28" XCrop="64" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="28" XCrop="96" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="28" XCrop="128" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="28" XCrop="160" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="28" XCrop="192" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="28" XCrop="224" YCrop="0" Width="32" Height="32" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
<SourceDocument>
<Info CreatedBy="robot" CreatedOn="22/05/2014 5:06:27 PM" Fps="30" Version="103"/>
<Content>
<Spritesheets>
<Spritesheet Id="0" Path="costumes\character_003_cainseyepatch.png">
<Region Id="0" Name="Down" XCrop="0" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="1" Name="DownAttack" XCrop="32" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="2" Name="Right" XCrop="64" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="3" Name="RightAttack" XCrop="96" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="4" Name="Up" XCrop="128" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="5" Name="UpAttack" XCrop="160" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="6" Name="Left" XCrop="192" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
<Region Id="7" Name="LeftAttack" XCrop="224" YCrop="0" Width="32" Height="32" XPivot="16" YPivot="28"/>
</Spritesheet>
</Spritesheets>
<Layers>
<Layer Id="0" Name="head0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="0" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="1" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="2" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="3" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="4" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="5" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="6" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="7" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
</SourceDocument>
</AnimatedActor>
@@ -0,0 +1,143 @@
<AnimatedActor>
<Info CreatedBy="robot" CreatedOn="26.05.2014 18:31:30" Fps="30" Version="103"/>
<Content>
<Spritesheets>
<Spritesheet Id="0" Path="costumes\character_004_judasfez.png"/>
</Spritesheets>
<Layers>
<Layer Id="0" Name="head0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="44" XCrop="0" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="44" XCrop="32" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="44" XCrop="64" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="44" XCrop="96" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="44" XCrop="128" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="44" XCrop="160" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame XPivot="16" YPivot="44" XCrop="192" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame XPivot="16" YPivot="44" XCrop="224" YCrop="0" Width="32" Height="64" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
<SourceDocument>
<Info CreatedBy="robot" CreatedOn="26.05.2014 18:31:30" Fps="30" Version="103"/>
<Content>
<Spritesheets>
<Spritesheet Id="0" Path="costumes\character_004_judasfez.png">
<Region Id="0" Name="Down" XCrop="0" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="1" Name="DownAttack" XCrop="32" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="2" Name="Right" XCrop="64" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="3" Name="RightAttack" XCrop="96" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="4" Name="Up" XCrop="128" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="5" Name="UpAttack" XCrop="160" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="6" Name="Left" XCrop="192" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
<Region Id="7" Name="LeftAttack" XCrop="224" YCrop="0" Width="32" Height="64" XPivot="16" YPivot="44"/>
</Spritesheet>
</Spritesheets>
<Layers>
<Layer Id="0" Name="head0" SpritesheetId="0"/>
</Layers>
<Nulls/>
<Events/>
</Content>
<Animations DefaultAnimation="HeadDown">
<Animation Name="HeadDown" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="0" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="1" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadRight" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="2" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="3" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadUp" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="4" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="5" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
<Animation Name="HeadLeft" FrameNum="4" Loop="false">
<RootAnimation>
<Frame XPosition="0" YPosition="0" Delay="4" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</RootAnimation>
<LayerAnimations>
<LayerAnimation LayerId="0" Visible="true">
<Frame RegionId="6" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
<Frame RegionId="7" XPosition="0" YPosition="-5" Delay="2" Visible="true" XScale="100" YScale="100" ShearX="0" ShearY="0" RedTint="255" GreenTint="255" BlueTint="255" AlphaTint="255" RedOffset="0" GreenOffset="0" BlueOffset="0" Rotation="0" Interpolated="false"/>
</LayerAnimation>
</LayerAnimations>
<NullAnimations/>
<Triggers/>
</Animation>
</Animations>
</SourceDocument>
</AnimatedActor>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 868 B

@@ -0,0 +1,140 @@
#!/usr/bin/env bash
set -euo pipefail
variants=(black blue green grey red white)
references=(character_001_isaac character_002_magdalene)
usage() {
printf 'Usage: %s INPUT.png\n' "$(basename "$0")" >&2
}
if [[ $# -ne 1 || "${1:-}" == "-h" || "${1:-}" == "--help" ]]; then
usage
exit 1
fi
if command -v magick >/dev/null 2>&1; then
im=(magick)
elif command -v convert >/dev/null 2>&1; then
im=(convert)
else
printf 'error: ImageMagick is required; expected magick or convert in PATH\n' >&2
exit 1
fi
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
input="$1"
if [[ ! -f "$input" ]]; then
printf 'error: input file not found: %s\n' "$input" >&2
exit 1
fi
case "$(basename -- "$input")" in
*.png|*.PNG) ;;
*)
printf 'error: input must be a PNG file: %s\n' "$input" >&2
exit 1
;;
esac
for reference in "${references[@]}"; do
reference_base="$script_dir/${reference}.png"
if [[ ! -f "$reference_base" ]]; then
printf 'error: missing reference file: %s\n' "$reference_base" >&2
exit 1
fi
done
input_dir="$(cd -- "$(dirname -- "$input")" && pwd)"
input_name="$(basename -- "$input")"
stem="${input_name%.*}"
case "$stem" in
*_black|*_blue|*_green|*_grey|*_red|*_white)
stem="${stem%_*}"
;;
esac
build_palette_map() {
local variant="$1"
local reference
local reference_base
local reference_variant
for reference in "${references[@]}"; do
reference_base="$script_dir/${reference}.png"
reference_variant="$script_dir/${reference}_${variant}.png"
if [[ ! -f "$reference_variant" ]]; then
printf 'error: missing reference file: %s\n' "$reference_variant" >&2
return 1
fi
paste \
<("${im[@]}" "$reference_base" -depth 8 txt:-) \
<("${im[@]}" "$reference_variant" -depth 8 txt:-) |
awk -F '\t' -v reference="$reference" '
function pixel_hex(line, parts, count, i) {
count = split(line, parts, /[[:space:]]+/)
for (i = 1; i <= count; i++) {
if (parts[i] ~ /^#[[:xdigit:]]{6}([[:xdigit:]]{2})?$/) {
return toupper(parts[i])
}
}
return ""
}
NR == 1 { next }
{
source = pixel_hex($1)
target = pixel_hex($2)
if (source == "" || target == "" || source == target) {
next
}
print source, target, reference
}
'
done |
awk '
{
source = $1
target = $2
reference = $3
if ((source in targets) && targets[source] != target) {
printf "error: conflicting map for %s: %s from %s and %s from %s\n", source, targets[source], sources[source], target, reference > "/dev/stderr"
exit 2
}
targets[source] = target
sources[source] = reference
}
END {
for (source in targets) {
print source, targets[source]
}
}
' |
sort
}
for variant in "${variants[@]}"; do
output="$input_dir/${stem}_${variant}.png"
args=("$input" -alpha on)
pair_count=0
while read -r source target; do
[[ -n "$source" && -n "$target" ]] || continue
args+=(-fill "$target" -opaque "$source")
pair_count=$((pair_count + 1))
done < <(build_palette_map "$variant")
if [[ "$pair_count" -eq 0 ]]; then
printf 'error: no palette replacements found for %s\n' "$variant" >&2
exit 1
fi
"${im[@]}" "${args[@]}" "$output"
printf 'exported %s\n' "$output"
done
Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

After

Width:  |  Height:  |  Size: 814 B