mirror of
https://github.com/stevenhowes/CTheEscape.git
synced 2026-05-26 15:53:29 +01:00
Allow sounds and channels to be referred to by name
This commit is contained in:
+37
-1
@@ -1,4 +1,22 @@
|
|||||||
<?php
|
<?php
|
||||||
|
// Parse h/sounds to get friendly names for samples and channels
|
||||||
|
$soundnames = array();
|
||||||
|
$channelnames = array();
|
||||||
|
$sound_h = file_get_contents("h/Sound");
|
||||||
|
foreach(preg_split("/((\r?\n)|(\r\n?))/", $sound_h) as $line)
|
||||||
|
{
|
||||||
|
if(strpos($line,"/*soundid*/"))
|
||||||
|
{
|
||||||
|
$soundsplit = preg_split("/=|\,/",$line);
|
||||||
|
$soundnames[trim($soundsplit[0])] = trim($soundsplit[1]);
|
||||||
|
}
|
||||||
|
if(strpos($line,"/*channelid*/"))
|
||||||
|
{
|
||||||
|
$soundsplit = preg_split("/=|\,/",$line);
|
||||||
|
$channelnames[trim($soundsplit[0])] = trim($soundsplit[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$script = file_get_contents("m2_txt");
|
$script = file_get_contents("m2_txt");
|
||||||
|
|
||||||
$inevent = -1;
|
$inevent = -1;
|
||||||
@@ -59,7 +77,25 @@
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$csv = str_getcsv($split[1]);
|
$csv = str_getcsv($split[1]);
|
||||||
$eventactions[] = array("Event"=>$inevent,"Action"=>2,"ActionValue"=>$csv[1],"ActionTarget"=>$csv[0]);
|
$csv[0] = trim($csv[0]);
|
||||||
|
$csv[1] = trim($csv[1]);
|
||||||
|
|
||||||
|
if(isset($soundnames[$csv[0]]))
|
||||||
|
$csv[0] = $soundnames[$csv[0]];
|
||||||
|
if(!is_numeric($csv[0]))
|
||||||
|
{
|
||||||
|
echo "Sound '" . $csv[0] . "' not recognised\n";
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($channelnames[$csv[1]]))
|
||||||
|
$csv[1] = $channelnames[$csv[1]];
|
||||||
|
if(!is_numeric($csv[1]))
|
||||||
|
{
|
||||||
|
echo "Channel '" . $csv[1] . "' not recognised\n";
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
$eventactions[] = array("Event"=>$inevent,"Action"=>2,"ActionValue"=>$csv[0],"ActionTarget"=>$csv[1]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "SetTile":
|
case "SetTile":
|
||||||
|
|||||||
+20
-6
@@ -37,14 +37,28 @@
|
|||||||
#define DataVox_AdjustMemory 0x443A2
|
#define DataVox_AdjustMemory 0x443A2
|
||||||
#define DataVox_SetInternalPitch 0x443A3
|
#define DataVox_SetInternalPitch 0x443A3
|
||||||
|
|
||||||
|
// Formatting is important as compile.php parses this
|
||||||
enum pcmchannel_e{
|
enum pcmchannel_e{
|
||||||
PCMCHANNEL_UI = 5,
|
PCMCHANNEL_UI = 5, /*channelid*/
|
||||||
PCMCHANNEL_PLAYER = 5,
|
PCMCHANNEL_PLAYER = 5, /*channelid*/
|
||||||
PCMCHANNEL_NPC1 = 6,
|
PCMCHANNEL_NPC1 = 6, /*channelid*/
|
||||||
PCMCHANNEL_NPC2 = 7,
|
PCMCHANNEL_NPC2 = 7, /*channelid*/
|
||||||
PCMCHANNEL_AMBIENT = 8
|
PCMCHANNEL_AMBIENT = 8, /*channelid*/
|
||||||
|
PCMCHANNEL_MAX
|
||||||
|
};
|
||||||
|
|
||||||
|
// Formatting is important as compile.php parses this
|
||||||
|
enum pcmsample_e{
|
||||||
|
PCMSAMPLE_DURNOTORPEDO = 0, /*soundid*/
|
||||||
|
PCMSAMPLE_PHASER = 1, /*soundid*/
|
||||||
|
PCMSAMPLE_SHIPEXPLODE = 2, /*soundid*/
|
||||||
|
PCMSAMPLE_TRACTOR = 3, /*soundid*/
|
||||||
|
PCMSAMPLE_HAIL = 4, /*soundid*/
|
||||||
|
PCMSAMPLE_DOOR = 5, /*soundid*/
|
||||||
|
PCMSAMPLE_ALERT = 6, /*soundid*/
|
||||||
|
PCMSAMPLE_TRACTOREND = 7, /*soundid*/
|
||||||
|
PCMSAMPLE_MAX
|
||||||
};
|
};
|
||||||
enum pcmsample_e{PCMSAMPLE_DURNOTORPEDO, PCMSAMPLE_PHASER, PCMSAMPLE_SHIPEXPLODE, PCMSAMPLE_TRACTOR, PCMSAMPLE_HAIL, PCMSAMPLE_DOOR, PCMSAMPLE_ALERT, PCMSAMPLE_TRACTOREND, PCMSAMPLE_MAX};
|
|
||||||
|
|
||||||
struct CompositionElement {
|
struct CompositionElement {
|
||||||
signed short int Start;
|
signed short int Start;
|
||||||
|
|||||||
+11
-11
@@ -94,18 +94,18 @@ Event("PlayerStart")
|
|||||||
# Mission brief
|
# Mission brief
|
||||||
###########################################
|
###########################################
|
||||||
Event("Brief")
|
Event("Brief")
|
||||||
Sound(5,4) # (Commmunicator)
|
Sound(PCMSAMPLE_HAIL, PCMCHANNEL_UI)
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
# Shuttle bay briefing room
|
# Shuttle bay briefing room
|
||||||
###########################################
|
###########################################
|
||||||
Event("SBBR-DOOROPEN")
|
Event("SBBR-DOOROPEN")
|
||||||
SetOverlayTile(713,31) # Open door
|
SetOverlayTile(713,31) # Open door
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("SBBR-DOORCLOSE")
|
ReArm("SBBR-DOORCLOSE")
|
||||||
Event("SBBR-DOORCLOSE")
|
Event("SBBR-DOORCLOSE")
|
||||||
SetOverlayTile(713,29) # Closed door
|
SetOverlayTile(713,29) # Closed door
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("SBBR-DOOROPEN")
|
ReArm("SBBR-DOOROPEN")
|
||||||
Event("SBBR-AREA")
|
Event("SBBR-AREA")
|
||||||
AreaName(2) # (Briefing room)
|
AreaName(2) # (Briefing room)
|
||||||
@@ -117,12 +117,12 @@ Event("SBBR-AREA")
|
|||||||
Event("SB-DOOROPEN")
|
Event("SB-DOOROPEN")
|
||||||
SetOverlayTile(1213,68) # Open door (left)
|
SetOverlayTile(1213,68) # Open door (left)
|
||||||
SetOverlayTile(1313,69) # Open door (right)
|
SetOverlayTile(1313,69) # Open door (right)
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("SB-DOORCLOSE")
|
ReArm("SB-DOORCLOSE")
|
||||||
Event("SB-DOORCLOSE")
|
Event("SB-DOORCLOSE")
|
||||||
SetOverlayTile(1213,43) # Closed door (left)
|
SetOverlayTile(1213,43) # Closed door (left)
|
||||||
SetOverlayTile(1313,44) # Closed door (right)
|
SetOverlayTile(1313,44) # Closed door (right)
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("SB-DOOROPEN")
|
ReArm("SB-DOOROPEN")
|
||||||
Event("SB-AREA")
|
Event("SB-AREA")
|
||||||
AreaName(1) # (Shuttle bay)
|
AreaName(1) # (Shuttle bay)
|
||||||
@@ -134,12 +134,12 @@ Event("SB-AREA")
|
|||||||
Event("CB1-DOOROPEN")
|
Event("CB1-DOOROPEN")
|
||||||
SetOverlayTile(2213,68) # Open door (left)
|
SetOverlayTile(2213,68) # Open door (left)
|
||||||
SetOverlayTile(2313,69) # Open door (right)
|
SetOverlayTile(2313,69) # Open door (right)
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("CB1-DOORCLOSE")
|
ReArm("CB1-DOORCLOSE")
|
||||||
Event("CB1-DOORCLOSE")
|
Event("CB1-DOORCLOSE")
|
||||||
SetOverlayTile(2213,43) # Closed door (left)
|
SetOverlayTile(2213,43) # Closed door (left)
|
||||||
SetOverlayTile(2313,44) # Closed door (right
|
SetOverlayTile(2313,44) # Closed door (right
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("CB1-DOOROPEN")
|
ReArm("CB1-DOOROPEN")
|
||||||
Event("CB-AREA")
|
Event("CB-AREA")
|
||||||
AreaName(3) # (Cargo bay)
|
AreaName(3) # (Cargo bay)
|
||||||
@@ -151,12 +151,12 @@ Event("CB-AREA")
|
|||||||
Event("CB2-DOOROPEN")
|
Event("CB2-DOOROPEN")
|
||||||
SetOverlayTile(3213,68) # Open door (left)
|
SetOverlayTile(3213,68) # Open door (left)
|
||||||
SetOverlayTile(3313,69) # Open door (right)
|
SetOverlayTile(3313,69) # Open door (right)
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("CB2-DOORCLOSE")
|
ReArm("CB2-DOORCLOSE")
|
||||||
Event("CB2-DOORCLOSE")
|
Event("CB2-DOORCLOSE")
|
||||||
SetOverlayTile(3213,43) # Closed door (left)
|
SetOverlayTile(3213,43) # Closed door (left)
|
||||||
SetOverlayTile(3313,44) # Closed door (right
|
SetOverlayTile(3313,44) # Closed door (right
|
||||||
Sound(5,5) # (Door)
|
Sound(PCMSAMPLE_DOOR, PCMCHANNEL_PLAYER)
|
||||||
ReArm("CB2-DOOROPEN")
|
ReArm("CB2-DOOROPEN")
|
||||||
|
|
||||||
###########################################
|
###########################################
|
||||||
@@ -193,7 +193,7 @@ Event("REDALERTON")
|
|||||||
SetOverlayTile(2413,84)
|
SetOverlayTile(2413,84)
|
||||||
SetOverlayTile(3113,84) # Cargo bay two
|
SetOverlayTile(3113,84) # Cargo bay two
|
||||||
SetOverlayTile(3413,84)
|
SetOverlayTile(3413,84)
|
||||||
Sound(8,6) # (Klaxon)
|
Sound(PCMSAMPLE_ALERT, PCMCHANNEL_AMBIENT)
|
||||||
ReArm("REDALERTON")
|
ReArm("REDALERTON")
|
||||||
Event("REDALERTOFF")
|
Event("REDALERTOFF")
|
||||||
Schedule("REDALERTON",125)
|
Schedule("REDALERTON",125)
|
||||||
@@ -241,5 +241,5 @@ Event("TRAC2")
|
|||||||
Event("TRACOFF")
|
Event("TRACOFF")
|
||||||
SetOverlayTile(407,0) # Empty
|
SetOverlayTile(407,0) # Empty
|
||||||
Event("TRACSOUND")
|
Event("TRACSOUND")
|
||||||
Sound(5,7) # (Tractor beam ending)
|
Sound(PCMSAMPLE_TRACTOREND, PCMCHANNEL_PLAYER)
|
||||||
ReArm("TRACSOUND")
|
ReArm("TRACSOUND")
|
||||||
|
|||||||
Reference in New Issue
Block a user