Matthias Posted October 15, 2016 Explain me this, please: Thanks 0 Quote Share this post Link to post
Graf Zahl Posted October 15, 2016 This special multiplies the height with 8. In Hexen this was necessary because the parameters could at most be 255, so in order to achieve larger ranges they added this dumb multiplier. What ZDoom and Zandronum versions did you test? Lowering by 8*800 = 6400 should place the platform below the pit. 0 Quote Share this post Link to post
Matthias Posted October 15, 2016 Graf Zahl said:This special multiplies the height with 8. In Hexen this was necessary because the parameters could at most be 255, so in order to achieve larger ranges they added this dumb multiplier. What ZDoom version did you test? So how can I set the floor goes IMMEDIATELY to -4000 floor (not more, not less) ? I tried also "Floor_LowerByValueTimes8(arg1, arg2, arg3);" but it's too way slow even with 255, and it goes only a short distance in zdoom and quite good distance in zandroum (shouldn't be the distance the same??) Graf Zahl said:What ZDoom and Zandronum versions did you test? also I overlooked your question Well I have the newtest zdoom and some older zandronum :) 0 Quote Share this post Link to post
Matthias Posted October 15, 2016 I got it! So the main difference between zandronum and zdoom is the limit Graf Zahl mentioned. If you use Floor_LowerInstant(const: arg1, arg2, 800); it goes just about 255(*8) tops in older zdoom (I tried the newest and it does nothing if the value is above 255). In zandronum it really goes 800*8 Some examples zdoom 10 = 10 200 = 200 255 = 255 256 = 255 or nothing 54654354684 = 255 or nothing zandronum 10 = 10 200 = 200 255 = 255 256 = 256 54654354684 = 54654354684 :) But if I want go deeper in zdoom, this does the trick: Floor_LowerInstant(const: 27, 0, 255); delay(const: 1); Floor_LowerInstant(const: 27, 0, 255); etc. 0 Quote Share this post Link to post
Graf Zahl Posted October 15, 2016 I need the exact versions to decide whether there's a bug or not. 'Newest' can be a lot. It can be 2.8.1 or it can be yesterday's devbuild. I need also some context in which you are testing. When using Hexen with an original Hexen MAPINFO the values are indeed being truncated to byte values but in all other cases that should not happen. 0 Quote Share this post Link to post
Matthias Posted October 15, 2016 Graf Zahl said:I need the exact versions to decide whether there's a bug or not. 'Newest' can be a lot. It can be 2.8.1 or it can be yesterday's devbuild. I need also some context in which you are testing. When using Hexen with an original Hexen MAPINFO the values are indeed being truncated to byte values but in all other cases that should not happen. Well I wanted to make a trap. When you jump onto this platform and pick up the icon of defender, the platform collapses and you die Tag of the floor is 34 I wasn't sure how much deep it should go, so I put random number Floor_LowerInstant(const: 34, 0, 800); In some old version of Zandronum (I can't tell you a number because I installed the newest version now so it re-wrote everything. But the newtest version is 2.1.2) And it worked fine - the platform collapsed and it kills the player. But in the zdoom (version 2.7.1) it goes only a bit(like my picture shows) so it doesn't hurt the player at all). In version 2.8.1 it does nothing at all (but if you set it under the 256, it works) :) 0 Quote Share this post Link to post
Graf Zahl Posted October 15, 2016 So this is Hexen. That's already very important. Did you add a MAPINFO or just load the map? I guess the second because what happens here is that ZDoom tries to emulate original Hexen and treat the arguments as bytes. So 800 becomes (800%256) = 32. If you want full parameter range you have to add a MAPINFO in modern ZDoom format to disable this truncation. In the other games it will never happen because this limitation was never present in ZDoom originally, it only got added to emulate Hexen more closely, and that's why your old Zandronum version does not have this effect. If you want to get this working in other Hexen-capable engines it will always be like you experienced here with ZDoom. 0 Quote Share this post Link to post
Matthias Posted October 15, 2016 Graf Zahl said:So this is Hexen. That's already very important. Did you add a MAPINFO or just load the map? I guess the second because what happens here is that ZDoom tries to emulate original Hexen and treat the arguments as bytes. So 800 becomes (800%256) = 32. If you want full parameter range you have to add a MAPINFO in modern ZDoom format to disable this truncation. In the other games it will never happen because this limitation was never present in ZDoom originally, it only got added to emulate Hexen more closely, and that's why your old Zandronum version does not have this effect. If you want to get this working in other Hexen-capable engines it will always be like you experienced here with ZDoom. Oh, thanks for your explanation! Thanks a lot! But no... The map(s) I am working on should be the classical-Hexen-like, so no zdoom things. And if there is something limited to 255 (and it's almost everything - maximal number of scripts, maximal speed and now I know it's maximal height of lowering) I must respect it. Besides, I can cheat the limit with double-command as I did above :) It works. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.