SRB2 Message Board  

Go Back   SRB2 Message Board > Archived > SRB2 Forum Archives > Bug Reports (2.0.X)

 
 
Thread Tools Search this Thread
Old 01-28-2012   #1
Ezer.Arch
ArchPack developer
 
Ezer.Arch's Avatar
Default Continuously Falling Sector uses wrong heights for ending point

Bug is critical. Level editing. FOF plane Movement.

The Linedef Type 52, Continuously Falling Sector, uses wrong heights for ending point of the falling FOF.



SRB2Wiki:
Quote:
The floor and ceiling height of the [special] linedef's front sector will indicate the starting point of the FOF. The floor and ceiling height of the linedef's back sector will indicate the point the sector will fall to, before respawning at the height of the linedef's front sector and repeating the process.
http://wiki.srb2.org/wiki/Linedef_Type_52#Setup

But it's not the way how the falling FOF is working now. The FOF's ceiling will fall to the floor height of the linedef's back sector, and the FOF's floor will fall "FOF's height" further, I mean, if the FOF has a height of 64 FU, the FOF's floor will fall 64 FU below the floor height of the linedef's back sector.

Therefore, if the level designer is intending to stack FOFs over each other, like in DSZ2, with a constant gap between them, the FOFs will lose and regain sync, clashing with each other.

Spoiler: SRB2Fun (points the relevant part of the source code)

<MonsterIestyn> Meanwhile I'll go and double check the source code for that particular linedef effect.
<MonsterIestyn> I think I see what's going on
<MonsterIestyn> "faller->floordestheight = backsector->floorheight; faller->ceilingdestheight = faller->floordestheight;"
<MonsterIestyn> Someone goofed up with the ceiling destination height setting
<MonsterIestyn> The ceiling goes to the exact same height as the floor
<EzerArch> yes!
<MonsterIestyn> And with backwards, the floor goes to whatever the ceiling height is
<MonsterIestyn> In other words, it squishes itself to make the FOF a height of 0 before respawning at the original heights
<MonsterIestyn> And so the floor height only affects the final height when going down, and the ceiling height when going up
<MonsterIestyn> Then again, maybe this is not someone goofing up, but someone thinking the FOF should flatten itself completely before disappearing :V
<MonsterIestyn> Since the error is exactly flipped for backwards
(...)
<MonsterIestyn> Also, for those wishing to see where that line from SRB2's source came from, it's in the section for "EV_DoContinuousFall" in p_floor.c


How to reproduce it:
  1. Set up the FOF and its control sector as the wiki says.
  2. For example, respectively for FOF's ceiling and floor, the starting point will be 192 and 128, and the ending point, 64 and 0. Use any length for speed.
  3. Test. The FOF will fall down to 0 and -64.
Workaround: Subtract/Add the FOF's height from/in the heights of the linedef's back sector. Still not confirmed if it will work. Confirmed, it works.

Sample wad: download

Confirmed in SRB2Trunk r7222

Last edited by Prime 2.0; 02-02-2012 at 10:39 PM. Reason: Spelling; points the relevant part of the source code
Ezer.Arch is offline  
Old 02-02-2012   #2
SSNTails
What part of 'RETIRED' don't you understand?
 
SSNTails's Avatar
Default

Yeah, that's an error in the wiki description, not the code.
__________________
Roly Poly Putt & TraceRace - for Android, iOS, & PC - http://www.spaddlewit.com
Follow me on twitter: http://www.twitter.com/SSNTails
SSNTails is offline  
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:46 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, vBulletin Solutions, Inc.