natt Posted March 2, 2012 Xaser said:VERTEXES. VERTICIES doesn't fit in 8 letters Spoiler get it? 0 Share this post Link to post
Graf Zahl Posted March 2, 2012 natt said:VERTICIES doesn't fit in 8 letters It doesn't have to, because it's VERTICES! 0 Share this post Link to post
Blzut3 Posted March 2, 2012 Furthermore it seems like vertexes has actually become a valid form. Most spell checkers accept it and most dictionaries list it (I guess somewhat ironically urban dictionary is the only one I checked which doesn't seem to use it). 0 Share this post Link to post
Gez Posted March 2, 2012 That's normal. The "plain English" plural (-s or -es) is practically always valid in addition to the pedantic plural. That's why you can say "octopuses" or "octopodes", "viruses" or "virus", etc. In the same family, you have vortexes or vortices, indexes or indices, etc. Exceptions usually happen when the irregular plural is actually the older English plural (children, not childs) or when the word is only ever used in scholarly circles (corpora, not corpuses). Even then, the regular plural is sometimes still valid. Oxes or oxen? Both work. 0 Share this post Link to post
RjY Posted March 2, 2012 Gez said:Which means if I'm not mistaken that in this particular case, reactiontime is equal to 0 / 0 / 3. We're lucky C is super lazy and goes all "oh, it's a zero, I don't have to look at the divisor to know the result" in that first division. (At least, I assume that's what happens. I'm not looking into how the C compiler works.) It doesn't blow up because newmobj->momy is not actually zero. Only very close (in fixed_t terms) As you know P_SpawnMissile calls R_PointToAngle2 to get the angle between source and destination and multiplies its speed by the sine of said angle to calculate newmobj->momy. For a spawner and spawn spot with some arbitrarily picked different x-coordinates, but same y-coordinate, we get(gdb) p R_PointToAngle2((16<<16),0,(128<<16),0) $1 = 0But here's the rub, the fixed point trig tables are not quite accurate(gdb) p finesine[0] $2 = 25That is for a spot directly east of a spawner; directly west gives a different angle but finesine lookup gives the same answer. Either way, newmobj->momy is not zero, so the division doesn't fail. One bug masked by another I guess. 0 Share this post Link to post
Quasar Posted March 2, 2012 RjY said:One bug masked by another I guess. A bug masked by inaccuracy, you mean. The nature of finesine/finecosine/finetangent aren't bugs, really. Every index of the array is returned for 2^19 distinct angular values (if I am thinking correctly), so finesine[0] isn't *just* the return value for 0 degrees. The "25" is probably the value for the high end of the range of BAMs that are mapped to fineangle 0 ;) 0 Share this post Link to post
Graf Zahl Posted March 2, 2012 Quasar said:A bug masked by inaccuracy, you mean. The nature of finesine/finecosine/finetangent aren't bugs, really. Every index of the array is returned for 2^19 distinct angular values (if I am thinking correctly), so finesine[0] isn't *just* the return value for 0 degrees. The "25" is probably the value for the high end of the range of BAMs that are mapped to fineangle 0 ;) Actually, no. They made a mistake when generating that table. Instead of centering the 0-entry on 0° they started it there. And for each interval they used the value right in the middle to calculate the values. And that's just not the right way to do it. Of course ports that 'fix' the table should also fix the index calculations (which, if I am not mistaken, ZDoom does not.) 0 Share this post Link to post
printz Posted March 2, 2012 Quasar said:A bug masked by inaccuracy, you mean. The nature of finesine/finecosine/finetangent aren't bugs, really. Every index of the array is returned for 2^19 distinct angular values (if I am thinking correctly), so finesine[0] isn't *just* the return value for 0 degrees. The "25" is probably the value for the high end of the range of BAMs that are mapped to fineangle 0 ;) Does that explain why the starting player's angle is off a little from the multiple of 45 degrees at spawn time? Easily noticeable if you go into a perpendicular wall as soon as you start the level. 0 Share this post Link to post
Quasar Posted March 2, 2012 printz said:Does that explain why the starting player's angle is off a little from the multiple of 45 degrees at spawn time? Easily noticeable if you go into a perpendicular wall as soon as you start the level. Yes, as well as part of the tiny drift in player direction that speed runners exploit to do ridiculous glides. 0 Share this post Link to post
dew Posted March 2, 2012 Quasar said:Yes, as well as part of the tiny drift in player direction that speed runners exploit to do ridiculous glides. yes, we do use the drift, but glides are actually much easier without the drift in zdoom-based ports, because you don't drift off the right spot if you don't succeed at first. of course this fact is counterbalanced by zdoom's fine mouse turning, so hitting the right angle is more tedious than with the wonderfully coarse short tics. by the way, unlike spawning, your direction will be perfectly orthogonal after teleporting. i can't say anything about the code, but i have constructed scenarios where glides work in 100% cases. 0 Share this post Link to post