This may be a bit hard to show, but in my project, Phocas Island 2, there is a cave that gets flooded with water. When I first released the project, the water alway rose to the proper height. Now that I'm redoing parts of the project, I find that the water doesn't always rise fully.
Now how to demonstrate the problem, which is tricky. First off, the mapset is here.
Start a new game, then on map03, warp to coords: x: 16500, Y -4123. You probably need to give yourself a weapon, and godmode. A bit further in the cave there are a ring of pillars with cracks on them, Hit each one until they break. The ceiling towards the back will fall down, gradually most of the chamber with the pillars will have been fallen down. The water is also raising. Right where you warped to, the water should raise high enough to reach the ledge above, but it usually doesn't.
Sorry for making it so difficult to see the problem (not even sure if it is broken 100% of the time). I tried to isolate it, but the bug went away. Maybe if you really need it, I'll try isolating it again.
[1.1.4]3d floor's ceiling doesn't alway raise fully
Moderator: Graf Zahl
- chopkinsca
- Posts: 183
- Joined: Thu Dec 29, 2005 8:09
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
I think it's this one:
However, I keep getting crushed by the pillars, so I'm not quite sure which sector is the "ledge above".
BTW, as soon as you warp to the map, you seem to get taken to map20 automatically. However, typing
map map03
warp 16500 -4123
without closing the console takes you to the appropriate place.
Code: Select all
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//underground pillars
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
script 31 (int pillar) {
if (pillars[pillar - 1] <= 4){
activatorsound("crackrock", 127);
pillars[pillar - 1]++;
}
if (pillars[pillar - 1] >= pillarhittarget[pillar - 1] && pillardone[pillar - 1] != 1) {
pillardone[pillar- 1] = 1;
Radius_Quake(1, 64, 0, 10, 69);
delay(10);
SetLineTexture((21 + pillar), side_front, TEXTURE_MIDDLE, "");
floor_lowerbyvalue(pillartids[pillar - 1], 128, 32);
ceiling_raisebyvalue(pillartids[pillar - 1], 128, 56);
pillars[pillar - 1] = 6;
}
for(int x = 0; x <=5; x++) {
if(pillars[x] != 6) { terminate; }
}
if(underwaterquake == 1) { terminate; }
underwaterquake = 1;
delay(15);
radius_quake(8, 312, 0, 25, 69);
Ceiling_LowerAndCrush(85, 128, 1000);
floor_lowerbyvalue(105, 256, 300);
SetHudSize(512, 384, 0);
hudmessage(s: "Uh oh... better run"
; 0 | HUDMSG_LOG, 2, cr_green, messagex, messagey, 3.0);
ceiling_raisebyvalue(101, 4, 200); //raise water
//floor_raisebyvalue(102, 4, 200);
delay(35 * 4);
ceiling_lowerandcrush(86, 128, 1000);
delay(35 * 3);
ceiling_lowerandcrush(87, 128, 1000);
ceiling_lowerandcrush(103, 128, 1000);
delay(35 * 1);
ceiling_lowerandcrush(88, 128, 1000);
ceiling_lowerandcrush(104, 128, 1000);
//open up cross-cave
floor_lowerbyvalue(117, 8, 80);
ceiling_raisebyvalue(117, 8, 80);
floor_lowerbyvalue(118, 8, 40);
ceiling_raisebyvalue(118, 8, 40);
for(int m = 89; m <= 100; m++) {
floor_lowerbyvalue(m, 32, random(64, 155));
}
thing_deactivate(77);
floor_lowerbyvalue(3, 64, 88);
Floor_LowerByValue(46, 64, 88);
delay(15);
thing_deactivate(70);
changemcount(2);
ceiling_lowerbyvalue(164, 128, 114);
}
BTW, as soon as you warp to the map, you seem to get taken to map20 automatically. However, typing
map map03
warp 16500 -4123
without closing the console takes you to the appropriate place.
- chopkinsca
- Posts: 183
- Joined: Thu Dec 29, 2005 8:09
Yep, sector 101 (with the "raise water" comment").Enjay wrote:I think it's this one:
when you warp to the coordinates, if you check your map you can see there is a ledge with more cave above you.Enjay wrote: However, I keep getting crushed by the pillars, so I'm not quite sure which sector is the "ledge above".
Edit: I found out what was casuing the problem, but not sure why. go through map20 to get to map03 then warp to the coordinates. (or if you want to start straight on map03, change the script on line 161 from "if(gamemode == 1)" to "if(gamemode == 0)". This spawns a cacodemon that has too much health to kill. For some reason, if this cacodemon is present when the caves start to fall and flood, the water doesn't raise fully, but if you remove the cacodemon via a script right before the water raises, it raises fully. I found a fix so I suppose this doesn't matter, but it might be a bug so who know.s
edit: isolated the problem and created a example .wad which is attached
- Attachments
-
- waterrise.zip
- (1.48 KiB) Downloaded 81 times
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact: