mirror of
https://gitlab.com/drummyfish/anarch.git
synced 2024-12-21 23:08:49 -05:00
Add outro
This commit is contained in:
parent
de83e675a3
commit
e2b73f6d4a
@ -198,7 +198,7 @@
|
||||
/**
|
||||
Time in ms of the level start stage.
|
||||
*/
|
||||
#define SFG_LEVEL_START_DURATION 2000
|
||||
#define SFG_LEVEL_START_DURATION 1500
|
||||
|
||||
/**
|
||||
Vertical sprite size, in RCL_Units.
|
||||
|
44
game.h
44
game.h
@ -3648,7 +3648,12 @@ void SFG_gameStep()
|
||||
|
||||
if (t > SFG_WIN_ANIMATION_DURATION)
|
||||
{
|
||||
if (SFG_keyIsDown(SFG_KEY_RIGHT) ||
|
||||
if (SFG_currentLevel.levelNumber == (SFG_NUMBER_OF_LEVELS - 1))
|
||||
{
|
||||
if (SFG_keyIsDown(SFG_KEY_A))
|
||||
SFG_setGameState(SFG_GAME_STATE_OUTRO);
|
||||
}
|
||||
else if (SFG_keyIsDown(SFG_KEY_RIGHT) ||
|
||||
SFG_keyIsDown(SFG_KEY_LEFT))
|
||||
{
|
||||
SFG_setAndInitLevel(SFG_currentLevel.levelNumber);
|
||||
@ -3673,6 +3678,14 @@ void SFG_gameStep()
|
||||
|
||||
break;
|
||||
|
||||
case SFG_GAME_STATE_OUTRO:
|
||||
if (((SFG_game.frameTime - SFG_game.stateChangeTime) >
|
||||
SFG_STORYTEXT_DURATION) && (SFG_keyIsDown(SFG_KEY_A) ||
|
||||
SFG_keyIsDown(SFG_KEY_B)))
|
||||
SFG_setGameState(SFG_GAME_STATE_MENU);
|
||||
|
||||
break;
|
||||
|
||||
case SFG_GAME_STATE_LEVEL_START:
|
||||
{
|
||||
SFG_updateLevel();
|
||||
@ -3787,9 +3800,29 @@ void SFG_drawMap()
|
||||
*/
|
||||
void SFG_drawStoryText()
|
||||
{
|
||||
SFG_clearScreen(0);
|
||||
const char *text;
|
||||
|
||||
const char *text = SFG_introText;
|
||||
uint16_t textColor;
|
||||
|
||||
if (SFG_currentLevel.levelNumber != (SFG_NUMBER_OF_LEVELS - 1)) // intro?
|
||||
{
|
||||
text = SFG_introText;
|
||||
textColor = 7;
|
||||
|
||||
SFG_clearScreen(0);
|
||||
}
|
||||
else // outro
|
||||
{
|
||||
text = SFG_outroText;
|
||||
textColor = 23;
|
||||
|
||||
SFG_clearScreen(9);
|
||||
|
||||
SFG_blitImage(SFG_monsterSprites[18],
|
||||
(SFG_GAME_RESOLUTION_X - SFG_TEXTURE_SIZE * SFG_FONT_SIZE_SMALL) / 2,
|
||||
SFG_GAME_RESOLUTION_Y - (SFG_TEXTURE_SIZE + 3) * SFG_FONT_SIZE_SMALL,
|
||||
SFG_FONT_SIZE_SMALL);
|
||||
}
|
||||
|
||||
uint16_t textLen = 0;
|
||||
|
||||
@ -3801,7 +3834,7 @@ void SFG_drawStoryText()
|
||||
((SFG_game.frameTime - SFG_game.stateChangeTime) * textLen) /
|
||||
SFG_STORYTEXT_DURATION + 1);
|
||||
|
||||
SFG_drawText(text,SFG_HUD_MARGIN,SFG_HUD_MARGIN,SFG_FONT_SIZE_SMALL,7,
|
||||
SFG_drawText(text,SFG_HUD_MARGIN,SFG_HUD_MARGIN,SFG_FONT_SIZE_SMALL,textColor,
|
||||
drawLen,SFG_GAME_RESOLUTION_X - SFG_HUD_MARGIN);
|
||||
}
|
||||
|
||||
@ -4127,7 +4160,8 @@ void SFG_drawWinOverlay()
|
||||
|
||||
SFG_drawText(SFG_TEXT_KILLS,x,y,SFG_FONT_SIZE_SMALL,7,255,0);
|
||||
|
||||
if (t >= (SFG_WIN_ANIMATION_DURATION - 1))
|
||||
if ((t >= (SFG_WIN_ANIMATION_DURATION - 1)) &&
|
||||
(SFG_currentLevel.levelNumber != (SFG_NUMBER_OF_LEVELS - 1)))
|
||||
{
|
||||
y += (SFG_FONT_SIZE_BIG + SFG_FONT_SIZE_MEDIUM) * SFG_FONT_CHARACTER_SIZE;
|
||||
|
||||
|
2
images.h
2
images.h
@ -1080,7 +1080,7 @@ SFG_PROGRAM_MEMORY uint8_t SFG_monsterSprites[][SFG_TEXTURE_STORE_SIZE] =
|
||||
16,0,0,17,17,17,16,0,0,0,0,0,26,205,238,17,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0
|
||||
},
|
||||
{ // 6. warrior idle
|
||||
{ // 6, warrior idle
|
||||
175,0,3,5,1,4,6,7,2,62,170,63,92,93,95,151,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,1,17,17,17,17,17,
|
||||
17,17,16,0,0,0,0,0,0,0,23,119,119,119,119,119,119,119,113,0,0,0,0,0,0,1,136,255,
|
||||
|
@ -19,7 +19,7 @@
|
||||
#define SFG_START_LEVEL 8
|
||||
|
||||
#define SFG_FPS 25
|
||||
#define SFG_TEXTURE_DISTANCE 6000
|
||||
//#define SFG_TEXTURE_DISTANCE 6000
|
||||
#define SFG_SCREEN_RESOLUTION_X 110
|
||||
#define SFG_SCREEN_RESOLUTION_Y 88
|
||||
#define SFG_RESOLUTION_SCALEDOWN 1
|
||||
@ -145,7 +145,7 @@ int main()
|
||||
{
|
||||
pokitto.begin();
|
||||
|
||||
timerInit(8000);
|
||||
// timerInit(8000);
|
||||
|
||||
for (uint16_t i = 0; i < SFG_SFX_SAMPLE_COUNT; ++i)
|
||||
audioBuff[i] = 127;
|
||||
|
@ -27,11 +27,11 @@
|
||||
|
||||
#define SFG_LOG(str) puts(str);
|
||||
|
||||
#define SFG_START_LEVEL 8
|
||||
#define SFG_START_LEVEL 6
|
||||
#define SFG_IMMORTAL 1
|
||||
// #define SFG_UNLOCK_DOOR 1
|
||||
#define SFG_REVEAL_MAP 1
|
||||
#define SFG_INFINITE_AMMO 1
|
||||
// #define SFG_INFINITE_AMMO 1
|
||||
|
||||
#include <stdio.h>
|
||||
#include <SDL2/SDL.h>
|
||||
@ -330,7 +330,7 @@ int main(int argc, char *argv[])
|
||||
for (int i = 0; i < SFG_SFX_SAMPLE_COUNT; ++i)
|
||||
audioBuff[i] = 127;
|
||||
|
||||
// SDL_PauseAudio(0);
|
||||
SDL_PauseAudio(0);
|
||||
|
||||
running = 1;
|
||||
|
||||
|
5
texts.h
5
texts.h
@ -36,6 +36,11 @@ SFG_PROGRAM_MEMORY char *SFG_introText =
|
||||
"only destroy, not suffer - it is not wrong to end them! You grab your gear "
|
||||
"and run towards Macrochip HQ.";
|
||||
|
||||
SFG_PROGRAM_MEMORY char *SFG_outroText =
|
||||
"You killed the main computer, the world is saved! Thank you my friend. We "
|
||||
"learned a lesson, never again allow capitalism and hierarchy. We can now "
|
||||
"rebuild society in peaceful anarchy.";
|
||||
|
||||
#define SFG_MALWARE_WARNING ""
|
||||
|
||||
#if SFG_OS_IS_MALWARE
|
||||
|
Loading…
Reference in New Issue
Block a user