generated from sigonasr2/CPlusPlusProjectTemplate
We're gonna die omg
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
568e9d4015
commit
3df180280e
@ -46,7 +46,8 @@ enum GAMESTATE{
|
||||
COLLECTED_SILICON,
|
||||
CUTSCENE_4, //First rover repaired.
|
||||
CUTSCENE_4_DONE,
|
||||
LATER_THAT_NIGHT,
|
||||
LATER_THAT_NIGHTFADEIN,
|
||||
LATER_THAT_NIGHTFADEOUT,
|
||||
};
|
||||
|
||||
namespace cutscene{
|
||||
@ -69,6 +70,8 @@ namespace cutscene{
|
||||
END_VOLCANIC_AREA_CUTSCENE,
|
||||
REPAIR_ROVER_1,
|
||||
GET_SOME_REST,
|
||||
IN_BED,
|
||||
SHAKE,
|
||||
};
|
||||
}
|
||||
|
||||
@ -160,7 +163,16 @@ class ObjectLoadInfo{
|
||||
this->spr=spr;
|
||||
this->anim=anim;
|
||||
this->hasanim=true;
|
||||
bool matches=false;
|
||||
for (int i=0;i<updateAnimationsList.size();i++) {
|
||||
if (updateAnimationsList[i]==anim) {
|
||||
matches=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!matches) {
|
||||
updateAnimationsList.push_back(anim);
|
||||
}
|
||||
this->col=col;
|
||||
}
|
||||
ObjectLoadInfo(Decal*spr,vi2d spos,vi2d size,Pixel col=WHITE) {
|
||||
@ -533,9 +545,7 @@ public:
|
||||
GAME_FLAGS[gameflag::COLLECTED_SILICON_1]=true;
|
||||
GAME_FLAGS[gameflag::REPAIRED_ROVER_1]=true;
|
||||
GAME_FLAGS[gameflag::REST_IN_DOME]=true;
|
||||
GAME_FLAGS[gameflag::SLEEP]=true;
|
||||
GAME_STATE=LATER_THAT_NIGHT;
|
||||
TIMER=0;
|
||||
GAME_STATE=GAMEWORLD;
|
||||
}
|
||||
if (SKIP_CHAPTER2||SKIP_CHAPTER3) {
|
||||
|
||||
@ -661,12 +671,14 @@ public:
|
||||
PETAL_STORM_ANIMATION->skip_frames=nodeAnimationSkipFrames;
|
||||
SLEEP_ANIMATION->spr=SLEEP_DECAL;
|
||||
for (int i=0;i<3;i++) {
|
||||
PETAL_STORM_ANIMATION->frames.push_back({i*32+32,0});
|
||||
SLEEP_ANIMATION->frames.push_back({i*32+32,0});
|
||||
}
|
||||
SLEEP_ANIMATION->skip_frames=5;
|
||||
SLEEP_ANIMATION->skip_frames=15;
|
||||
SLEEP_ANIMATION->height=64;
|
||||
EMPTY_BED_ANIMATION->spr=SLEEP_DECAL;
|
||||
EMPTY_BED_ANIMATION->frames.push_back({0,0});
|
||||
EMPTY_BED_ANIMATION->skip_frames=0;
|
||||
EMPTY_BED_ANIMATION->skip_frames=1;
|
||||
EMPTY_BED_ANIMATION->height=64;
|
||||
|
||||
HAILSTORM->playerOwnCount=3;
|
||||
HURRICANE->playerOwnCount=1;
|
||||
@ -967,6 +979,14 @@ public:
|
||||
PlayCutscene(cutscene::GET_SOME_REST);
|
||||
fadeIn();
|
||||
}break;
|
||||
case LATER_THAT_NIGHTFADEIN:{
|
||||
fadeIn();
|
||||
}break;
|
||||
case LATER_THAT_NIGHTFADEOUT:{
|
||||
fadeIn();
|
||||
GAME_STATE=GAMEWORLD;
|
||||
PlayCutscene(cutscene::IN_BED);
|
||||
}break;
|
||||
}
|
||||
switch (CURRENT_CUTSCENE) {
|
||||
case cutscene::TRANSITION_CUTSCENE:{
|
||||
@ -985,6 +1005,12 @@ public:
|
||||
TeleportToMapFileCoords(8,17);
|
||||
fadeIn();
|
||||
EndCutscene();
|
||||
if (GAME_FLAGS[gameflag::REST_IN_DOME]&&!GAME_FLAGS[gameflag::SLEEP]) {
|
||||
GAME_FLAGS[gameflag::SLEEP]=true;
|
||||
//20,2
|
||||
GAME_STATE=LATER_THAT_NIGHTFADEIN;
|
||||
fadeOutCompleted();
|
||||
}
|
||||
}break;
|
||||
case cutscene::DISPLAY_VOLCANIC_AREA:{
|
||||
TeleportToMapFileCoords(13,122);
|
||||
@ -1005,6 +1031,12 @@ public:
|
||||
}
|
||||
|
||||
void fadeInCompleted() {
|
||||
switch (GAME_STATE) {
|
||||
case LATER_THAT_NIGHTFADEIN:{
|
||||
fadeOut();
|
||||
GAME_STATE=LATER_THAT_NIGHTFADEOUT;
|
||||
}break;
|
||||
}
|
||||
switch (CURRENT_CUTSCENE) {
|
||||
case cutscene::DISPLAY_VOLCANIC_AREA:{
|
||||
CUTSCENE_FLAGS[0]=true;
|
||||
@ -1053,6 +1085,9 @@ public:
|
||||
case cutscene::GET_SOME_REST:{
|
||||
DisplayMessageBox(18);
|
||||
}break;
|
||||
case cutscene::IN_BED:{
|
||||
CUTSCENE_OBJS[0]=CreateObject({20,2},SLEEP_DECAL,SLEEP_ANIMATION,true);
|
||||
}break;
|
||||
}
|
||||
for (int i=0;i<8;i++) {
|
||||
CUTSCENE_FLAGS[i]=false;
|
||||
@ -1242,16 +1277,10 @@ public:
|
||||
} else
|
||||
if (obj->name.compare("DOME")==0&&collidesWithPlayer(obj)) {
|
||||
fadeOut();
|
||||
if (GAME_FLAGS[gameflag::REST_IN_DOME]&&!GAME_FLAGS[gameflag::SLEEP]) {
|
||||
GAME_FLAGS[gameflag::SLEEP]=true;
|
||||
//20,2
|
||||
CUTSCENE_OBJS[0]=CreateObject({20,2},SLEEP_DECAL,SLEEP_ANIMATION,true);
|
||||
} else {
|
||||
PlayCutscene(cutscene::TRANSITION_CUTSCENE_2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!IN_BATTLE_ENCOUNTER&&MAP_NAME.compare("assets/maps/map1")==0) {
|
||||
for (int i=0;i<ENCOUNTERS.size();i++) {
|
||||
@ -1640,6 +1669,29 @@ public:
|
||||
}
|
||||
}
|
||||
}break;
|
||||
case cutscene::IN_BED:{
|
||||
if (!CUTSCENE_FLAGS[0]&&MoveCameraTowardsPoint({CUTSCENE_OBJS[0]->x,CUTSCENE_OBJS[0]->y})) {
|
||||
CUTSCENE_FLAGS[0]=true;
|
||||
CUTSCENE_TIMER=0;
|
||||
} else
|
||||
if (CUTSCENE_FLAGS[0]&&!CUTSCENE_FLAGS[1]&&CUTSCENE_TIMER>60*4) {
|
||||
StartCutscene(cutscene::SHAKE);
|
||||
}
|
||||
}break;
|
||||
case cutscene::SHAKE:{
|
||||
if (frameCount%4==0) {
|
||||
PLAYER_COORDS[1]+=0.25;
|
||||
} else
|
||||
if (frameCount%4==1) {
|
||||
PLAYER_COORDS[1]+=0.25;
|
||||
} else
|
||||
if (frameCount%4==2) {
|
||||
PLAYER_COORDS[1]-=0.25;
|
||||
} else
|
||||
if (frameCount%4==3) {
|
||||
PLAYER_COORDS[1]-=0.25;
|
||||
}
|
||||
}break;
|
||||
}
|
||||
|
||||
switch (GAME_STATE) {
|
||||
@ -1830,7 +1882,8 @@ public:
|
||||
GradientFillRectDecal({0,HEIGHT/2},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2});
|
||||
GradientFillRectDecal({WIDTH/2,HEIGHT/2},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1});
|
||||
}break;
|
||||
case LATER_THAT_NIGHT:{
|
||||
case LATER_THAT_NIGHTFADEIN:
|
||||
case LATER_THAT_NIGHTFADEOUT:{
|
||||
DrawDecal({WIDTH/2-LATER_THAT_NIGHT_DECAL->sprite->width/2,HEIGHT/2-LATER_THAT_NIGHT_DECAL->sprite->height/2},LATER_THAT_NIGHT_DECAL);
|
||||
}break;
|
||||
}
|
||||
@ -1906,6 +1959,9 @@ public:
|
||||
FillRectDecal({0,0},{WIDTH,HEIGHT},Pixel(0,0,0,128));
|
||||
DrawTerminal();
|
||||
}break;
|
||||
case cutscene::IN_BED:{
|
||||
FillRectDecal({0,0},{WIDTH,HEIGHT},Pixel(0,0,0,192));
|
||||
}break;
|
||||
}
|
||||
FillRectDecal({0,0},{WIDTH,HEIGHT},Pixel(0,0,0,transparency));
|
||||
//FillRectDecal({WIDTH/2-2,HEIGHT/2-2},{4,4},WHITE);
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user