mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-12-23 01:59:43 +01:00
state locking
This commit is contained in:
parent
01d2cdd42a
commit
4b66920865
6 changed files with 382 additions and 332 deletions
|
@ -2667,7 +2667,7 @@ bool entityclass::updateentities( int i )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
game.state = 1000;
|
game.setstate(1000);
|
||||||
if(music.currentsong!=-1) music.silencedasmusik();
|
if(music.currentsong!=-1) music.silencedasmusik();
|
||||||
music.playef(3);
|
music.playef(3);
|
||||||
if (game.trinkets() > game.stat_trinkets && !map.custommode)
|
if (game.trinkets() > game.stat_trinkets && !map.custommode)
|
||||||
|
@ -3316,7 +3316,7 @@ bool entityclass::updateentities( int i )
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
game.state = 1010;
|
game.setstate(1010);
|
||||||
//music.haltdasmusik();
|
//music.haltdasmusik();
|
||||||
if(music.currentsong!=-1) music.silencedasmusik();
|
if(music.currentsong!=-1) music.silencedasmusik();
|
||||||
music.playef(27);
|
music.playef(27);
|
||||||
|
@ -3336,7 +3336,7 @@ bool entityclass::updateentities( int i )
|
||||||
entities[i].colour = 101;
|
entities[i].colour = 101;
|
||||||
if(!game.intimetrial && !game.nodeathmode)
|
if(!game.intimetrial && !game.nodeathmode)
|
||||||
{
|
{
|
||||||
game.state = 2000;
|
game.setstate(2000);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4744,7 +4744,7 @@ void entityclass::entitycollisioncheck(void)
|
||||||
game.startscript = true;
|
game.startscript = true;
|
||||||
game.newscript = blocks[block_idx].script;
|
game.newscript = blocks[block_idx].script;
|
||||||
removetrigger(activetrigger);
|
removetrigger(activetrigger);
|
||||||
game.state = 0;
|
game.setstate(0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -159,6 +159,16 @@ public:
|
||||||
void actionprompt_textbox(void);
|
void actionprompt_textbox(void);
|
||||||
void savetele_textbox(void);
|
void savetele_textbox(void);
|
||||||
|
|
||||||
|
void setstate(int gamestate);
|
||||||
|
|
||||||
|
void setstate(int gamestate, int delay);
|
||||||
|
|
||||||
|
void incstate();
|
||||||
|
|
||||||
|
void lockstate();
|
||||||
|
|
||||||
|
void unlockstate();
|
||||||
|
|
||||||
void updatestate(void);
|
void updatestate(void);
|
||||||
|
|
||||||
void unlocknum(int t);
|
void unlocknum(int t);
|
||||||
|
@ -489,6 +499,8 @@ public:
|
||||||
bool disableaudiopause;
|
bool disableaudiopause;
|
||||||
bool disabletemporaryaudiopause;
|
bool disabletemporaryaudiopause;
|
||||||
bool inputdelay;
|
bool inputdelay;
|
||||||
|
|
||||||
|
bool statelocked;
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef GAME_DEFINITION
|
#ifndef GAME_DEFINITION
|
||||||
|
|
|
@ -2167,7 +2167,7 @@ void gameinput(void)
|
||||||
obj.entities[teleporter].colour = 102;
|
obj.entities[teleporter].colour = 102;
|
||||||
}
|
}
|
||||||
//which teleporter script do we use? it depends on the companion!
|
//which teleporter script do we use? it depends on the companion!
|
||||||
game.state = 4000;
|
game.setstate(4000);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
}
|
}
|
||||||
else if (game.companion == 0)
|
else if (game.companion == 0)
|
||||||
|
@ -2200,7 +2200,7 @@ void gameinput(void)
|
||||||
obj.entities[teleporter].colour = 102;
|
obj.entities[teleporter].colour = 102;
|
||||||
}
|
}
|
||||||
//which teleporter script do we use? it depends on the companion!
|
//which teleporter script do we use? it depends on the companion!
|
||||||
game.state = 3000;
|
game.setstate(3000);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2457,7 +2457,7 @@ void mapinput(void)
|
||||||
|
|
||||||
if (game.menupage >= 20 && game.menupage <= 21)
|
if (game.menupage >= 20 && game.menupage <= 21)
|
||||||
{
|
{
|
||||||
game.state = 96;
|
game.setstate(96);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2466,7 +2466,7 @@ void mapinput(void)
|
||||||
script.running = false;
|
script.running = false;
|
||||||
graphics.textboxes.clear();
|
graphics.textboxes.clear();
|
||||||
|
|
||||||
game.state = 80;
|
game.setstate(80);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2632,8 +2632,8 @@ static void mapmenuactionpress(const bool version2_2)
|
||||||
}
|
}
|
||||||
|
|
||||||
//which teleporter script do we use? it depends on the companion!
|
//which teleporter script do we use? it depends on the companion!
|
||||||
game.state = 4000;
|
game.setstate(4000, 0);
|
||||||
game.statedelay = 0;
|
game.lockstate();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
@ -2866,7 +2866,7 @@ void teleporterinput(void)
|
||||||
obj.entities[i].colour = 102;
|
obj.entities[i].colour = 102;
|
||||||
}
|
}
|
||||||
//which teleporter script do we use? it depends on the companion!
|
//which teleporter script do we use? it depends on the companion!
|
||||||
game.state = 4000;
|
game.setstate(4000);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1098,10 +1098,10 @@ void mapclass::gotoroom(int rx, int ry)
|
||||||
{
|
{
|
||||||
if (!obj.flags[5] && !finalmode)
|
if (!obj.flags[5] && !finalmode)
|
||||||
{
|
{
|
||||||
game.state = 0;
|
game.setstate(0);
|
||||||
if (game.roomx == 113 && game.roomy == 104)
|
if (game.roomx == 113 && game.roomy == 104)
|
||||||
{
|
{
|
||||||
game.state = 50;
|
game.setstate(50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2289,7 +2289,7 @@ void mapclass::twoframedelayfix(void)
|
||||||
|
|
||||||
game.newscript = obj.blocks[block_idx].script;
|
game.newscript = obj.blocks[block_idx].script;
|
||||||
obj.removetrigger(activetrigger);
|
obj.removetrigger(activetrigger);
|
||||||
game.state = 0;
|
game.setstate(0);
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
script.load(game.newscript);
|
script.load(game.newscript);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3043,44 +3043,44 @@ void scriptclass::teleport(void)
|
||||||
|
|
||||||
if(game.teleport_to_x==0 && game.teleport_to_y==0)
|
if(game.teleport_to_x==0 && game.teleport_to_y==0)
|
||||||
{
|
{
|
||||||
game.state = 4020;
|
game.setstate(4020);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==0 && game.teleport_to_y==16)
|
else if(game.teleport_to_x==0 && game.teleport_to_y==16)
|
||||||
{
|
{
|
||||||
game.state = 4030;
|
game.setstate(4030);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==7 && game.teleport_to_y==9)
|
else if(game.teleport_to_x==7 && game.teleport_to_y==9)
|
||||||
{
|
{
|
||||||
game.state = 4040;
|
game.setstate(4040);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==8 && game.teleport_to_y==11)
|
else if(game.teleport_to_x==8 && game.teleport_to_y==11)
|
||||||
{
|
{
|
||||||
game.state = 4050;
|
game.setstate(4050);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==14 && game.teleport_to_y==19)
|
else if(game.teleport_to_x==14 && game.teleport_to_y==19)
|
||||||
{
|
{
|
||||||
game.state = 4030;
|
game.setstate(4030);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==17 && game.teleport_to_y==12)
|
else if(game.teleport_to_x==17 && game.teleport_to_y==12)
|
||||||
{
|
{
|
||||||
game.state = 4020;
|
game.setstate(4020);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==17 && game.teleport_to_y==17)
|
else if(game.teleport_to_x==17 && game.teleport_to_y==17)
|
||||||
{
|
{
|
||||||
game.state = 4020;
|
game.setstate(4020);
|
||||||
}
|
}
|
||||||
else if(game.teleport_to_x==18 && game.teleport_to_y==7)
|
else if(game.teleport_to_x==18 && game.teleport_to_y==7)
|
||||||
{
|
{
|
||||||
game.state = 4060;
|
game.setstate(4060);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
game.state = 4010;
|
game.setstate(4010);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (game.teleportscript != "")
|
if (game.teleportscript != "")
|
||||||
{
|
{
|
||||||
game.state = 0;
|
game.setstate(0);
|
||||||
load(game.teleportscript);
|
load(game.teleportscript);
|
||||||
game.teleportscript = "";
|
game.teleportscript = "";
|
||||||
}
|
}
|
||||||
|
@ -3199,6 +3199,7 @@ void scriptclass::hardreset(void)
|
||||||
game.inintermission = false;
|
game.inintermission = false;
|
||||||
game.insecretlab = false;
|
game.insecretlab = false;
|
||||||
|
|
||||||
|
game.unlockstate();
|
||||||
game.state = 0;
|
game.state = 0;
|
||||||
game.statedelay = 0;
|
game.statedelay = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue