2018-08-08 21:02:47 -07:00
|
|
|
// Copyright © 2016-2017 Graham Sanderson, all rights reserved.
|
|
|
|
#include "lith_common.h"
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#define DrawSpriteBegin(name) \
|
|
|
|
do { \
|
|
|
|
if(name[0] == ':') \
|
|
|
|
{ \
|
|
|
|
ACS_BeginPrint(); \
|
|
|
|
ACS_BeginPrint(); \
|
|
|
|
ACS_PrintString("LITH"); \
|
|
|
|
ACS_PrintString(name); \
|
|
|
|
ACS_PrintLocalized(ACS_EndStrParam()); \
|
|
|
|
ACS_SetFont(ACS_EndStrParam()); \
|
|
|
|
} \
|
|
|
|
else \
|
|
|
|
ACS_SetFont(name); \
|
|
|
|
ACS_BeginPrint(); \
|
|
|
|
ACS_PrintChar('a'); \
|
|
|
|
ACS_MoreHudMessage(); \
|
|
|
|
} while(0)
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSprite
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSprite(__str name, int flags, int id, fixed x, fixed y, fixed hold)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(flags|HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSpriteX
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSpriteX(__str name, int flags, int id, fixed x, fixed y, fixed hold, fixed a1)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(flags|HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage(a1);
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSpriteXX
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSpriteXX(__str name, int flags, int id, fixed x, fixed y, fixed hold, fixed a1, fixed a2)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(flags|HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage(a1, a2);
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSpriteXXX
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSpriteXXX(__str name, int flags, int id, fixed x, fixed y, fixed hold, fixed a1, fixed a2, fixed a3)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(flags|HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage(a1, a2, a3);
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSpritePlain
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSpritePlain(__str name, int id, fixed x, fixed y, fixed hold)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSpriteAlpha
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSpriteAlpha(__str name, int id, fixed x, fixed y, fixed hold, fixed alpha)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(HUDMSG_ALPHA|HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage(alpha);
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// DrawSpriteFade
|
|
|
|
//
|
2018-08-09 21:27:27 -07:00
|
|
|
stkcall void DrawSpriteFade(__str name, int id, fixed x, fixed y, fixed hold, fixed fadetime)
|
2018-08-08 21:02:47 -07:00
|
|
|
{
|
|
|
|
DrawSpriteBegin(name);
|
|
|
|
ACS_OptHudMessage(HUDMSG_FADEOUT|HUDMSG_NOTWITHFULLMAP, id, CR_UNTRANSLATED, x, y, hold);
|
|
|
|
ACS_EndHudMessage(fadetime);
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// HudMessage
|
|
|
|
//
|
|
|
|
void HudMessage(__str fmt, ...)
|
|
|
|
{
|
|
|
|
va_list vl;
|
|
|
|
|
|
|
|
ACS_BeginPrint();
|
|
|
|
|
|
|
|
va_start(vl, fmt);
|
|
|
|
__vnprintf_str(fmt, vl);
|
|
|
|
va_end(vl);
|
|
|
|
|
|
|
|
ACS_MoreHudMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// HudMessageRainbows
|
|
|
|
//
|
|
|
|
void HudMessageRainbows(__str fmt, ...)
|
|
|
|
{
|
|
|
|
static char const chars[] = {'g', 'i', 'k', 'd', 'h', 't', 'r'};
|
|
|
|
va_list vl;
|
|
|
|
|
|
|
|
ACS_BeginPrint();
|
|
|
|
|
|
|
|
ACS_PrintChar('\C');
|
|
|
|
ACS_PrintChar(chars[(ACS_Timer() / 4) % countof(chars)]);
|
|
|
|
|
|
|
|
va_start(vl, fmt);
|
|
|
|
__vnprintf_str(fmt, vl);
|
|
|
|
va_end(vl);
|
|
|
|
|
|
|
|
ACS_MoreHudMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// Log
|
|
|
|
//
|
|
|
|
void Log(__str fmt, ...)
|
|
|
|
{
|
|
|
|
va_list vl;
|
|
|
|
|
|
|
|
ACS_BeginPrint();
|
|
|
|
|
|
|
|
va_start(vl, fmt);
|
|
|
|
__vnprintf_str(fmt, vl);
|
|
|
|
va_end(vl);
|
|
|
|
|
|
|
|
ACS_EndLog();
|
|
|
|
}
|
|
|
|
|
|
|
|
//
|
|
|
|
// PrintBold
|
|
|
|
//
|
|
|
|
void PrintBold(__str fmt, ...)
|
|
|
|
{
|
|
|
|
va_list vl;
|
|
|
|
|
|
|
|
ACS_BeginPrint();
|
|
|
|
|
|
|
|
va_start(vl, fmt);
|
|
|
|
__vnprintf_str(fmt, vl);
|
|
|
|
va_end(vl);
|
|
|
|
|
|
|
|
ACS_EndPrintBold();
|
|
|
|
}
|
|
|
|
|
|
|
|
// EOF
|