diff options
-rw-r--r-- | .vscode/settings.json | 4 | ||||
-rw-r--r-- | src/GameLoop/shop.c | 78 | ||||
-rw-r--r-- | src/GameLoop/shop.h | 32 | ||||
-rw-r--r-- | src/GameLoop/startingScreen.c | 32 | ||||
-rw-r--r-- | src/GameLoop/startingScreen.h | 14 | ||||
-rw-r--r-- | src/demo.c | 1 | ||||
-rw-r--r-- | src/engine/entity.c | 50 | ||||
-rw-r--r-- | src/engine/entity.h | 4 | ||||
-rw-r--r-- | src/engine/player_controller.c | 143 | ||||
-rw-r--r-- | src/engine/player_controller.h | 2 | ||||
-rw-r--r-- | src/game_loop/gameplay.c | 49 | ||||
-rw-r--r-- | src/game_loop/starting_screen.c | 4 | ||||
-rw-r--r-- | src/static/title_screen_icon.hex | 119 | ||||
-rw-r--r-- | src/static/title_screen_letteres_large.hex | 230 |
14 files changed, 473 insertions, 289 deletions
diff --git a/.vscode/settings.json b/.vscode/settings.json index d027762..f4d72ed 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,5 +8,7 @@ } }, "cmake.configureOnOpen": false, - "files.eol": "\n" + "files.eol": "\n", + "nrf-connect.topdir": "${nrf-connect.sdk:2.1.2}", + "nrf-connect.toolchain.path": "${nrf-connect.toolchain:2.1.2}" } diff --git a/src/GameLoop/shop.c b/src/GameLoop/shop.c deleted file mode 100644 index fb7ef4c..0000000 --- a/src/GameLoop/shop.c +++ /dev/null @@ -1,78 +0,0 @@ -#include "shop.h" -#include "engine/maths.h" -#include "ppu/ppu.h" - -bool hh_show_Shop(){ - static hh_e_ShopStates hh_e_Shop = hh_e_shop_init; - static hh_e_upgrades upgrades[HH_SHOP_UPG_DISPLAY] = {0}; - static uint8_t selected = 0; - - switch (hh_e_Shop) - { - case hh_e_shop_init: - hh_clear_screen(); - hh_clear_sprite(); - - //TODO: render shop bg from level file here - //hh_setup_shop(); - hh_shop_init(&upgrades); - selected = HH_SHOP_UPG_DISPLAY/2; - hh_shop_display(selected, &upgrades); - hh_e_Shop = hh_e_shop_main; - return false; - break; - case hh_e_shop_main: - if(g_hh_controller_p1.dpad_left || g_hh_controller_p1.dpad_right){ - hh_shift_selected(&selected,(g_hh_controller_p1.dpad_right?1:0),0,HH_SHOP_UPG_DISPLAY); - hh_shop_display(selected, &upgrades); - } - if(g_hh_controller_p1.button_primary){ - //apply selected upgrade - hh_e_Shop = hh_e_shop_end; - } - if(g_hh_controller_p1.button_secondary){ - hh_e_Shop = hh_e_shop_end; - } - break; - case hh_e_shop_end: - hh_e_Shop = hh_e_shop_init; - return true; - break; - default: - hh_e_Shop = hh_e_shop_init; - break; - } - return false; -} - -void hh_shop_init(hh_e_upgrades* in) { - for (int i = 0; i < HH_SHOP_UPG_DISPLAY; i++) { - in[i] = i%HH_SHOP_UPG_COUNT; - } -} - -void hh_shop_display(uint8_t selected, hh_e_upgrades* upgrades) { - const vec_cor start = {48,16}; - const uint8_t up = 8, - space = 24+8; - - for (int i = 0; i < HH_SHOP_UPG_DISPLAY; i++) { - hh_ppu_update_foreground(i+16, - (hh_s_ppu_loc_fam_entry){ - .horizontal_flip = false, .vertical_flip = false, - .position_x = i*space+start.x, .position_y = start.y + (i==selected?up:0), - .palette_index = 7, - .tilemap_index = i - }); - } -} - -void hh_shift_selected(uint8_t* pos, bool dir, uint8_t min, uint8_t max) { - if (dir) { - pos = CLAMP(++pos,min,max); - } else { - if (pos > 0) { - pos--; - } - } -} diff --git a/src/GameLoop/shop.h b/src/GameLoop/shop.h deleted file mode 100644 index 5cd6b53..0000000 --- a/src/GameLoop/shop.h +++ /dev/null @@ -1,32 +0,0 @@ -#include "input.h" -#include "engine/draw_screen.h" - - - -#include <stdint.h> -#include <stdbool.h> - -typedef enum { - hh_e_shop_init, - hh_e_shop_main, - hh_e_shop_end -} hh_e_ShopStates; - -/** @brief amount of upgrade types */ -#define HH_SHOP_UPG_COUNT 2 -/** @brief count of visible upgrades in shop */ -#define HH_SHOP_UPG_DISPLAY 4 -/** @brief all possible upgrades */ -typedef enum { - hh_e_UPG_JUMP, - hh_e_UPG_HEALTH -} hh_e_upgrades; - -/** @brief init */ -void hh_shop_init(hh_e_upgrades* in); -/** @brief deals with displayed entity rendering */ -void hh_shop_display(uint8_t selected, hh_e_upgrades* upgrades); -/** @brief moves 'cursor' through selection field */ -void hh_shift_selected(uint8_t* pos, bool dir, uint8_t min, uint8_t max); - -bool hh_show_Shop(); diff --git a/src/GameLoop/startingScreen.c b/src/GameLoop/startingScreen.c deleted file mode 100644 index 4fc5af9..0000000 --- a/src/GameLoop/startingScreen.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "startingScreen.h" -#include "input.h" -#include "engine/title_screen.h" -#include "engine/draw_screen.h" -// #include "engine/player_controller.h" - -bool hh_show_startingScreen(){ - static hh_e_screenStates hh_e_startingScreen = hh_e_STATE_SHOW; - - switch (hh_e_startingScreen) - { - case hh_e_STATE_SHOW: - hh_clear_screen(); - hh_init_title_screen(); - hh_e_startingScreen = hh_e_STATE_Input; - return false; - break; - case hh_e_STATE_Input: - if(g_hh_controller_p1.button_primary){ - hh_e_startingScreen = hh_e_STATE_END; - } - break; - case hh_e_STATE_END: - hh_e_startingScreen = hh_e_STATE_SHOW; - return true; - break; - default: - hh_e_startingScreen = hh_e_STATE_SHOW; - break; - } - return false; -} diff --git a/src/GameLoop/startingScreen.h b/src/GameLoop/startingScreen.h deleted file mode 100644 index f51cc66..0000000 --- a/src/GameLoop/startingScreen.h +++ /dev/null @@ -1,14 +0,0 @@ -#pragma once - -#include <stdint.h> -#include <stdbool.h> - -typedef enum { - hh_e_STATE_SHOW, - hh_e_STATE_Input, - hh_e_STATE_END -} hh_e_screenStates; - - -bool hh_show_startingScreen(); - @@ -17,6 +17,7 @@ #include "game_loop/gameplay.h" #include "game_loop/shop.h" +#include <stdbool.h> hh_g_all_levels hh_game; diff --git a/src/engine/entity.c b/src/engine/entity.c index 58b62c9..7b780cf 100644 --- a/src/engine/entity.c +++ b/src/engine/entity.c @@ -127,3 +127,53 @@ bool hh_distance_circles (vec2 object_1, vec2 object_2, int radius_1, int radius return false; } } + +void hh_jump_entity(hh_entity* object_1){ + if (object_1->is_grounded == true) {//JUMP + object_1->vel.y = -10; + object_1->is_grounded = false; + } +} +void hh_gravity_entity(hh_entity* object_1){ + if (object_1->is_grounded == false && object_1->vel.y < 6) { + object_1->vel.y += 1; //gravity + } +} +void hh_hit_entity(hh_entity* object_1, int8_t* hit_timer, int8_t* direction){ + if(object_1->is_hit == true){ + hit_timer = 9; + object_1->is_hit = false; + } + if(hit_timer > -10){ + hit_timer--; + } + + if(hit_timer <= 0){ + if(direction != 0){ + if(object_1->vel.x > -1 * object_1->speed && object_1->vel.x < object_1->speed) { + object_1->vel.x = object_1->vel.x + direction; + } else { + if (object_1->vel.x > 0) { + object_1->vel.x--; + } else if(object_1->vel.x < 0) { + object_1->vel.x++; + } + } + } else { + if (object_1->vel.x > 0) { + object_1->vel.x--; + } else if(object_1->vel.x < 0) { + object_1->vel.x++; + } + } + + } else { + if (object_1->vel.x > 0) { + object_1->vel.x--; + } else if(object_1->vel.x < 0) { + object_1->vel.x++; + } + object_1->vel.y++; + } + +} diff --git a/src/engine/entity.h b/src/engine/entity.h index 68b450d..b681bd8 100644 --- a/src/engine/entity.h +++ b/src/engine/entity.h @@ -43,4 +43,8 @@ hh_entity hh_enemy_collision(hh_entity temp_player, hh_entity temp_enemy); /// @return true if objects collids bool hh_distance_circles(vec2 object_1, vec2 object_2, int radius_1, int radius_2); +// TODO: comments on functions below +void hh_jump_entity(hh_entity* ); +void hh_gravity_entity(hh_entity* ); +void hh_hit_entity(hh_entity* object_1, int8_t* hit_timer, int8_t* direction); diff --git a/src/engine/player_controller.c b/src/engine/player_controller.c index cec28df..096243b 100644 --- a/src/engine/player_controller.c +++ b/src/engine/player_controller.c @@ -7,30 +7,8 @@ #include "engine/animator.h" #include "engine/bullet.h" -void hh_player_actions() { - static hh_entity player={ - .hp = 4, - .speed = 6, - .is_grounded = false, - .is_hit = false, - .radius = 8, - .pos = (vec2){128+16,32}, - .vel = (vec2){0,0}, - .size = (vec2){32,32}, - .render = { - .frame0 = 80, - .palette = 3, - .ppu_foreground_index = 0, - .fam = (hh_s_ppu_loc_fam_entry){ - .horizontal_flip = false, - .vertical_flip = false, - .palette_index = 3, - .tilemap_index = 80, - } - } - }, player_new = {0}; - - static hh_entity bullet={ +void hh_player_actions(hh_entity* player, vec_cor cam_pos){ + static hh_entity bullet={ // .hp = 4, .speed = 6, .is_grounded = true, @@ -49,124 +27,37 @@ void hh_player_actions() { } } }; + static hh_entity player_new = {0}; + player_new = *player; - static hh_entity enemy={ - .hp = 4, - .speed = 6, - .is_grounded = false, - .is_hit = false, - .radius = 8, - .pos = (vec2){128,48}, - .vel = (vec2){0,0}, - .size = (vec2){16,16}, - .render = { - .frame0 = 20, - .palette = 7, - .ppu_foreground_index = 16, - .fam = (hh_s_ppu_loc_fam_entry){ - .horizontal_flip = false, - .vertical_flip = false, - .palette_index = 7, - .tilemap_index = 1, - } - } - }; - player_new = player; - // hh_input_read(); - static uint8_t hit = 0; int8_t hit_timer = 0; int8_t direction_x = (-1 * g_hh_controller_p1.dpad_left) + (1 * g_hh_controller_p1.dpad_right); int8_t direction_y = (-1 * g_hh_controller_p1.dpad_up) + (1 * g_hh_controller_p1.dpad_down); - if(player.is_hit == true){ - hit_timer = 9; - player.is_hit = false; - } - if(hit_timer > -10){ - hit_timer--; - } - - if(hit_timer <= 0){ - if(direction_x != 0){ - if(player.vel.x > -1 * player.speed && player.vel.x < player.speed) { - player.vel.x = player.vel.x + direction_x; - } else { - if (player.vel.x > 0) { - player.vel.x--; - } else if(player.vel.x < 0) { - player.vel.x++; - } - } - } else { - if (player.vel.x > 0) { - player.vel.x--; - } else if(player.vel.x < 0) { - player.vel.x++; - } - } - - /* // movement Y (w-s) disable gravity to use this - if(direction_y != 0){ - if(player.vel.y > -4 && player.vel.y < 4 ) { - player.vel.y = player.vel.y + direction_y; - } - } else { - if (player.vel.y > 0) { - player.vel.y--; - } else if(player.vel.y < 0) { - player.vel.y++; - } - } - - */ - } else { - if (player.vel.x > 0) { - player.vel.x--; - } else if(player.vel.x < 0) { - player.vel.x++; - } - player.vel.y++; - } - - - if (g_hh_controller_p1.button_primary && player.is_grounded == true) {//JUMP - player.vel.y = -10; - player.is_grounded = false; - } else if (player.vel.y < 6){ - player.vel.y += 1; //gravity + hh_hit_entity(player,hit_timer,direction_x); + hh_gravity_entity(player); + if(g_hh_controller_p1.button_primary){ + hh_jump_entity(player); } - -/* - player.vel = (vec2){.x = (-1 * g_hh_controller_p1.dpad_left) + (1 * g_hh_controller_p1.dpad_right), - .y = (-1 * g_hh_controller_p1.dpad_up) + (1 * g_hh_controller_p1.dpad_down) }; - player_new.vel = (vec2){ - .x = player.vel.x, - .y = player.vel.y, - }; -*/ player_new.vel = (vec2){ - .x = player.vel.x, - .y = player.vel.y, + .x = player->vel.x, + .y = player->vel.y, }; - - player_new = hh_enemy_collision(player, enemy); - + player_new.pos = (vec2){ - .x = player.pos.x + player_new.vel.x, - .y = player.pos.y + player_new.vel.y, + .x = player->pos.x + player_new.vel.x, + .y = player->pos.y + player_new.vel.y, }; - player = hh_background_collision( player, player_new); + *player = hh_background_collision ( *player, player_new); - vec_cor cam_pos;//value in tiles - cam_pos = hh_draw_screen(player.pos); - hh_shoot_bullet(player.pos, cam_pos ,&bullet); + hh_shoot_bullet(player->pos, cam_pos ,&bullet); uint16_t idx = 16; - idx = hh_update_sprite(idx, &player, cam_pos); - idx = hh_update_sprite(idx, &enemy, cam_pos); + idx = hh_update_sprite(idx, player, cam_pos); + // idx = hh_update_sprite(idx, &enemy, cam_pos); idx =16; diff --git a/src/engine/player_controller.h b/src/engine/player_controller.h index 400c18e..4a325e8 100644 --- a/src/engine/player_controller.h +++ b/src/engine/player_controller.h @@ -4,4 +4,4 @@ #include "engine/entity.h" // inputs -void hh_player_actions(); +void hh_player_actions(hh_entity* player, vec_cor cam_pos); diff --git a/src/game_loop/gameplay.c b/src/game_loop/gameplay.c index 295eb5d..bc6c98d 100644 --- a/src/game_loop/gameplay.c +++ b/src/game_loop/gameplay.c @@ -5,6 +5,47 @@ void hh_gameplay(hh_g_all_levels game, hh_e_game_state* hh_game_state){ static hh_e_gameplay gameplay = hh_e_setup_screen; + static hh_entity player1={ + .hp = 4, + .speed = 6, + .is_grounded = false, + .is_hit = false, + .radius = 8, + .pos = (vec2){32,32}, + .size = (vec2){32,32}, + .vel = (vec2){0,0}, + .render = { + .frame0 = 80, + .palette = 3, + .fam = (hh_s_ppu_loc_fam_entry){ + .horizontal_flip = false, + .vertical_flip = false, + .palette_index = 3, + .tilemap_index = 80, + } + } + }; + // enemy gets replaced here is just for reference + static hh_entity enemy={ + .hp = 4, + .speed = 6, + .is_grounded = false, + .is_hit = false, + .radius = 8, + .pos = (vec2){128,48}, + .vel = (vec2){0,0}, + // .vec = (vec2){0,0}, + .render = { + .frame0 = 20, + .palette = 7, + .fam = (hh_s_ppu_loc_fam_entry){ + .horizontal_flip = false, + .vertical_flip = false, + .palette_index = 7, + .tilemap_index = 1, + } + } + }; switch (gameplay) { @@ -13,10 +54,12 @@ void hh_gameplay(hh_g_all_levels game, hh_e_game_state* hh_game_state){ gameplay = hh_e_play_level; break; case hh_e_play_level: - // todo: here come all the different functions for the gameplay - hh_player_actions(); - + // TODO: here come all the different functions for the gameplay + vec_cor cam_pos;//value in tiles + cam_pos = hh_draw_screen(player1.pos); + hh_player_actions(&player1,cam_pos); + // enemy's diff --git a/src/game_loop/starting_screen.c b/src/game_loop/starting_screen.c index 6ab0278..c11e4fc 100644 --- a/src/game_loop/starting_screen.c +++ b/src/game_loop/starting_screen.c @@ -1,8 +1,8 @@ -#include "starting_screen.h"" +#include "starting_screen.h" #include "input.h" #include "engine/title_screen.h" #include "engine/draw_screen.h" -// #include "engine/player_controller.h" +#include "engine/player_controller.h" bool hh_show_starting_screen(){ static hh_e_screen_states hh_e_starting_screen = hh_e_state_show; diff --git a/src/static/title_screen_icon.hex b/src/static/title_screen_icon.hex new file mode 100644 index 0000000..a1e5f0b --- /dev/null +++ b/src/static/title_screen_icon.hex @@ -0,0 +1,119 @@ +;Main character icon for title screen +;indices: 4 +;23 32 56 +;16 20 31 +;64 39 81 +;122 54 123 + +0000: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0010: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0020: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0030: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0040: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0050: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0060: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0070: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0080: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0090: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +00a0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +00b0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +00c0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +00d0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +00e0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +00f0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 +01b0: 00 00 00 00 00 00 00 00 00 00 02 02 02 02 03 03 +01c0: 00 00 00 00 00 00 00 02 02 02 03 03 03 03 03 03 +01d0: 00 00 00 00 02 02 02 03 03 03 03 03 03 03 03 03 +01e0: 00 00 02 02 03 03 03 03 03 03 03 03 03 03 03 03 +01f0: 02 02 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 +0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 02 03 03 +0220: 00 00 00 00 00 00 00 00 00 00 00 00 02 03 03 03 +0230: 00 00 00 00 00 00 00 00 00 00 00 02 03 03 03 03 +0240: 00 00 00 00 00 00 00 00 00 00 02 03 03 03 03 03 +0250: 00 00 00 00 00 00 00 00 00 00 02 03 03 03 03 03 +0260: 00 00 00 00 00 00 00 00 00 02 03 03 03 03 03 03 +0270: 00 00 00 00 00 00 00 00 02 03 03 03 03 03 03 03 +0280: 00 00 00 00 00 00 00 00 02 03 03 03 03 03 03 03 +0290: 00 00 00 00 00 00 00 02 03 03 03 03 03 03 03 03 +02a0: 00 00 00 00 00 00 00 02 03 03 03 03 03 03 03 03 +02b0: 00 00 00 00 00 00 00 02 03 03 03 03 03 03 03 03 +02c0: 00 00 00 00 00 00 02 03 03 03 03 03 03 03 03 01 +02d0: 00 00 00 00 00 00 02 03 03 03 03 03 03 03 01 01 +02e0: 00 00 00 00 00 00 02 03 03 03 03 03 03 03 01 01 +02f0: 00 00 00 00 00 02 03 03 03 03 03 03 03 01 01 01 +0300: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +0310: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +0320: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +0330: 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 03 +0340: 03 03 03 03 03 03 03 03 03 03 01 01 01 01 01 01 +0350: 03 03 03 03 03 03 03 01 01 01 01 01 01 01 01 01 +0360: 03 03 03 03 03 01 01 01 01 01 01 01 01 01 01 01 +0370: 03 03 03 01 01 01 01 01 01 01 01 01 01 01 01 01 +0380: 03 03 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0390: 03 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +03a0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +03b0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +03c0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +03d0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +03e0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +03f0: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0400: 00 00 00 00 00 02 03 03 03 03 03 03 03 01 01 01 +0410: 00 00 00 00 00 02 03 03 03 03 03 03 03 01 01 01 +0420: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0430: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0440: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0450: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0460: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0470: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0480: 00 00 00 00 00 02 03 03 03 03 03 03 01 01 01 01 +0490: 00 00 00 00 00 00 02 03 03 03 03 03 01 01 01 01 +04a0: 00 00 00 00 00 00 02 03 03 03 03 03 01 01 01 01 +04b0: 00 00 00 00 00 00 02 03 03 03 03 03 01 01 01 01 +04c0: 00 00 00 00 00 00 00 02 03 03 03 03 01 01 01 01 +04d0: 00 00 00 00 00 00 00 02 03 03 03 03 01 01 01 01 +04e0: 00 00 00 00 00 00 00 02 03 03 03 03 01 01 01 01 +04f0: 00 00 00 00 00 00 00 00 02 03 03 03 01 01 01 01 +0500: 00 00 00 00 00 00 00 00 02 03 03 03 01 01 01 01 +0510: 00 00 00 00 00 00 00 00 00 02 03 03 01 01 01 01 +0520: 00 00 00 00 00 00 00 00 00 02 03 03 03 01 01 01 +0530: 00 00 00 00 00 00 00 00 00 00 02 03 03 01 01 01 +0540: 00 00 00 00 00 00 00 00 00 00 02 03 03 01 01 01 +0550: 00 00 00 00 00 00 00 00 00 00 00 02 03 03 01 01 +0560: 00 00 00 00 00 00 00 00 00 00 00 02 03 03 01 01 +0570: 00 00 00 00 00 00 00 00 00 00 00 00 02 03 03 01 +0580: 00 00 00 00 00 00 00 00 00 00 00 00 00 02 03 03 +0590: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 03 +05a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 +05b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +05c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +05d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +05e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +05f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0600: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0610: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0620: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0630: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0640: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0650: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0660: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0670: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0680: 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +0690: 03 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 +06a0: 03 03 03 01 01 01 01 01 01 01 01 01 01 01 01 01 +06b0: 02 03 03 03 03 01 01 01 01 01 01 01 01 01 01 01 +06c0: 00 02 02 03 03 03 03 01 01 01 01 01 01 01 01 01 +06d0: 00 00 00 02 02 02 03 03 03 03 03 03 01 01 01 01 +06e0: 00 00 00 00 00 00 02 02 02 02 02 03 03 03 03 03 +06f0: 00 00 00 00 00 00 00 00 00 00 00 02 02 02 02 02 diff --git a/src/static/title_screen_letteres_large.hex b/src/static/title_screen_letteres_large.hex new file mode 100644 index 0000000..fea1c77 --- /dev/null +++ b/src/static/title_screen_letteres_large.hex @@ -0,0 +1,230 @@ +;title screen letters (Large) +;indices: 3 +;23 32 56 +;165 48 48 +;207 87 60 + +0000: 00 00 00 00 00 00 00 00 02 02 00 00 00 00 00 00 +0010: 00 00 00 00 00 00 00 00 02 02 02 00 00 00 00 00 +0020: 00 00 00 00 00 00 00 02 02 02 02 00 00 00 00 00 +0030: 00 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 +0040: 00 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 +0050: 00 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 +0060: 00 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 +0070: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +0080: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +0090: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +00a0: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +00b0: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +00c0: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +00d0: 00 00 00 00 00 00 02 02 02 00 00 00 00 00 00 00 +00e0: 00 00 00 00 00 00 02 02 01 00 00 00 00 00 00 00 +00f0: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0100: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0110: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0120: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0130: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 01 +0140: 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 +0150: 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 +0160: 00 00 00 00 01 01 01 01 01 01 01 01 01 01 00 00 +0170: 00 00 00 00 01 01 01 01 01 01 00 00 00 00 00 00 +0180: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0190: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +01a0: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +01b0: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +01c0: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +01d0: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +01e0: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +01f0: 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 +0200: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0210: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0220: 00 00 00 00 00 00 01 01 01 01 00 00 00 00 00 00 +0230: 01 01 01 01 01 01 01 01 01 01 01 00 00 00 00 00 +0240: 01 01 01 01 01 01 01 01 01 01 00 00 00 00 00 00 +0250: 01 01 01 00 00 00 01 01 01 00 00 00 00 00 00 00 +0260: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0270: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0280: 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 00 +0290: 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 +02a0: 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 +02b0: 00 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 +02c0: 00 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 +02d0: 00 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 +02e0: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 +02f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0310: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0320: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0330: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0340: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0350: 00 00 00 00 00 00 02 02 02 02 00 00 00 00 00 00 +0360: 00 00 00 00 00 02 02 02 02 02 02 00 00 00 00 00 +0370: 00 00 00 00 02 02 02 02 02 02 02 02 00 00 00 00 +0380: 00 00 00 02 02 02 02 02 02 02 02 02 02 00 00 00 +0390: 00 00 00 02 02 02 02 02 02 02 02 02 02 02 00 00 +03a0: 00 00 02 02 02 02 02 02 02 02 02 02 02 02 00 00 +03b0: 00 00 02 02 02 02 02 02 02 02 02 02 02 02 00 00 +03c0: 00 00 02 02 02 02 02 02 02 02 02 02 02 02 00 00 +03d0: 00 00 02 02 02 02 02 02 02 02 02 02 01 01 00 00 +03e0: 00 00 02 02 02 02 02 02 02 02 01 01 01 01 00 00 +03f0: 00 00 02 02 02 02 02 01 01 01 01 01 01 01 00 00 +0400: 00 00 02 02 01 01 01 01 01 01 01 01 01 01 00 00 +0410: 00 00 01 01 01 01 01 01 01 01 01 01 01 01 00 00 +0420: 00 00 01 01 01 01 01 01 01 01 01 01 01 01 00 00 +0430: 00 00 01 01 01 01 01 01 01 01 01 01 01 01 00 00 +0440: 00 00 01 01 01 01 01 01 01 01 01 01 01 01 00 00 +0450: 00 00 01 01 01 01 01 01 01 01 01 01 01 01 00 00 +0460: 00 00 01 01 01 01 01 01 01 01 01 01 01 00 00 00 +0470: 00 00 00 01 01 01 01 01 01 01 01 01 01 00 00 00 +0480: 00 00 00 00 01 01 01 01 01 01 01 01 00 00 00 00 +0490: 00 00 00 00 00 01 01 01 01 01 00 00 00 00 00 00 +04a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +04b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +04c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +04d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +04e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +04f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0500: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 00 00 +0510: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0520: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0530: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0540: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0550: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0560: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0570: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 02 00 +0580: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 00 00 +0590: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 00 00 +05a0: 00 00 00 00 00 00 00 00 00 00 00 00 02 02 00 00 +05b0: 00 00 00 00 00 02 02 02 02 00 00 00 02 02 00 00 +05c0: 00 00 00 00 02 02 02 02 02 02 00 00 02 02 00 00 +05d0: 00 00 00 00 02 02 02 00 00 00 02 00 02 02 00 00 +05e0: 00 00 00 02 02 02 00 00 00 00 00 02 02 02 00 00 +05f0: 00 00 00 02 02 00 00 00 00 00 00 02 02 02 00 00 +0600: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 00 00 +0610: 00 00 02 02 00 00 00 00 00 00 00 00 01 01 00 00 +0620: 00 00 02 01 00 00 00 00 00 00 00 00 01 01 00 00 +0630: 00 00 01 01 00 00 00 00 00 00 00 00 01 01 00 00 +0640: 00 01 01 00 00 00 00 00 00 00 00 00 01 01 00 00 +0650: 00 01 01 00 00 00 00 00 00 00 00 00 01 01 00 00 +0660: 00 01 01 00 00 00 00 00 00 00 00 00 01 01 00 00 +0670: 00 01 01 00 00 00 00 00 00 00 00 01 01 01 00 00 +0680: 00 01 01 00 00 00 00 00 00 00 00 01 01 01 00 00 +0690: 00 01 01 00 00 00 00 00 00 00 00 01 01 01 00 00 +06a0: 00 01 01 00 00 00 00 00 00 00 01 01 01 01 00 00 +06b0: 00 01 01 00 00 00 00 00 00 00 01 01 01 01 00 00 +06c0: 00 00 01 01 00 00 00 00 00 01 01 01 01 01 00 00 +06d0: 00 00 01 01 01 00 00 00 01 01 01 00 01 01 00 00 +06e0: 00 00 00 01 01 01 01 01 01 01 00 00 01 01 00 00 +06f0: 00 00 00 00 01 01 01 01 01 00 00 00 00 01 01 00 +0700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0710: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0720: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0730: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0740: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0750: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0760: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0770: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0790: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +07a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +07b0: 00 02 02 00 00 00 00 00 00 00 00 00 00 02 02 00 +07c0: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +07d0: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +07e0: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +07f0: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0800: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0810: 00 00 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0820: 00 00 02 02 00 00 00 00 00 00 00 00 02 02 02 00 +0830: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 00 00 +0840: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 00 00 +0850: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 00 00 +0860: 00 00 00 02 02 00 00 00 00 00 00 00 02 01 00 00 +0870: 00 00 00 02 01 01 00 00 00 00 00 00 01 00 00 00 +0880: 00 00 00 01 01 01 00 00 00 00 00 01 01 00 00 00 +0890: 00 00 00 00 01 01 00 00 00 00 00 01 01 00 00 00 +08a0: 00 00 00 00 01 01 01 00 00 00 00 01 01 00 00 00 +08b0: 00 00 00 00 00 01 01 00 00 00 00 01 00 00 00 00 +08c0: 00 00 00 00 00 01 01 01 00 00 01 01 00 00 00 00 +08d0: 00 00 00 00 00 00 01 01 00 00 01 00 00 00 00 00 +08e0: 00 00 00 00 00 00 01 01 01 01 01 00 00 00 00 00 +08f0: 00 00 00 00 00 00 00 01 01 01 00 00 00 00 00 00 +0900: 00 00 00 02 02 00 00 00 00 00 00 00 02 02 02 00 +0910: 00 00 00 02 02 00 00 00 00 00 00 00 02 02 02 00 +0920: 00 00 00 02 02 00 00 00 00 00 00 00 02 02 02 00 +0930: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 02 00 +0940: 00 00 02 02 02 00 00 00 00 00 00 02 02 02 00 00 +0950: 00 00 02 02 02 00 00 00 00 00 00 02 02 02 00 00 +0960: 00 00 02 02 02 02 00 00 00 00 02 02 02 00 00 00 +0970: 00 00 02 02 02 02 02 02 02 02 02 02 00 00 00 00 +0980: 00 00 02 02 00 00 02 02 02 02 00 00 00 00 00 00 +0990: 00 00 02 01 00 00 00 00 00 00 00 00 00 00 00 00 +09a0: 00 00 01 01 00 00 00 00 00 00 00 00 00 01 01 00 +09b0: 00 00 01 01 00 00 00 00 00 00 00 00 01 01 01 00 +09c0: 00 00 00 01 01 00 00 00 00 00 00 01 01 01 00 00 +09d0: 00 00 00 01 01 01 00 00 00 00 01 01 01 01 00 00 +09e0: 00 00 00 00 01 01 01 01 01 01 01 01 00 00 00 00 +09f0: 00 00 00 00 00 01 01 01 01 01 00 00 00 00 00 00 +0a00: 00 00 00 02 02 02 00 00 00 00 00 00 02 02 02 00 +0a10: 00 00 00 02 02 00 00 00 00 00 00 00 02 02 02 00 +0a20: 00 00 00 02 02 00 00 00 00 00 00 00 00 02 02 00 +0a30: 00 00 00 02 02 00 00 00 00 00 00 00 00 02 02 00 +0a40: 00 00 00 00 02 00 00 00 00 00 00 00 00 02 02 00 +0a50: 00 00 00 00 00 00 02 02 02 02 02 02 02 02 02 00 +0a60: 00 00 00 00 02 02 02 02 02 02 02 02 02 02 02 00 +0a70: 00 00 00 01 02 02 02 00 00 00 00 00 02 02 01 00 +0a80: 00 00 01 01 01 00 00 00 00 00 00 00 00 01 01 00 +0a90: 00 01 01 01 00 00 00 00 00 00 00 00 00 01 01 00 +0aa0: 00 01 01 01 00 00 00 00 00 00 00 00 01 01 01 00 +0ab0: 00 01 01 01 00 00 00 00 00 00 00 00 01 01 01 00 +0ac0: 00 01 01 01 01 00 00 00 00 00 00 01 01 01 01 00 +0ad0: 00 00 01 01 01 01 01 00 01 01 01 01 01 01 01 00 +0ae0: 00 00 00 01 01 01 01 01 01 01 01 01 00 01 01 00 +0af0: 00 00 00 00 00 01 01 01 01 01 00 00 00 01 01 00 +0b00: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 00 00 +0b10: 00 00 02 02 02 00 00 00 00 00 00 00 00 02 00 00 +0b20: 00 00 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0b30: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0b40: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0b50: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 02 00 +0b60: 00 02 02 02 00 00 00 00 00 00 00 00 00 02 01 00 +0b70: 00 02 01 01 00 00 00 00 00 00 00 00 00 01 01 00 +0b80: 00 01 01 01 00 00 00 00 00 00 00 00 00 01 01 00 +0b90: 00 01 01 01 00 00 00 00 00 00 00 00 01 01 01 00 +0ba0: 00 01 01 01 00 00 00 00 00 00 00 00 01 01 00 00 +0bb0: 00 00 01 01 01 00 00 00 00 00 00 00 01 01 00 00 +0bc0: 00 00 01 01 01 00 00 00 00 00 00 01 01 00 00 00 +0bd0: 00 00 00 01 01 01 01 01 00 00 01 01 01 00 00 00 +0be0: 00 00 00 00 01 01 01 01 01 01 01 01 00 00 00 00 +0bf0: 00 00 00 00 00 01 01 01 01 01 00 00 00 00 00 00 +0c00: 00 00 02 02 02 00 00 00 00 00 00 00 02 02 00 00 +0c10: 00 00 02 02 02 00 00 00 00 00 00 02 02 00 00 00 +0c20: 00 00 02 02 02 00 00 00 00 00 00 02 02 00 00 00 +0c30: 00 00 02 02 02 00 00 00 00 00 00 02 00 00 00 00 +0c40: 00 02 02 02 00 00 00 00 00 00 02 00 00 00 00 00 +0c50: 00 02 02 02 00 00 00 00 00 00 00 00 00 00 00 00 +0c60: 00 02 02 02 00 00 00 00 00 00 00 00 00 00 00 00 +0c70: 00 02 01 01 00 00 00 00 00 00 00 00 00 00 00 00 +0c80: 00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 +0c90: 00 01 01 01 00 00 00 00 00 00 00 00 00 01 01 00 +0ca0: 00 01 01 01 00 00 00 00 00 00 00 00 00 01 01 00 +0cb0: 00 01 01 01 01 00 00 00 00 00 00 00 01 01 01 00 +0cc0: 00 00 01 01 01 00 00 00 00 00 00 01 01 01 00 00 +0cd0: 00 00 00 01 01 01 00 00 00 01 01 01 01 00 00 00 +0ce0: 00 00 00 01 01 01 01 01 01 01 01 01 00 00 00 00 +0cf0: 00 00 00 00 00 01 01 01 01 01 00 00 00 00 00 00 +0d00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0d90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0da0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +0db0: 00 00 00 00 00 00 00 02 02 02 02 02 00 00 00 00 +0dc0: 00 00 00 00 00 00 02 02 02 02 02 02 02 00 00 00 +0dd0: 00 00 00 00 00 02 02 00 00 00 02 02 02 00 00 00 +0de0: 00 00 00 00 02 02 00 00 00 00 00 02 02 02 00 00 +0df0: 00 00 00 02 02 02 00 00 00 00 00 00 02 02 00 00 |