mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-04-26 03:21:26 +00:00
203 lines
4.1 KiB
Text
203 lines
4.1 KiB
Text
namespace map_caves {
|
|
void toggle_light(entity ent, vector srcColor, vector dstColor) {
|
|
vector tempVector;
|
|
|
|
tempVector = ent.getColor();
|
|
|
|
if ( ( tempVector_x == srcColor_x ) && ( tempVector_y == srcColor_y ) && (tempVector_z == srcColor_z) )
|
|
{
|
|
ent.setColor ( dstColor_x, dstColor_y, dstColor_z );
|
|
return;
|
|
}
|
|
|
|
if ( ( tempVector_x == dstColor_x ) && ( tempVector_y == dstColor_y ) && (tempVector_z == dstColor_z) )
|
|
ent.setColor ( srcColor_x, srcColor_y, srcColor_z );
|
|
|
|
}
|
|
|
|
|
|
void room1_toggle() {
|
|
vector srcRGB;
|
|
vector dstRGB;
|
|
|
|
srcRGB_x = 1;
|
|
srcRGB_y = 0.83;
|
|
srcRGB_z = 0.58;
|
|
|
|
dstRGB_x = 1;
|
|
dstRGB_y = 0;
|
|
dstRGB_z = 0;
|
|
|
|
toggle_light ($r1l1, srcRGB, dstRGB);
|
|
toggle_light ($r1l2, srcRGB, dstRGB);
|
|
toggle_light ($r1l3, srcRGB, dstRGB);
|
|
toggle_light ($r1l4, srcRGB, dstRGB);
|
|
toggle_light ($r1l5, srcRGB, dstRGB);
|
|
toggle_light ($r1l6, srcRGB, dstRGB);
|
|
toggle_light ($r1l7, srcRGB, dstRGB);
|
|
toggle_light ($r1l8, srcRGB, dstRGB);
|
|
}
|
|
|
|
void room2_toggle () {
|
|
vector srcRGB;
|
|
vector dstRGB;
|
|
|
|
srcRGB_x = 1;
|
|
srcRGB_y = 0.83;
|
|
srcRGB_z = 0.58;
|
|
|
|
dstRGB_x = 1;
|
|
dstRGB_y = 0;
|
|
dstRGB_z = 0;
|
|
toggle_light ($r2l1, srcRGB, dstRGB);
|
|
toggle_light ($r2l2, srcRGB, dstRGB);
|
|
toggle_light ($r2l3, srcRGB, dstRGB);
|
|
toggle_light ($r2l4, srcRGB, dstRGB);
|
|
}
|
|
|
|
void room3_toggle() {
|
|
vector srcRGB;
|
|
vector dstRGB;
|
|
|
|
srcRGB_x = 1;
|
|
srcRGB_y = 0.83;
|
|
srcRGB_z = 0.58;
|
|
|
|
dstRGB_x = 1;
|
|
dstRGB_y = 0;
|
|
dstRGB_z = 0;
|
|
|
|
toggle_light ($r3l1, srcRGB, dstRGB);
|
|
toggle_light ($r3l2, srcRGB, dstRGB);
|
|
toggle_light ($r3l3, srcRGB, dstRGB);
|
|
toggle_light ($r3l4, srcRGB, dstRGB);
|
|
toggle_light ($r3l5, srcRGB, dstRGB);
|
|
toggle_light ($r3l6, srcRGB, dstRGB);
|
|
}
|
|
|
|
void room4_toggle () {
|
|
vector srcRGB;
|
|
vector dstRGB;
|
|
|
|
srcRGB_x = 1;
|
|
srcRGB_y = 0.83;
|
|
srcRGB_z = 0.58;
|
|
|
|
dstRGB_x = 1;
|
|
dstRGB_y = 0;
|
|
dstRGB_z = 0;
|
|
sys.print ("Processing room4_toggle\n");
|
|
toggle_light ($r4l1, srcRGB, dstRGB);
|
|
toggle_light ($r4l2, srcRGB, dstRGB);
|
|
}
|
|
|
|
void lifter1() {
|
|
$endlift1.time (5);
|
|
$endlift1.moveTo ($endlift_top);
|
|
}
|
|
|
|
void lifter2() {
|
|
$endlift1.time (5);
|
|
$endlift1.moveTo ($endlift_bottom);
|
|
}
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// Light Group1 on - Group2 & Group3 off
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void light_group_1()
|
|
{
|
|
float i;
|
|
float rate;
|
|
|
|
rate = GAME_FRAMETIME * 0.25;
|
|
|
|
// start generator
|
|
$gen_rot.rotate ('120 0 0');
|
|
|
|
// force all other group lights to 0,0,0
|
|
sys.setShaderParm(1,0);
|
|
sys.setShaderParm(2,0);
|
|
|
|
for( i = 0; i <= 1; i += rate ) {
|
|
sys.setShaderParm(0,i);
|
|
sys.wait ( GAME_FRAMETIME );
|
|
}
|
|
}
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// Light Group2 on - Group1 & Group3 off
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void light_group_2()
|
|
{
|
|
float i;
|
|
float rate;
|
|
|
|
rate = GAME_FRAMETIME * 0.25;
|
|
|
|
// force all other group lights to 0,0,0
|
|
sys.setShaderParm(0,0);
|
|
sys.setShaderParm(2,0);
|
|
|
|
for( i = 0; i <= 1; i += rate ) {
|
|
sys.setShaderParm(1,i);
|
|
sys.waitFrame();
|
|
}
|
|
}
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// Light Group3 on - Group1 & Group2 off
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void light_group_3()
|
|
{
|
|
float i;
|
|
float rate;
|
|
|
|
rate = GAME_FRAMETIME * 0.25;
|
|
|
|
// force all other group lights to 0,0,0
|
|
sys.setShaderParm(0,0);
|
|
sys.setShaderParm(1,0);
|
|
|
|
for( i = 0; i <= 1; i += rate ) {
|
|
sys.setShaderParm(2,i);
|
|
sys.waitFrame();
|
|
}
|
|
}
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// Generator Monitor comes out
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void gen_mon_out()
|
|
{
|
|
//rotate door up 60degs
|
|
$gen_mon_door.rotateOnce (' 60 0 0 ');
|
|
sys.wait(.2);
|
|
$gen_mon_light.On();
|
|
sys.waitFor ($gen_mon_door);
|
|
|
|
//move monitor up and out
|
|
$gen_mon.moveTo ($gen_mon_spot1);
|
|
sys.waitFor ($gen_mon);
|
|
$gen_mon.moveTo ($gen_mon_spot2);
|
|
sys.waitFor ($gen_mon);
|
|
|
|
}
|
|
|
|
////////////////////////////////////////////////////
|
|
//
|
|
// Caverns 1 Main
|
|
//
|
|
////////////////////////////////////////////////////
|
|
void main()
|
|
{
|
|
sys.setShaderParm(0,1);
|
|
}
|
|
}
|