tempun
Member
Posts: 447
Registered: 08-09 |
traversd said:
So essentially if you want to live forever you need to float (at least 1 unit) above the floor of a type 11 sector.
I think the reason you were having hit/miss (as was I most of the night) was the self referencing sector causes the player to not be detected in the sector of type 11 occasionally.
I came to the same conclusions. traversd said:
I changed it so that instead of a full self reference, I kind'a "half-referenced" a non-type 11 sector.
Providing your linedefs are a max 32 units apart (you fall through otherwise)
U can make them diagonal and 32*sqrt(2) units apart traversd said:
it seems consistent this way, and you can bridge sectors. An unexpected bonus - monsters can walk around in the sector with you :0)
Well naturally, the difference in height is only 1 unit. traversd said:
EDIT: BTW I don't think and "node trickery" is needed. I was building this test in SLADE2
This depends on luck and node builder. The subsector the thing is in is determined indirectly by R_PointInSubsector (r_main.c), using nodes:
code: while (!(nodenum & NF_SUBSECTOR))
nodenum = nodes[nodenum].children[R_PointOnSide(x, y, nodes+nodenum)];
return &subsectors[nodenum & ~NF_SUBSECTOR];
In turn, subsector determines sector. Subsectors are linked to sectors in P_GroupLines (p_setup.c): (look it up in full somewhere else, forum software screws up the code) code: seg_t *seg = &segs[subsectors[i].firstline];
Note it uses the first seg to get sector reference and so results depend on nodes.
Your method is more robust because it only makes 1 reference incorrect and thus less chance of glitches. But they probably still can happen in bigger levels, depending on node builder. traversd said:
Also the player cannot die by self-damage (RL splash) and when you get to 1%, armor is no longer lost either.
P_DamageMobj (p_inter.c): code: damage = target->health - 1
. This happens before armor checks. So if you have a lot of health and armor, first hit, no matter how powerful, can't reduce your health to 1.
Last edited by tempun on 02-03-12 at 12:52
|