- Changed TAG_MORE to pass a va_list pointer instead of a va_list because it's a

non-POD type when targeting several non-ix86 targets with GCC. Hopefully this works.


SVN r80 (trunk)
This commit is contained in:
Randy Heit 2006-05-06 00:54:41 +00:00
parent e78385f807
commit fd0c5a6db6
6 changed files with 40 additions and 14 deletions

View file

@ -1,3 +1,13 @@
May 5, 2006
- Changed TAG_MORE to pass a va_list pointer instead of a va_list because it's a
non-POD type when targeting several non-ix86 targets with GCC. Hopefully this works.
May 4, 2006
- Rewrote FName to use only POD types for its static data so that it can be used
without any explicit constructors being called.
- Fixed: ZTwinedTorchUnlit, ZWallTorchUnlit, ZFireBullUnlit, and ZCauldronUnlit
were missing game filters.
May 4, 2006 (Changes by Graf Zahl)
- Converted A_Puzzleitems.cpp and parts of A_HexenSpecialdecs.cpp to DECORATE.
- Converted A_Hexendecorations.cpp to DECORATE.

View file

@ -1746,7 +1746,10 @@ void FIMGZTexture::MakeTexture ()
}
}
if (Spans == NULL) Spans = CreateSpans (Pixels);
if (Spans == NULL)
{
Spans = CreateSpans (Pixels);
}
}
@ -1976,7 +1979,10 @@ void FPNGTexture::MakeTexture ()
delete[] oldpix;
}
}
if (Spans == NULL) Spans = CreateSpans (Pixels);
if (Spans == NULL)
{
Spans = CreateSpans (Pixels);
}
}
@ -2232,7 +2238,10 @@ void FMultiPatchTexture::MakeTexture ()
Parts[i].OriginX, Parts[i].OriginY);
}
if (Spans == NULL) Spans = CreateSpans (Pixels);
if (Spans == NULL)
{
Spans = CreateSpans (Pixels);
}
}
void FMultiPatchTexture::CheckForHacks ()

View file

@ -103,7 +103,7 @@ void STACK_ARGS DCanvas::DrawTexture (FTexture *img, int x0, int y0, DWORD tags_
while (tag != TAG_DONE)
{
va_list more_p;
va_list *more_p;
DWORD data;
switch (tag)
@ -114,9 +114,9 @@ void STACK_ARGS DCanvas::DrawTexture (FTexture *img, int x0, int y0, DWORD tags_
break;
case TAG_MORE:
more_p = va_arg (tags, va_list);
more_p = va_arg (tags, va_list*);
va_end (tags);
tags = more_p;
tags = *more_p;
break;
case DTA_DestWidth:

View file

@ -1082,7 +1082,10 @@ void FFontChar2::MakeTexture ()
I_FatalError ("The font %s is corrupt", name);
}
if (Spans == NULL)
{
Spans = CreateSpans (Pixels);
}
}
//===========================================================================

View file

@ -73,7 +73,7 @@ void STACK_ARGS DCanvas::DrawChar (int normalcolor, int x, int y, byte character
const BYTE *range = Font->GetColorTranslation ((EColorRange)normalcolor);
va_list taglist;
va_start (taglist, character);
DrawTexture (pic, x, y, DTA_Translation, range, TAG_MORE, taglist);
DrawTexture (pic, x, y, DTA_Translation, range, TAG_MORE, &taglist);
va_end (taglist);
}
}
@ -125,7 +125,7 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
while (tag != TAG_DONE)
{
va_list more_p;
va_list *more_p;
DWORD data;
void *ptrval;
@ -137,10 +137,10 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
break;
case TAG_MORE:
more_p = va_arg (tags, va_list);
more_p = va_arg (tags, va_list*);
va_end (tags);
tags = more_p;
break;;
tags = *more_p;
break;
case DTA_DestWidth:
case DTA_DestHeight:
@ -228,7 +228,7 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
{
va_list taglist;
va_start (taglist, string);
DrawTexture (pic, cx, cy, DTA_Translation, range, TAG_MORE, taglist);
DrawTexture (pic, cx, cy, DTA_Translation, range, TAG_MORE, &taglist);
va_end (taglist);
}
cx += (w + kerning) * scalex;

View file

@ -98,6 +98,7 @@ ACTOR ZTwinedTorch : SwitchableDecoration 116
ACTOR ZTwinedTorchUnlit : ZTwinedTorch 117
{
Game Hexen
States
{
Spawn:
@ -130,6 +131,7 @@ ACTOR ZWallTorch : SwitchableDecoration 54
ACTOR ZWallTorchUnlit : ZWallTorch 55
{
Game Hexen
States
{
Spawn:
@ -215,6 +217,7 @@ ACTOR ZFireBull : SwitchableDecoration 8042
ACTOR ZFireBullUnlit : ZFireBull 8043
{
Game Hexen
States
{
Spawn:
@ -276,8 +279,9 @@ ACTOR ZCauldron : SwitchableDecoration 8069
}
}
ACTOR AZCauldronUnlit : ZCauldron
ACTOR ZCauldronUnlit : ZCauldron
{
Game Hexen
States
{
Spawn: