mirror of
https://github.com/luksamuk/engine-psx.git
synced 2025-04-28 13:28:02 +03:00
Add Knuckles
This commit is contained in:
parent
455ab66af9
commit
b75c58a4d8
11 changed files with 50 additions and 4 deletions
BIN
assets/sprites/CHARA/KNUX.CHARA
Normal file
BIN
assets/sprites/CHARA/KNUX.CHARA
Normal file
Binary file not shown.
BIN
assets/sprites/CHARA/KNUX.TIM
Normal file
BIN
assets/sprites/CHARA/KNUX.TIM
Normal file
Binary file not shown.
1
assets/sprites/CHARA/KNUX.json
Normal file
1
assets/sprites/CHARA/KNUX.json
Normal file
File diff suppressed because one or more lines are too long
BIN
assets/sprites/CHARA/KNUX.png
Normal file
BIN
assets/sprites/CHARA/KNUX.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
BIN
assets/sprites/CHARA/KNUX32.ase
Normal file
BIN
assets/sprites/CHARA/KNUX32.ase
Normal file
Binary file not shown.
|
@ -21,9 +21,10 @@
|
||||||
typedef enum {
|
typedef enum {
|
||||||
CHARA_SONIC = 0,
|
CHARA_SONIC = 0,
|
||||||
CHARA_MILES = 1,
|
CHARA_MILES = 1,
|
||||||
|
CHARA_KNUCKLES = 2,
|
||||||
} PlayerCharacter;
|
} PlayerCharacter;
|
||||||
|
|
||||||
#define CHARA_MAX CHARA_MILES
|
#define CHARA_MAX CHARA_KNUCKLES
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
ACTION_NONE,
|
ACTION_NONE,
|
||||||
|
|
6
iso.xml
6
iso.xml
|
@ -29,6 +29,12 @@
|
||||||
<file name="MILES.CHARA"
|
<file name="MILES.CHARA"
|
||||||
type="data"
|
type="data"
|
||||||
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/MILES.CHARA" />
|
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/MILES.CHARA" />
|
||||||
|
<file name="KNUX.TIM"
|
||||||
|
type="data"
|
||||||
|
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/KNUX.TIM" />
|
||||||
|
<file name="KNUX.CHARA"
|
||||||
|
type="data"
|
||||||
|
source="${PROJECT_SOURCE_DIR}/assets/sprites/CHARA/KNUX.CHARA" />
|
||||||
<file name="BASEFONT.TIM"
|
<file name="BASEFONT.TIM"
|
||||||
type="data"
|
type="data"
|
||||||
source="${PROJECT_SOURCE_DIR}/assets/sprites/BASEFONT.TIM" />
|
source="${PROJECT_SOURCE_DIR}/assets/sprites/BASEFONT.TIM" />
|
||||||
|
|
13
src/player.c
13
src/player.c
|
@ -49,6 +49,18 @@ extern PlayerConstants CNST_SPEEDSHOES;
|
||||||
#define ANIM_TAILMOVE 0x0ab30262 // MILES ONLY
|
#define ANIM_TAILMOVE 0x0ab30262 // MILES ONLY
|
||||||
#define ANIM_TAILFLY 0x08390216 // MILES ONLY
|
#define ANIM_TAILFLY 0x08390216 // MILES ONLY
|
||||||
|
|
||||||
|
#define ANIM_CLIMBSTOP 0x0d1102ae // KNUCKLKES ONLY
|
||||||
|
#define ANIM_CLIMBUP 0x0805020d // KNUCKLKES ONLY
|
||||||
|
#define ANIM_CLIMBDOWN 0x0cd402a0 // KNUCKLKES ONLY
|
||||||
|
#define ANIM_CLIMBRISE 0x0ce9029b // KNUCKLKES ONLY
|
||||||
|
#define ANIM_CLIMBEND 0x0a22023f // KNUCKLKES ONLY
|
||||||
|
#define ANIM_GLIDE 0x04400166 // KNUCKLKES ONLY
|
||||||
|
#define ANIM_GLIDETURNA 0x100902f0 // KNUCKLKES ONLY
|
||||||
|
#define ANIM_GLIDETURNB 0x100a02f1 // KNUCKLKES ONLY
|
||||||
|
#define ANIM_GLIDECANCEL 0x1252030c // KNUCKLKES ONLY
|
||||||
|
#define ANIM_GLIDELAND 0x0cab0285 // KNUCKLKES ONLY
|
||||||
|
#define ANIM_GLIDERISE 0x0ce60299 // KNUCKLKES ONLY
|
||||||
|
|
||||||
extern int debug_mode;
|
extern int debug_mode;
|
||||||
|
|
||||||
SoundEffect sfx_jump = { 0 };
|
SoundEffect sfx_jump = { 0 };
|
||||||
|
@ -1430,7 +1442,6 @@ player_draw(Player *player, VECTOR *pos)
|
||||||
facing_left,
|
facing_left,
|
||||||
tail_angle);
|
tail_angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _player_set_hurt(Player *player, int32_t hazard_x);
|
void _player_set_hurt(Player *player, int32_t hazard_x);
|
||||||
|
|
|
@ -719,6 +719,10 @@ level_load_player(PlayerCharacter character)
|
||||||
chara_file = "\\SPRITES\\MILES.CHARA;1";
|
chara_file = "\\SPRITES\\MILES.CHARA;1";
|
||||||
tim_file = "\\SPRITES\\MILES.TIM;1";
|
tim_file = "\\SPRITES\\MILES.TIM;1";
|
||||||
break;
|
break;
|
||||||
|
case CHARA_KNUCKLES:
|
||||||
|
chara_file = "\\SPRITES\\KNUX.CHARA;1";
|
||||||
|
tim_file = "\\SPRITES\\KNUX.TIM;1";
|
||||||
|
break;
|
||||||
case CHARA_SONIC:
|
case CHARA_SONIC:
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -320,8 +320,9 @@ screen_levelselect_draw(void *d)
|
||||||
char buffer[80];
|
char buffer[80];
|
||||||
const char *charaname = "";
|
const char *charaname = "";
|
||||||
switch(data->character_selection) {
|
switch(data->character_selection) {
|
||||||
case CHARA_SONIC: charaname = "SONIC"; break;
|
case CHARA_SONIC: charaname = "SONIC"; break;
|
||||||
case CHARA_MILES: charaname = "MILES"; break;
|
case CHARA_MILES: charaname = "MILES"; break;
|
||||||
|
case CHARA_KNUCKLES: charaname = "KNUCKLES"; break;
|
||||||
default: charaname = "UNKNOWN"; break;
|
default: charaname = "UNKNOWN"; break;
|
||||||
}
|
}
|
||||||
snprintf(buffer, 80, "CHARA %8s",
|
snprintf(buffer, 80, "CHARA %8s",
|
||||||
|
|
|
@ -134,6 +134,17 @@ names = [
|
||||||
"TAILIDLE",
|
"TAILIDLE",
|
||||||
"TAILMOVE",
|
"TAILMOVE",
|
||||||
"TAILFLY",
|
"TAILFLY",
|
||||||
|
"CLIMBSTOP",
|
||||||
|
"CLIMBUP",
|
||||||
|
"CLIMBDOWN",
|
||||||
|
"CLIMBRISE",
|
||||||
|
"CLIMBEND",
|
||||||
|
"GLIDE",
|
||||||
|
"GLIDETURNA",
|
||||||
|
"GLIDETURNB",
|
||||||
|
"GLIDECANCEL",
|
||||||
|
"GLIDELAND",
|
||||||
|
"GLIDERISE",
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_hash(name):
|
def get_hash(name):
|
||||||
|
@ -178,6 +189,17 @@ print_hashes(names)
|
||||||
#define ANIM_TAILIDLE 0x0a6e0249
|
#define ANIM_TAILIDLE 0x0a6e0249
|
||||||
#define ANIM_TAILMOVE 0x0ab30262
|
#define ANIM_TAILMOVE 0x0ab30262
|
||||||
#define ANIM_TAILFLY 0x08390216
|
#define ANIM_TAILFLY 0x08390216
|
||||||
|
#define ANIM_CLIMBSTOP 0x0d1102ae
|
||||||
|
#define ANIM_CLIMBUP 0x0805020d
|
||||||
|
#define ANIM_CLIMBDOWN 0x0cd402a0
|
||||||
|
#define ANIM_CLIMBRISE 0x0ce9029b
|
||||||
|
#define ANIM_CLIMBEND 0x0a22023f
|
||||||
|
#define ANIM_GLIDE 0x04400166
|
||||||
|
#define ANIM_GLIDETURNA 0x100902f0
|
||||||
|
#define ANIM_GLIDETURNB 0x100a02f1
|
||||||
|
#define ANIM_GLIDECANCEL 0x1252030c
|
||||||
|
#define ANIM_GLIDELAND 0x0cab0285
|
||||||
|
#define ANIM_GLIDERISE 0x0ce60299
|
||||||
#+end_example
|
#+end_example
|
||||||
|
|
||||||
* Generating 8x8 tiles and their 16x16 mappings
|
* Generating 8x8 tiles and their 16x16 mappings
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue