diff --git a/assets/item_terminal.png b/assets/item_terminal.png new file mode 100644 index 0000000..cca6faf Binary files /dev/null and b/assets/item_terminal.png differ diff --git a/images.h b/images.h index 37091d3..3e38c76 100644 --- a/images.h +++ b/images.h @@ -558,7 +558,29 @@ SFG_PROGRAM_MEMORY uint8_t SFG_itemSprites[][SFG_TEXTURE_STORE_SIZE] = 22,104,16,0,22,129,20,65,0,0,0,1,56,17,0,0,19,129,16,0,1,17,17,16,0,0,0,0,17,16, 0,0,1,17,0,0,0,0,0,0 }, - { // 8, access card + { // 8, computer terminal +175,0,1,85,5,4,23,9,6,26,80,65,84,161,194,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,17,0,1,17,17,17,17,17,17,16,0,0,0,0,0,1,132,0,22,102,102,102,102, +102,102,97,1,17,0,0,221,209,133,1,99,51,51,51,51,51,53,187,27,75,17,17,221,17, +69,22,57,241,17,17,17,17,251,83,54,74,118,109,211,106,69,22,63,148,68,68,68,73, +21,51,54,74,125,221,51,25,69,22,49,66,34,34,34,36,19,68,54,90,221,124,60,169,69, +21,177,66,226,226,34,36,19,136,54,90,115,51,202,137,69,22,49,66,226,34,34,36,19, +136,54,90,124,199,168,137,69,22,49,66,226,226,34,36,243,136,54,90,17,122,136,73, +69,22,49,66,226,34,34,36,147,136,54,90,88,136,68,89,69,22,49,66,226,34,34,36, +147,136,54,90,148,68,85,89,69,22,49,66,34,34,34,36,147,136,54,90,181,85,85,89, +69,22,49,78,238,238,238,228,147,136,54,90,185,153,149,89,69,22,49,66,34,34,34, +36,147,136,54,90,185,153,153,153,69,22,49,66,34,34,34,36,252,136,54,90,17,122, +187,153,85,22,49,66,34,34,34,36,19,136,54,90,124,199,171,187,69,21,177,66,34,34, +34,36,28,136,54,90,115,51,202,187,85,22,49,66,34,34,34,36,19,68,54,90,115,204, +60,171,149,22,63,148,68,68,68,73,21,51,54,74,115,204,51,27,89,22,57,241,17,17, +17,17,251,83,54,74,119,119,119,122,149,1,51,51,51,51,51,51,53,187,27,75,17,17, +17,17,153,0,23,119,119,119,119,119,119,113,1,17,0,0,0,1,153,0,1,17,17,17,17,17, +17,16,0,0,0,0,0,1,187,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0 + }, + { // 9, access card 175,0,21,45,44,23,46,2,19,34,69,22,68,60,131,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,17,17,17,17,0,0,0,0,0,0,0,0,1, 68,17,24,102,101,86,97,0,0,0,0,0,0,0,0,1,68,17,24,102,85,86,101,16,0,0,0,0,0,0, diff --git a/levels.h b/levels.h index 7e6f6f1..ae4f609 100644 --- a/levels.h +++ b/levels.h @@ -95,15 +95,16 @@ typedef struct #define SFG_LEVEL_ELEMENT_TREE 0x06 #define SFG_LEVEL_ELEMENT_FINISH 0x07 #define SFG_LEVEL_ELEMENT_TELEPORT 0x08 -#define SFG_LEVEL_ELEMENT_CARD0 0x09 ///< Access card, unlocks doors with lock. -#define SFG_LEVEL_ELEMENT_CARD1 0x0a -#define SFG_LEVEL_ELEMENT_CARD2 0x0b -#define SFG_LEVEL_ELEMENT_LOCK0 0x0c /**< Special level element that must be +#define SFG_LEVEL_ELEMENT_TERMINAL 0x09 +#define SFG_LEVEL_ELEMENT_CARD0 0x0a ///< Access card, unlocks doors with lock. +#define SFG_LEVEL_ELEMENT_CARD1 0x0b +#define SFG_LEVEL_ELEMENT_CARD2 0x0c +#define SFG_LEVEL_ELEMENT_LOCK0 0x0d /**< Special level element that must be placed on a tile with door. This door is then unlocked by taking the corresponding access card. */ -#define SFG_LEVEL_ELEMENT_LOCK1 0x0d -#define SFG_LEVEL_ELEMENT_LOCK2 0x0e +#define SFG_LEVEL_ELEMENT_LOCK1 0x0e +#define SFG_LEVEL_ELEMENT_LOCK2 0x0f /* Monsters have lower 4 bits zero and are only distinguished by the 4 upper @@ -301,7 +302,7 @@ SFG_PROGRAM_MEMORY SFG_Level SFG_levels[SFG_NUMBER_OF_LEVELS] = {SFG_LEVEL_ELEMENT_FINISH, {12, 16}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_TELEPORT, {11, 12}}, {SFG_LEVEL_ELEMENT_TELEPORT, {17, 20}}, {SFG_LEVEL_ELEMENT_TELEPORT, {20, 40}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, - {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, + {SFG_LEVEL_ELEMENT_TERMINAL, {11, 25}}, {SFG_LEVEL_ELEMENT_TERMINAL, {11, 26}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, {SFG_LEVEL_ELEMENT_NONE, {0, 0}}, diff --git a/main.c b/main.c index 4cd9436..4ef62b0 100755 --- a/main.c +++ b/main.c @@ -1945,6 +1945,10 @@ void SFG_getLevelElementSprite( *spriteSize = 2; break; + case SFG_LEVEL_ELEMENT_TERMINAL: + *spriteSize = 1; + break; + case SFG_LEVEL_ELEMENT_TELEPORT: case SFG_LEVEL_ELEMENT_FINISH: *spriteSize = 3;