8 InterpolateOrigin_Do();
14 if(self.lip < 0) // < 0: alpha goes from 1 to 1-|lip| when toggled (toggling subtracts lip)
15 self.alpha = 1 + self.lip * f;
16 else // > 0: alpha goes from 1-|lip| to 1 when toggled (toggling adds lip)
17 self.alpha = 1 - self.lip * (1 - f);
18 self.origin = self.origin + self.movedir * f;
23 if(self.alpha >= ALPHA_MIN_VISIBLE)
29 void Ent_Wall_Remove()
32 strunzone(self.bgmscript);
33 self.bgmscript = string_null;
39 InterpolateOrigin_Undo();
40 self.iflags = IFLAG_ANGLES;
47 self.colormap = ReadShort();
54 self.origin_x = ReadCoord();
55 self.origin_y = ReadCoord();
56 self.origin_z = ReadCoord();
63 self.angles_x = ReadAngle();
64 self.angles_y = ReadAngle();
65 self.angles_z = ReadAngle();
68 self.angles = '0 0 0';
73 self.modelindex = ReadShort();
74 self.solid = ReadByte();
75 self.scale = ReadByte() / 16.0;
78 self.mins_x = ReadCoord();
79 self.mins_y = ReadCoord();
80 self.mins_z = ReadCoord();
81 self.maxs_x = ReadCoord();
82 self.maxs_y = ReadCoord();
83 self.maxs_z = ReadCoord();
86 self.mins = self.maxs = '0 0 0';
88 strunzone(self.bgmscript);
89 self.bgmscript = strzone(ReadString());
90 if(self.bgmscript != "")
92 self.bgmscriptattack = ReadByte() / 64.0;
93 self.bgmscriptdecay = ReadByte() / 64.0;
94 self.bgmscriptsustain = ReadByte() / 255.0;
95 self.bgmscriptrelease = ReadByte() / 64.0;
96 self.movedir_x = ReadCoord();
97 self.movedir_y = ReadCoord();
98 self.movedir_z = ReadCoord();
99 self.lip = ReadByte() / 255.0;
101 BGMScript_InitEntity(self);
104 InterpolateOrigin_Note();
106 self.entremove = Ent_Wall_Remove;
107 self.draw = Ent_Wall_Draw;