- 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) May 4, 2006 (Changes by Graf Zahl)
- Converted A_Puzzleitems.cpp and parts of A_HexenSpecialdecs.cpp to DECORATE. - Converted A_Puzzleitems.cpp and parts of A_HexenSpecialdecs.cpp to DECORATE.
- Converted A_Hexendecorations.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; 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); Parts[i].OriginX, Parts[i].OriginY);
} }
if (Spans == NULL) Spans = CreateSpans (Pixels); if (Spans == NULL)
{
Spans = CreateSpans (Pixels);
}
} }
void FMultiPatchTexture::CheckForHacks () 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) while (tag != TAG_DONE)
{ {
va_list more_p; va_list *more_p;
DWORD data; DWORD data;
switch (tag) switch (tag)
@ -114,9 +114,9 @@ void STACK_ARGS DCanvas::DrawTexture (FTexture *img, int x0, int y0, DWORD tags_
break; break;
case TAG_MORE: case TAG_MORE:
more_p = va_arg (tags, va_list); more_p = va_arg (tags, va_list*);
va_end (tags); va_end (tags);
tags = more_p; tags = *more_p;
break; break;
case DTA_DestWidth: case DTA_DestWidth:

View file

@ -1082,7 +1082,10 @@ void FFontChar2::MakeTexture ()
I_FatalError ("The font %s is corrupt", name); I_FatalError ("The font %s is corrupt", name);
} }
if (Spans == NULL)
{
Spans = CreateSpans (Pixels); 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); const BYTE *range = Font->GetColorTranslation ((EColorRange)normalcolor);
va_list taglist; va_list taglist;
va_start (taglist, character); 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); 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) while (tag != TAG_DONE)
{ {
va_list more_p; va_list *more_p;
DWORD data; DWORD data;
void *ptrval; void *ptrval;
@ -137,10 +137,10 @@ void STACK_ARGS DCanvas::DrawText (int normalcolor, int x, int y, const char *st
break; break;
case TAG_MORE: case TAG_MORE:
more_p = va_arg (tags, va_list); more_p = va_arg (tags, va_list*);
va_end (tags); va_end (tags);
tags = more_p; tags = *more_p;
break;; break;
case DTA_DestWidth: case DTA_DestWidth:
case DTA_DestHeight: 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_list taglist;
va_start (taglist, string); 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); va_end (taglist);
} }
cx += (w + kerning) * scalex; cx += (w + kerning) * scalex;

View file

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