mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-30 18:04:09 +03:00
Separate pressing Enter to open map from pressing Enter to interact
This is a lot of copy-pasted code, but a little bit of copy-pasting never hurt anyone... The keybind to interact with activity zones and teleporters is now separate from the keybind to open the map, or return to the editor from in-editor playtesting, or restart a time trial. The keybind is now E, and the default controller bind is X. No controller button prompts, but the game didn't have controller button prompts anyways, so whatever. Doing this now because if people's muscle memory are going to be broken by not being able to spam the map keybind anymore, at least we can help a bit by changing the keybind so they can keep spamming it - their muscle memory is going to be broken anyways. This option has to be enabled by going to the speedrunner menu options and selecting "interact button". It is disabled by default. All prompt text needs to be string-interpolated every time they are drawn, because it is possible for people to change which interact button they use in the middle of gameplay, via the in-game options. Closes #736.
This commit is contained in:
@@ -838,151 +838,151 @@ void entityclass::createblock( int t, int xp, int yp, int w, int h, int trig /*=
|
||||
switch(trig)
|
||||
{
|
||||
case 0: //testing zone
|
||||
block.prompt = "Press ENTER to explode";
|
||||
block.prompt = "Press %s to explode";
|
||||
block.script = "intro";
|
||||
block.setblockcolour("orange");
|
||||
trig=1;
|
||||
break;
|
||||
case 1:
|
||||
block.prompt = "Press ENTER to talk to Violet";
|
||||
block.prompt = "Press %s to talk to Violet";
|
||||
block.script = "talkpurple";
|
||||
block.setblockcolour("purple");
|
||||
trig=0;
|
||||
break;
|
||||
case 2:
|
||||
block.prompt = "Press ENTER to talk to Vitellary";
|
||||
block.prompt = "Press %s to talk to Vitellary";
|
||||
block.script = "talkyellow";
|
||||
block.setblockcolour("yellow");
|
||||
trig=0;
|
||||
break;
|
||||
case 3:
|
||||
block.prompt = "Press ENTER to talk to Vermilion";
|
||||
block.prompt = "Press %s to talk to Vermilion";
|
||||
block.script = "talkred";
|
||||
block.setblockcolour("red");
|
||||
trig=0;
|
||||
break;
|
||||
case 4:
|
||||
block.prompt = "Press ENTER to talk to Verdigris";
|
||||
block.prompt = "Press %s to talk to Verdigris";
|
||||
block.script = "talkgreen";
|
||||
block.setblockcolour("green");
|
||||
trig=0;
|
||||
break;
|
||||
case 5:
|
||||
block.prompt = "Press ENTER to talk to Victoria";
|
||||
block.prompt = "Press %s to talk to Victoria";
|
||||
block.script = "talkblue";
|
||||
block.setblockcolour("blue");
|
||||
trig=0;
|
||||
break;
|
||||
case 6:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_station_1";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 7:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_outside_1";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 8:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_outside_2";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 9:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_outside_3";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 10:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_outside_4";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 11:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_outside_5";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 12:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_outside_6";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 13:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_finallevel";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 14:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_station_2";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 15:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_station_3";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 16:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_station_4";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 17:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_warp_1";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 18:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_warp_2";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 19:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_lab_1";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 20:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_lab_2";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 21:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_secretlab";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 22:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_shipcomputer";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 23:
|
||||
block.prompt = "Press ENTER to activate terminals";
|
||||
block.prompt = "Press %s to activate terminals";
|
||||
block.script = "terminal_radio";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
break;
|
||||
case 24:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "terminal_jukebox";
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
@@ -1048,7 +1048,7 @@ void entityclass::createblock( int t, int xp, int yp, int w, int h, int trig /*=
|
||||
trig=0;
|
||||
break;
|
||||
case 35:
|
||||
block.prompt = "Press ENTER to activate terminal";
|
||||
block.prompt = "Press %s to activate terminal";
|
||||
block.script = "custom_"+customscript;
|
||||
block.setblockcolour("orange");
|
||||
trig=0;
|
||||
|
||||
Reference in New Issue
Block a user