New features (last update 8.8.2005)

Moderator: GZDoom Developers

User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48377
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Did you fix the friendly monster spawn bug mentioned in the Bugs forum and add my suggested fix for the inability to use PNGs in fonts?
User avatar
Grubber
Posts: 1031
Joined: Wed Oct 15, 2003 12:19 am
Location: Czech Republic

Post by Grubber »

Yes.

EDIT: Disk space appeared again, now you can download it.
User avatar
DoomRater
Posts: 8265
Joined: Wed Jul 28, 2004 8:21 am
Location: WATR HQ

Post by DoomRater »

What exactly does the FRIGHTENED flag do again? I read the description but all I got is something about anubis.
User avatar
Grubber
Posts: 1031
Joined: Wed Oct 15, 2003 12:19 am
Location: Czech Republic

Post by Grubber »

User avatar
Nmn
Posts: 4614
Joined: Fri Apr 16, 2004 1:41 pm

Post by Nmn »

Grubber wrote:Yes.

EDIT: Disk space appeared again, now you can download it.
:rock:
User avatar
HobbsTiger1
Posts: 1235
Joined: Fri Jan 07, 2005 7:29 pm
Location: #DMClub

Post by HobbsTiger1 »

Bug: DECORATE weapons do not use ammo. At all.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48377
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Indeed:

http://forum.zdoom.org/potato.php?p=156875#156875


Why hasn't this been fixed?


EDIT: Grubber tried to fix it but instead broke the code completely...
Last edited by Graf Zahl on Sun Aug 07, 2005 11:32 am, edited 1 time in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48377
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Found one more thing:

The code that checks the validity of a weapon referenced by weapon pieces doesn't contain my latest fix:

Code: Select all

				else if (!defaults->WeaponClass->IsDescendantOf(RUNTIME_CLASS(AWeapon)))
				{
					SC_ScriptError("Invalid weapon type '%s' in '%s'\n", StringTypes[v], ti->Name+1);
				}
That's line 3219 and following in thingdef.cpp.


Another thing that has been wrong for a few versions now is the A_SetBlend code pointer. This is *not* supposed to be limited to the palette. It is supposted to be able to handle *any* color.

Here's a fix:

1. Add to the argument parser in thingdef.cpp

Code: Select all

							case 'D':
							case 'd':
								SC_MustGetString ();
								v = V_GetColor (NULL, sc_String);
								break;

and replace A_SetBlend with:

Code: Select all

//===========================================================================
//
// A_SetBlend
//
//===========================================================================
void A_SetBlend(AActor * self)
{
	int index=CheckIndex(3);
	PalEntry color = StateParameters[index];;

	fixed_t alpha = EvalExpressionF (StateParameters[index+1], self) * FRACUNIT;
	int tics = EvalExpressionI (StateParameters[index+2], self);


	new DFlashFader(color.r/255.0f, color.g/255.0f, color.b/255.0f, alpha/(float)FRACUNIT,
					color.r/255.0f, color.g/255.0f, color.b/255.0f, 0, tics, self);
}
and change the line in the function table to

Code: Select all

	FUNC(A_SetBlend, "DXX")
Last edited by Graf Zahl on Sun Aug 07, 2005 11:36 am, edited 3 times in total.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48377
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

How about reverting the useammo parameter to an boolean constant with true as default as it was previously? I don't think such a minor thing is worth releasing one non-functional version after another...

And yes, the current code doesn't work at all. Have you ever tested it?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 48377
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Post by Graf Zahl »

Ok, I did some little debugging. And I found this in EvalConst:

Code: Select all

		else if (Type == EX_Compl || Type == EX_Not || /*Type == EX_Plus || */Type == EX_Minus)
		{
			if (Children[0]->Type == EX_Const)
			{
				Type = EX_Const;
				Value = EvalExpression (this, NULL);
			}
		}
which reliably trashes any useful information in this expression by overwriting its type before evaluating it. The type has to be set after evaluating the expression, not before it. This occurs in 2 places in the constant evaluator. Too bad that changing this makes the parser crash on other code because it exposes other bugs in it.

Bottom line: I strongly recommend to remove the expression parser completely. Without user variables its only real use right now is random values and that is not worth making the whole version this unstable.
User avatar
Talonos
Posts: 789
Joined: Mon May 03, 2004 7:08 am
Location: At college!

Post by Talonos »

You're the only person I know that quadruple posts and doesn't feel guilty.
User avatar
HobbsTiger1
Posts: 1235
Joined: Fri Jan 07, 2005 7:29 pm
Location: #DMClub

Post by HobbsTiger1 »

Talonos wrote:You're the only person I know that quadruple posts and doesn't feel guilty.
Hes the only person I know that can do it with good reason.

At any rate I'm sticking with the 29.07.05 version until this gets fixed. Because DECORATE weapons work in that version.
User avatar
DoomRater
Posts: 8265
Joined: Wed Jul 28, 2004 8:21 am
Location: WATR HQ

Post by DoomRater »

Off Topic: a splendid (and professional) usage of multiposting. This also re-notifies people of your topics so that they get the additional info, so it's actually quite helpful!

EDIT: Dang it two people posted in FRONT of me!
User avatar
DoomRater
Posts: 8265
Joined: Wed Jul 28, 2004 8:21 am
Location: WATR HQ

Post by DoomRater »

HobbsTiger1 wrote:At any rate I'm sticking with the 29.07.05 version until this gets fixed. Because DECORATE weapons work in that version.
Since I'm not sure if I have it, can you e-mail that to me? I'd like to make sure I have a working copy until Grubber fixes the ammo problem.
dennisj1
Posts: 399
Joined: Sun Jan 11, 2004 1:46 pm
Location: Superior, WI

Post by dennisj1 »

Why not merge the .96x features into Randy's 2.1.0 source?

Return to “Closed Feature Suggestions [GZDoom]”