mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-12 08:11:10 +02:00
295 lines
6.5 KiB
Plaintext
295 lines
6.5 KiB
Plaintext
// =================================================
|
|
// Map: D3DM4 ( The Edge 2 )
|
|
// =================================================
|
|
|
|
// 0 = lightswitch guis OFF
|
|
// 1 = lightswitch guis ON
|
|
float complab_lights;
|
|
float teleroom_lights;
|
|
|
|
// -------------------------------------------------
|
|
// Sound Functions
|
|
// -------------------------------------------------
|
|
|
|
// function for random steamblasts
|
|
void sound_steamblasts()
|
|
{
|
|
while( 1 ) {
|
|
sys.wait( 8 + sys.random( 4 ) );
|
|
sys.trigger( $mrdr_speaker_36 );
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Setup Small Crankshaft binds and times
|
|
// -------------------------------------------------
|
|
void setup_sm_crankshaft()
|
|
{
|
|
$sm_pistonrod01.bind($sm_piston01);
|
|
$sm_pistonrod02.bind($sm_piston02);
|
|
$sm_pistonrod03.bind($sm_piston03);
|
|
|
|
$sm_piston01.time(0.25);
|
|
$sm_pistonrod01.time(0.25);
|
|
$sm_piston02.time(0.25);
|
|
$sm_pistonrod02.time(0.25);
|
|
$sm_piston03.time(0.25);
|
|
$sm_pistonrod03.time(0.25);
|
|
$sm_crankshaft.time(0.25);
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// grate light mover
|
|
// -------------------------------------------------
|
|
void gratelight_move()
|
|
{
|
|
$gratelight_mover.time( 1 );
|
|
$gratelight_mover.accelTime( .25 );
|
|
$gratelight_mover.decelTime( .25 );
|
|
|
|
float ran1;
|
|
|
|
while(1) //begin main while
|
|
{
|
|
ran1=sys.random(3);
|
|
|
|
if(ran1<1){
|
|
$gratelight_mover.moveTo($gratelightpoint_1);
|
|
sys.waitFor($gratelight_mover);
|
|
} else if(ran1<2) {
|
|
$gratelight_mover.moveTo($gratelightpoint_2);
|
|
sys.waitFor($gratelight_mover);
|
|
} else {
|
|
$gratelight_mover.moveTo($gratelightpoint_3);
|
|
sys.waitFor($gratelight_mover);
|
|
}
|
|
|
|
} //end main while
|
|
}
|
|
|
|
/*
|
|
// -------------------------------------------------
|
|
// Shaking machine
|
|
// -------------------------------------------------
|
|
void qfraggel_shaker1_move()
|
|
{
|
|
$qfraggel_func_mover_7.time(.075);
|
|
|
|
while(1){
|
|
$qfraggel_func_mover_7.rotateOnce( '.8 1.1 .4' );
|
|
sys.waitFor($qfraggel_func_mover_7);
|
|
$qfraggel_func_mover_7.rotateOnce( '-.8 -1.1 -.4' );
|
|
sys.waitFor($qfraggel_func_mover_7);
|
|
}
|
|
}
|
|
*/
|
|
|
|
// -------------------------------------------------
|
|
// Global Parm(parm) from 1 to 0 in a specific time(time)
|
|
// -------------------------------------------------
|
|
void globalparm_1to0(float parm, float blendtime)
|
|
{
|
|
float i,v,t;
|
|
|
|
t = blendtime * 60;
|
|
|
|
for( i = t; i > 0; i-- ) {
|
|
v =( i / t );
|
|
sys.setShaderParm( parm, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( parm, 0 );
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Global Parm(parm) from 0 to 1 in a specific time(time)
|
|
// -------------------------------------------------
|
|
void globalparm_0to1(float parm, float blendtime)
|
|
{
|
|
float i,v,t;
|
|
|
|
t = blendtime * 60;
|
|
|
|
for( i = 0; i < t; i++ ) {
|
|
v =( i / t );
|
|
sys.setShaderParm( parm, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( parm, 1 );
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Teleporter Room - Lights off
|
|
// -------------------------------------------------
|
|
void teleroom_off()
|
|
{
|
|
float i, t, v;
|
|
|
|
//sound for lights off
|
|
sys.trigger($teleroom_lightsoff_speaker);
|
|
|
|
$teleroom_lightswitch.setGuiParm( "gui_parm3", 1 );
|
|
|
|
t =( .75 * 60 );
|
|
for( i = t; i > 0; i-- ) {
|
|
v =( i / t );
|
|
sys.setShaderParm( 0, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( 0, 0 );
|
|
|
|
//$teleroom_lightswitch.setShaderParm(7, 0);
|
|
$teleroom_lightswitch_light.setColor(.84, .34, .20);
|
|
|
|
teleroom_lights = 0;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Teleporter Room - Lights on
|
|
// -------------------------------------------------
|
|
void teleroom_on()
|
|
{
|
|
float i, t, v;
|
|
|
|
//sound for lights on
|
|
sys.trigger($teleroom_lightson_speaker);
|
|
|
|
$teleroom_lightswitch.setGuiParm( "gui_parm3", 0 );
|
|
|
|
t = .75 * 60;
|
|
for( i = 0; i < t; i++ ) {
|
|
v =( i / t );
|
|
sys.setShaderParm( 0, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( 0, 1 );
|
|
|
|
//$teleroom_lightswitch.setShaderParm(7, 1);
|
|
$teleroom_lightswitch_light.setColor(.52, .84, .73);
|
|
|
|
teleroom_lights = 1;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Teleport room lights
|
|
// -------------------------------------------------
|
|
void teleroom_switch()
|
|
{
|
|
// 0 = lightswitch guis OFF
|
|
// 1 = lightswitch guis ON
|
|
if ( teleroom_lights == 0 ) {
|
|
thread teleroom_on();
|
|
}
|
|
|
|
if ( teleroom_lights == 1 ) {
|
|
thread teleroom_off();
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Computer Lab - Lights off
|
|
// -------------------------------------------------
|
|
void complab_off()
|
|
{
|
|
|
|
float i, t, v;
|
|
|
|
//sound for lights off
|
|
sys.trigger($complab_lightsoff_speaker);
|
|
|
|
$complab_lightswitch01.setGuiParm( "gui_parm3", 1 );
|
|
$complab_lightswitch02.setGuiParm( "gui_parm3", 1 );
|
|
|
|
t =( .75 * 60 );
|
|
for( i = t; i > 0; i-- ) {
|
|
v =( i / t );
|
|
sys.setShaderParm( 1, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( 1, 0 );
|
|
|
|
$complab_lightswitch_light01.setColor(.84, .34, .20);
|
|
|
|
$complab_lightswitch_light02.setColor(.84, .34, .20);
|
|
|
|
// 0 = lightswitch guis OFF
|
|
// 1 = lightswitch guis ON
|
|
complab_lights = 0;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Computer Lab - Lights on
|
|
// -------------------------------------------------
|
|
void complab_on()
|
|
{
|
|
float i, t, v;
|
|
|
|
//sound for lights on
|
|
sys.trigger($complab_lightson_speaker);
|
|
|
|
$complab_lightswitch01.setGuiParm( "gui_parm3", 0 );
|
|
$complab_lightswitch02.setGuiParm( "gui_parm3", 0 );
|
|
|
|
t = .75 * 60;
|
|
for( i = 0; i < t; i++ ) {
|
|
v =( i / t );
|
|
sys.setShaderParm( 1, v );
|
|
sys.wait( 1 / 60 );
|
|
}
|
|
sys.setShaderParm( 1, 1 );
|
|
|
|
$complab_lightswitch_light01.setColor( .52, .84, .73 );
|
|
|
|
$complab_lightswitch_light02.setColor( .52, .84, .73 );
|
|
|
|
// 0 = lightswitch guis OFF
|
|
// 1 = lightswitch guis ON
|
|
complab_lights = 1;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Checker for Computer Lab light switches
|
|
// -------------------------------------------------
|
|
void complab_switch()
|
|
{
|
|
// 0 = lightswitch guis OFF
|
|
// 1 = lightswitch guis ON
|
|
if ( complab_lights == 0 ) {
|
|
thread complab_on();
|
|
}
|
|
|
|
if ( complab_lights == 1 ) {
|
|
thread complab_off();
|
|
}
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Setup the switchable lights in the Teleporter Room
|
|
// and Computer Lab
|
|
// -------------------------------------------------
|
|
void setup_switchable_lights()
|
|
{
|
|
sys.setShaderParm( 0, 1 );
|
|
sys.setShaderParm( 1, 1 );
|
|
sys.setShaderParm( 2, 1 );
|
|
|
|
// 0 = lightswitch guis OFF
|
|
// 1 = lightswitch guis ON
|
|
complab_lights = 1;
|
|
teleroom_lights = 1;
|
|
}
|
|
|
|
// -------------------------------------------------
|
|
// Main
|
|
// -------------------------------------------------
|
|
void main()
|
|
{
|
|
sys.wait(1);
|
|
|
|
setup_switchable_lights();
|
|
|
|
//thread qfraggel_shaker1_move();
|
|
thread gratelight_move();
|
|
thread sound_steamblasts();
|
|
}
|