[Fixed] [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Bugs that have been investigated and resolved somehow.

Moderator: Developers

[2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Yholl » Mon Jul 20, 2015 10:28 am

The RGF_CORPSES flag in A_RadiusGive doesn't appear to work at all right now. I need it to be able to recreate the skull items from DoomRL properly.
User avatar
Yholl
I will hit you with my Decorate.
 
Joined: 17 Dec 2012
Location: Here, stupid.

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Major Cooke » Mon Jul 20, 2015 3:55 pm

Pre-dead corpses or monsters that were actually killed?

Pre-dead monsters don't have the +CORPSE flag (see Skip_Super).
User avatar
Major Cooke
Slaughterer of Sewers
 
Joined: 28 Jan 2007
Discord: Major Cooke#0846

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Yholl » Mon Jul 20, 2015 4:38 pm

Major Cooke wrote:Pre-dead corpses or monsters that were actually killed?

Pre-dead monsters don't have the +CORPSE flag (see Skip_Super).

Killed, I know about how the pre-dead ones are. I spawn imps, kill imps, and the RadiusGive has no effect on them. Changing the flag from the corpse flag to the monster flag, and using it on living monsters works fine, using the corpse flag on dead ones doesn't work at all.
User avatar
Yholl
I will hit you with my Decorate.
 
Joined: 17 Dec 2012
Location: Here, stupid.

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby edward850 » Tue Jul 21, 2015 12:18 am

Lacking an example, I can't actually test this, but I have noticed a potential logical hole. While all monsters can have MF_CORPSE, so can anything that dies with a raise state (thanks Batman Doom), and players.
More over, RGF_CORPSES on its own wont actually include anything, so you still need to check for another flag type. RGF_MONSTERS is required to check for all corpses of monsters, but the kicker here is it also means that normal monsters are also inclusive. Something tells me this isn't what you want, and the flag check logic here is rather poorly designed.

... Almost as if it was never actually tested.
User avatar
edward850
[netcode intensifies]
 
Joined: 19 Jul 2005
Location: New Zealand

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Graf Zahl » Tue Jul 21, 2015 1:05 am

Poorly designed indeed. The fact that all checks are for exclusion, not inclusion means that there's basically no way to change this.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Major Cooke » Tue Jul 21, 2015 2:42 pm

Would remaking the function as another work better, or would that just be a waste of time? I.e. A_RadiusGive2 or A_RadiusGiveEx... It's something I'd very much like to fix but it appears that would be the only course of action if we want to avoid breaking anything.
User avatar
Major Cooke
Slaughterer of Sewers
 
Joined: 28 Jan 2007
Discord: Major Cooke#0846

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby NeuralStunner » Tue Jul 21, 2015 2:44 pm

I'm all for an improved remake, especially if it actually does work just like A_Explode.
User avatar
NeuralStunner
Worldcrafter
 
 
 
Joined: 21 Jul 2009
Location: A Dynamic Link Library

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Major Cooke » Tue Jul 21, 2015 3:13 pm

Agreed, but couple things. First, I'm going to ensure I don't waste time if Graf doesn't approve, or Randi. Second, even if approved, don't expect the pull request to be merged anytime soon.
User avatar
Major Cooke
Slaughterer of Sewers
 
Joined: 28 Jan 2007
Discord: Major Cooke#0846

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby phantombeta » Tue Jul 21, 2015 3:40 pm

NeuralStunner wrote:I'm all for an improved remake, especially if it actually does work just like A_Explode.

I asked Edward850 to take a look at that bug.
Code: Select allExpand view
[...] [02:51.32 AM] <@Edward850> The bounding box iteration is just a blockmap. Distance checks are still needed, and explosions do actually check the radius. [...]
[...] [02:55.18 AM] <@Edward850> I think what I might do if I get the chance to look at this tonight, is actually just make common functions between these two... uhm... functions. [...]

[edit]I think a new function should not be made...
A_RadiusGive is completely broken and the current implementation should be deleted and replaced with a rewritten version of the function. Compatibility doesn't even matter, the function doesn't even work like it's supposed to so it should be completely rewritten.[/edit]
User avatar
phantombeta
In the meadow of sinful thoughts, every flower's a perfect one
 
Joined: 02 May 2013
Location: The United Soviet Socialist Dictatorship of Hueland (BRASIL CARAI)
Discord: phantombeta#2461

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Beed28 » Tue Jul 21, 2015 3:51 pm

I'm up for it being rewritten. If the new one can be made to actually work with a mad-wide radius, I wouldn't need to use such a hacky method in Doom: Megabounce. Also, if it's going to be completely rewritten, would it be possible to make it work with RGF_ITEMS, or would that still be impossible?
User avatar
Beed28
Making entire worlds bounce up and down.
 
Joined: 24 Feb 2013
Location: United Kingdom

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby NeuralStunner » Tue Jul 21, 2015 5:41 pm

phantombeta wrote:I asked Edward850 to take a look at that bug.
Ah, cool. I was going to mention it to him myself but never got around to it. (Been taking a break from ZDoom for the most part, lately.)
User avatar
NeuralStunner
Worldcrafter
 
 
 
Joined: 21 Jul 2009
Location: A Dynamic Link Library

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby edward850 » Tue Jul 21, 2015 7:34 pm

Well if it's being rewritten there really isn't much for me to do anymore. :P
User avatar
edward850
[netcode intensifies]
 
Joined: 19 Jul 2005
Location: New Zealand

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Edward-san » Wed Jul 22, 2015 1:53 am

edward850 wrote:While all monsters can have MF_CORPSE, so can anything that dies with a raise state (thanks Batman Doom), and players.
More over [...]


Uh, I miss the meaning of that sentence, as there isn't the grammatical main clause.
Edward-san
Mathematics is the language with which God has written the universe. (Galilei)
 
Joined: 17 Oct 2009

Re: [2.8pre-1675-g7be6041] RGF_CORPSES does nothing.

Postby Major Cooke » Wed Jul 22, 2015 4:57 pm

User avatar
Major Cooke
Slaughterer of Sewers
 
Joined: 28 Jan 2007
Discord: Major Cooke#0846


Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 1 guest