From aa92bd9e3b7f730a2b0b08383fa7512554f4821a Mon Sep 17 00:00:00 2001 From: Superstarxalien <ernesto_vallenilla@hotmail.com> Date: Sun, 5 May 2024 10:58:15 -0400 Subject: [PATCH] update 6 states template, properties.txt on both templates --- example_symmetrical_2states/properties.txt | 7 + example_symmetrical_2states/sprites.png | Bin 7753 -> 9517 bytes example_symmetrical_6states/properties.txt | 157 +++++++++++++++++++-- example_symmetrical_6states/sprites.png | Bin 5503 -> 18772 bytes 4 files changed, 149 insertions(+), 15 deletions(-) diff --git a/example_symmetrical_2states/properties.txt b/example_symmetrical_2states/properties.txt index f33b476..9839d74 100644 --- a/example_symmetrical_2states/properties.txt +++ b/example_symmetrical_2states/properties.txt @@ -41,6 +41,13 @@ "hitconfirmtime": 1, "hitconfirmtime_description": "(in Tics) Time to keep the hit confirm state playing for.", + + "follower_states_help": "As you may know, followers have several animations for things that can occur during the race; these are described as \"states\". Followers can have up to 6 states, in order: an idle state, a following state (as in, following the player), a hurt state (when you get hit by an item), a lose state (when you lose the race), a win state (win the race), and a \"hit confirm\" state (occurs when you hit another racer with an item). Of these, the idle state is obligatory in all followers. Additionally, the duration of the hit confirm state is controlled by a variable which can be edited above.", + + "sprite_help": "The template is divided into several regions, each for a unique sprite, described by the below values. These sprite regions are each categorized according to the follower state in which they belong, and are further split into frames detailing both the rotation angle (indicated by numbers) and animation index (indicated by letters) of the follower. The \"sprite_size\" field determines the general size for each sprite region. \"Layers\" refers to the exact location of each sprite, with \"layer_step_size\" indicating how many pixels are stepped over for the position of the layer; layers also allow for literal layer functionality, allowing you to insert up to four sets of sprite locations, with the first sprite location being applied on top of following locations. You can also edit the offset of sprites, with the default templates providing automatic X axis centering for sprites, offset 16 pixels down on the Y axis.", + + "template_description": "This specific template is designed for followers with an idle and following state, with 2-frame animations for each state and 5 unique degrees of rotation. The second, third, and fourth rotation sprites are duplicated and mirrored, thus this template assumes a follower of symmetrical appearance.", + "sprite_size": [128, 128], "layer_step_size": [128, 128], "sprites": { diff --git a/example_symmetrical_2states/sprites.png b/example_symmetrical_2states/sprites.png index a5d45e13f4ae6122fe4f81cd712bd3a83b31363d..52e01b403d41c84b4699a29e4b0ee504eb231f70 100644 GIT binary patch literal 9517 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 literal 7753 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 D9zqn3 diff --git a/example_symmetrical_6states/properties.txt b/example_symmetrical_6states/properties.txt index cc5af97..b91ffc4 100644 --- a/example_symmetrical_6states/properties.txt +++ b/example_symmetrical_6states/properties.txt @@ -41,6 +41,13 @@ "hitconfirmtime": 1, "hitconfirmtime_description": "(in Tics) Time to keep the hit confirm state playing for.", + + "follower_states_help": "As you may know, followers have several animations for things that can occur during the race; these are described as \"states\". Followers can have up to 6 states, in order: an idle state, a following state (as in, following the player), a hurt state (when you get hit by an item), a lose state (when you lose the race), a win state (win the race), and a \"hit confirm\" state (occurs when you hit another racer with an item). Of these, the idle state is obligatory in all followers. Additionally, the duration of the hit confirm state is controlled by a variable which can be edited above.", + + "sprite_help": "The template is divided into several regions, each for a unique sprite, described by the below values. These sprite regions are each categorized according to the follower state in which they belong, and are further split into frames detailing both the rotation angle (indicated by numbers) and animation index (indicated by letters) of the follower. The \"sprite_size\" field determines the general size for each sprite region. \"Layers\" refers to the exact location of each sprite, with \"layer_step_size\" indicating how many pixels are stepped over for the position of the layer; layers also allow for literal layer functionality, allowing you to insert up to four sets of sprite locations, with the first sprite location being applied on top of following locations. You can also edit the offset of sprites, with the default templates providing automatic X axis centering for sprites, offset 16 pixels down on the Y axis.", + + "template_description": "This specific template is designed for followers with all six states a follower can have, each having 2-frame animations and 5 unique degrees of rotation. The second, third, and fourth rotation sprites are duplicated and mirrored, thus this template assumes a follower of symmetrical appearance.", + "sprite_size": [128, 128], "layer_step_size": [128, 128], "sprites": { @@ -64,28 +71,68 @@ "A5": { "offset": [64, 112], "layers": [[4, 0]] + }, + "B1": { + "offset": [64, 112], + "layers": [[0, 1]] + }, + "B2B8": { + "offset": [64, 112], + "layers": [[1, 1]] + }, + "B3B7": { + "offset": [64, 112], + "layers": [[2, 1]] + }, + "B4B6": { + "offset": [64, 112], + "layers": [[3, 1]] + }, + "B5": { + "offset": [64, 112], + "layers": [[4, 1]] } }, "following": { "A1": { "offset": [64, 112], - "layers": [[0, 1]] + "layers": [[5, 0]] }, "A2A8": { "offset": [64, 112], - "layers": [[1, 1]] + "layers": [[6, 0]] }, "A3A7": { "offset": [64, 112], - "layers": [[2, 1]] + "layers": [[7, 0]] }, "A4A6": { "offset": [64, 112], - "layers": [[3, 1]] + "layers": [[8, 0]] }, "A5": { "offset": [64, 112], - "layers": [[4, 1]] + "layers": [[9, 0]] + }, + "B1": { + "offset": [64, 112], + "layers": [[5, 1]] + }, + "B2B8": { + "offset": [64, 112], + "layers": [[6, 1]] + }, + "B3B7": { + "offset": [64, 112], + "layers": [[7, 1]] + }, + "B4B6": { + "offset": [64, 112], + "layers": [[8, 1]] + }, + "B5": { + "offset": [64, 112], + "layers": [[9, 1]] } }, "hurt": { @@ -108,28 +155,68 @@ "A5": { "offset": [64, 112], "layers": [[4, 2]] + }, + "B1": { + "offset": [64, 112], + "layers": [[0, 3]] + }, + "B2B8": { + "offset": [64, 112], + "layers": [[1, 3]] + }, + "B3B7": { + "offset": [64, 112], + "layers": [[2, 3]] + }, + "B4B6": { + "offset": [64, 112], + "layers": [[3, 3]] + }, + "B5": { + "offset": [64, 112], + "layers": [[4, 3]] } }, "lose": { "A1": { "offset": [64, 112], - "layers": [[0, 3]] + "layers": [[5, 2]] }, "A2A8": { "offset": [64, 112], - "layers": [[1, 3]] + "layers": [[6, 2]] }, "A3A7": { "offset": [64, 112], - "layers": [[2, 3]] + "layers": [[7, 2]] }, "A4A6": { "offset": [64, 112], - "layers": [[3, 3]] + "layers": [[8, 2]] }, "A5": { "offset": [64, 112], - "layers": [[4, 3]] + "layers": [[9, 2]] + }, + "B1": { + "offset": [64, 112], + "layers": [[5, 2]] + }, + "B2B8": { + "offset": [64, 112], + "layers": [[6, 2]] + }, + "B3B7": { + "offset": [64, 112], + "layers": [[7, 2]] + }, + "B4B6": { + "offset": [64, 112], + "layers": [[8, 2]] + }, + "B5": { + "offset": [64, 112], + "layers": [[9, 2]] } }, "win": { @@ -152,28 +239,68 @@ "A5": { "offset": [64, 112], "layers": [[4, 4]] + }, + "B1": { + "offset": [64, 112], + "layers": [[0, 5]] + }, + "B2B8": { + "offset": [64, 112], + "layers": [[1, 5]] + }, + "B3B7": { + "offset": [64, 112], + "layers": [[2, 5]] + }, + "B4B6": { + "offset": [64, 112], + "layers": [[3, 5]] + }, + "B5": { + "offset": [64, 112], + "layers": [[4, 5]] } }, "hitconfirm": { "A1": { "offset": [64, 112], - "layers": [[0, 5]] + "layers": [[5, 4]] }, "A2A8": { "offset": [64, 112], - "layers": [[1, 5]] + "layers": [[6, 4]] }, "A3A7": { "offset": [64, 112], - "layers": [[2, 5]] + "layers": [[7, 4]] }, "A4A6": { "offset": [64, 112], - "layers": [[3, 5]] + "layers": [[8, 4]] }, "A5": { "offset": [64, 112], - "layers": [[4, 5]] + "layers": [[9, 4]] + }, + "A1": { + "offset": [64, 112], + "layers": [[5, 5]] + }, + "A2A8": { + "offset": [64, 112], + "layers": [[6, 5]] + }, + "A3A7": { + "offset": [64, 112], + "layers": [[7, 5]] + }, + "A4A6": { + "offset": [64, 112], + "layers": [[8, 5]] + }, + "A5": { + "offset": [64, 112], + "layers": [[9, 5]] } }, diff --git a/example_symmetrical_6states/sprites.png b/example_symmetrical_6states/sprites.png index a0951210494bbf2fbc7b1e912a63428397527995..feff089c5a998f39f32f23311a271c7f5f52bb88 100644 GIT binary patch literal 18772 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 I=akR{0MUWr1poj5 literal 5503 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 RW?*1o@O1TaS?83{1OS{tqLTms -- GitLab