View Issue Details

IDProjectCategoryView StatusLast Update
0000235Gameplay + OpenGL[All Projects] Bugpublic2017-02-11 19:09
Reporterrex 
Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
PlatformOSWindowsOS Version4 Pro
Summary0000235: Mass of Existing Actor Has Vanished
DescriptionThe Gargantua in Paranoid has a Mass 0xFFFFFFFFF in DECORATE. In v2.3.2 and earlier, the actor behaves properly. In gzdoom-x64-g2.4pre-387-gbe9b2b3 a single shotgun blast sends it sliding back dozens of feet along the floor. This suggests that the mass of this actor is being affected by the newest build.
Steps To Reproduce1. Start Paranoid using v2.3.2 and play against the Gargantua. It exhibits normal behavior.
2. Start Paranoid using gzdoom-x64-g2.4pre-387-gbe9b2b3 and play against the Gargantua. Shoot it with a lighter weapon, and see it being pushed back like it has no mass.
Additional InformationHappens on gzdoom-x64-g2.4pre-387-gbe9b2b3
Does not happen on v2.3.2
Does not happen with other land enemies (and none has a mass as great as the Gargantua)
TagsNo tags attached.

Relationships

Activities

Edward-san

Edward-san

2017-02-10 15:16

developer   ~0000496

Last edited: 2017-02-11 02:37

View 2 revisions

What happens if the mass is changed to 0x7FFFFFFF?

Graf Zahl

Graf Zahl

2017-02-10 16:15

administrator   ~0000497

The problem comes from mass being signed. 0xffffffff is a mass of -1, i.e. less than nothing.
Up to two weeks ago the ZScript parser clobbered any integer value larger than 0x8000000 on Windows because it used a signed int function that clamped the result if it got too large.

Sorry, can't revert because the old behavior was broken. You have to lower the mass to 0x7fffffff.
rex

rex

2017-02-10 19:51

reporter   ~0000498

That is a shitty solution. This behavior was consistent with the setup from 7 years ago. Basically, you're saying that you can't fix a problem that was created earlier. In other words, retroactive compatibility is the lowest priority. Not a way to promote a long-term way of doing business. While I respect your need to ensure no broken code going forward, this is basically fucking up anything that was previously developed in compliance with parameters of the game engine from an earlier era. I completely disagree, and will need to re-evaluate how I want to handle this.

For the record, I think that you're being dictatorial and don't give a fuck for retroactive compatibility. I realize you're on the Paranoiac Team, but you don't seem to be promoting the needs of this project. Regardless, thanks for your input.
rex

rex

2017-02-10 20:03

reporter   ~0000499

Incidentally, it turns out that this problem applies just to the Gargantua, so it might be a relatively easy fix.
rex

rex

2017-02-10 20:18

reporter   ~0000501

Incidentally, tried the 0x7FFFFFFFF, but the actor still seems to be pushed back significantly with a minor projectile attack. I thought this was an easy fix, but apparently not.
_mental_

_mental_

2017-02-11 00:57

developer   ~0000502

It should be 0x7FFFFFFF, with seven 'F' characters instead of eight.
rex

rex

2017-02-11 19:09

reporter   ~0000520

@ _mental_ and Edward-san: Thanks for giving me the proper definition. It works just as intended now.

Issue History

Date Modified Username Field Change
2017-02-10 11:13 rex New Issue
2017-02-10 15:16 Edward-san Status new => feedback
2017-02-10 15:16 Edward-san Note Added: 0000496
2017-02-10 16:15 Graf Zahl Note Added: 0000497
2017-02-10 16:15 Graf Zahl Status feedback => resolved
2017-02-10 16:15 Graf Zahl Resolution open => no change required
2017-02-10 19:51 rex Note Added: 0000498
2017-02-10 20:03 rex Note Added: 0000499
2017-02-10 20:18 rex Note Added: 0000501
2017-02-11 00:57 _mental_ Note Added: 0000502
2017-02-11 02:37 Edward-san Note Edited: 0000496 View Revisions
2017-02-11 19:09 rex Note Added: 0000520