Call HUD_init_message_va directly from powerup_basic
This commit is contained in:
parent
2b20eeb6e2
commit
6aada62c4d
24
main/hud.c
24
main/hud.c
|
@ -112,10 +112,23 @@ void HUD_render_message_frame()
|
|||
gr_set_curfont( GAME_FONT );
|
||||
}
|
||||
|
||||
static int is_worth_showing(int class_flag)
|
||||
{
|
||||
if (PlayerCfg.NoRedundancy && (class_flag & HM_REDUNDANT))
|
||||
return 0;
|
||||
|
||||
if (PlayerCfg.MultiMessages && (Game_mode & GM_MULTI) && !(class_flag & HM_MULTI))
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Call to flash a message on the HUD. Returns true if message drawn.
|
||||
// (message might not be drawn if previous message was same)
|
||||
int HUD_init_message_va(int class_flag, char * format, va_list args)
|
||||
int HUD_init_message_va(int class_flag, const char * format, va_list args)
|
||||
{
|
||||
if (!is_worth_showing(class_flag))
|
||||
return 0;
|
||||
|
||||
int i, j;
|
||||
#ifndef macintosh
|
||||
char message[HUD_MESSAGE_LENGTH+1] = "";
|
||||
|
@ -177,18 +190,11 @@ int HUD_init_message_va(int class_flag, char * format, va_list args)
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
int HUD_init_message(int class_flag, char * format, ... )
|
||||
int HUD_init_message(int class_flag, const char * format, ... )
|
||||
{
|
||||
int ret;
|
||||
va_list args;
|
||||
|
||||
if (PlayerCfg.NoRedundancy && class_flag & HM_REDUNDANT)
|
||||
return 0;
|
||||
|
||||
if (PlayerCfg.MultiMessages && Game_mode & GM_MULTI && !(class_flag & HM_MULTI))
|
||||
return 0;
|
||||
|
||||
va_start(args, format);
|
||||
ret = HUD_init_message_va(class_flag, format, args);
|
||||
va_end(args);
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _HUD_MSG_H
|
||||
#define _HUD_MSG_H
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#define HUD_MESSAGE_LENGTH 150
|
||||
#define HUD_MAX_NUM_DISP 4
|
||||
#define HUD_MAX_NUM_STOR 20
|
||||
|
@ -14,6 +16,7 @@
|
|||
extern int HUD_toolong;
|
||||
extern void HUD_clear_messages();
|
||||
extern void HUD_render_message_frame();
|
||||
extern int HUD_init_message(int class_flag, char * format, ... );
|
||||
int HUD_init_message(int class_flag, const char * format, ... );
|
||||
int HUD_init_message_va(int class_flag, const char * format, va_list args);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -130,17 +130,14 @@ void draw_powerup(object *obj)
|
|||
|
||||
void powerup_basic(int redadd, int greenadd, int blueadd, int score, const char *format, ...)
|
||||
{
|
||||
char text[120];
|
||||
va_list args;
|
||||
|
||||
va_start(args, format );
|
||||
vsprintf(text, format, args);
|
||||
HUD_init_message_va(HM_DEFAULT, format, args);
|
||||
va_end(args);
|
||||
|
||||
PALETTE_FLASH_ADD(redadd,greenadd,blueadd);
|
||||
|
||||
HUD_init_message(HM_DEFAULT, "%s", text);
|
||||
|
||||
add_points_to_score(score);
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue