void HU_Start(void) { char *s = strdup(automaptitle); int len = strlen(s); if (headsupactive) HU_Stop(); plr = &players[0]; message_on = false; message_dontfuckwithme = false; message_nottobefuckedwith = false; // create the message widget HUlib_initSText(&w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, hu_font, HU_FONTSTART, &message_on); // create the map title widget HUlib_initTextLine(&w_title, HU_TITLEX, HU_TITLEY, hu_font, HU_FONTSTART); while (M_StringWidth(s) > ORIGINALWIDTH - 6) { s[len - 1] = s[len] = s[len + 1] = '.'; s[len + 2] = '\0'; --len; } while (*s) HUlib_addCharToTextLine(&w_title, *(s++)); headsupactive = true; hudnumoffset = (16 - SHORT(tallnum[0]->height)) / 2; }
void HU_Start(void) { int i; char* s; if (headsupactive) HU_Stop(); plr = &players[consoleplayer]; message_on = false; message_dontfuckwithme = false; message_nottobefuckedwith = false; chat_on = false; // create the message widget HUlib_initSText(&w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, hu_font, HU_FONTSTART, &message_on); // create the map title widget HUlib_initTextLine(&w_title, HU_TITLEX, HU_TITLEY, hu_font, HU_FONTSTART); if (commercial) s = HU_TITLE2; else s = HU_TITLE; while (*s) HUlib_addCharToTextLine(&w_title, *(s++)); // create the chat widget HUlib_initIText(&w_chat, HU_INPUTX, HU_INPUTY, hu_font, HU_FONTSTART, &chat_on); // create the inputbuffer widgets for (i=0 ; i<MAXPLAYERS ; i++) HUlib_initIText(&w_inputbuffer[i], 0, 0, 0, 0, &always_off); headsupactive = true; }
void HU_Start(void) { int i; char* s; if (headsupactive) HU_Stop(); plr = &players[consoleplayer]; message_on = false; message_dontfuckwithme = false; message_nottobefuckedwith = false; chat_on = false; // create the message widget HUlib_initSText(&w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, hu_font, HU_FONTSTART, &message_on); // create the map title widget HUlib_initTextLine(&w_title, HU_TITLEX, HU_TITLEY, hu_font, HU_FONTSTART); switch ( gamemission ) { case doom: s = HU_TITLE; break; case doom2: s = HU_TITLE2; break; case pack_plut: s = HU_TITLEP; break; case pack_tnt: s = HU_TITLET; break; default: s = "Unknown level"; break; } // Chex.exe always uses the episode 1 level title // eg. E2M1 gives the title for E1M1 if (gameversion == exe_chex) { s = HU_TITLE_CHEX; } // dehacked substitution to get modified level name s = DEH_String(s); while (*s) HUlib_addCharToTextLine(&w_title, *(s++)); // create the chat widget HUlib_initIText(&w_chat, HU_INPUTX, HU_INPUTY, hu_font, HU_FONTSTART, &chat_on); // create the inputbuffer widgets for (i=0 ; i<MAXPLAYERS ; i++) HUlib_initIText(&w_inputbuffer[i], 0, 0, 0, 0, &always_off); headsupactive = true; }
void HU_Start(void) { int i; char* s; if (headsupactive) HU_Stop(); plr = &players[consoleplayer]; message_on = false; message_dontfuckwithme = false; message_nottobefuckedwith = false; chat_on = false; // create the message widget HUlib_initSText(&w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, hu_font, HU_FONTSTART, &message_on); // create the map title widget HUlib_initTextLine(&w_title, HU_TITLEX, HU_TITLEY, hu_font, HU_FONTSTART); switch ( gamemode ) { case shareware: case registered: case retail: s = HU_TITLE; break; /* FIXME case pack_plut: s = HU_TITLEP; break; case pack_tnt: s = HU_TITLET; break; */ case commercial: default: s = HU_TITLE2; break; } while (*s) HUlib_addCharToTextLine(&w_title, *(s++)); // create the chat widget HUlib_initIText(&w_chat, HU_INPUTX, HU_INPUTY, hu_font, HU_FONTSTART, &chat_on); // create the inputbuffer widgets for (i=0 ; i<MAXPLAYERS ; i++) HUlib_initIText(&w_inputbuffer[i], 0, 0, 0, 0, &always_off); headsupactive = true; }
// // HU_Start(void) // // Create and initialize the heads-up widgets, software machines to // maintain, update, and display information over the primary display // // This routine must be called after any change to the heads up configuration // in order for the changes to take effect in the actual displays // // Passed nothing, returns nothing // void HU_Start(void) { int i; char* s; if (headsupactive) // stop before starting HU_Stop(); plr = &players[displayplayer]; // killough 3/7/98 message_on = false; message_dontfuckwithme = false; message_nottobefuckedwith = false; chat_on = false; // create the message widget // messages to player in upper-left of screen HUlib_initSText ( &w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, hu_font, HU_FONTSTART, colrngs[hudcolor_mesg], &message_on ); //jff 2/16/98 added some HUD widgets // create the map title widget - map title display in lower left of automap HUlib_initTextLine ( &w_title, HU_TITLEX, HU_TITLEY, hu_font, HU_FONTSTART, colrngs[hudcolor_titl] ); // create the hud health widget // bargraph and number for amount of health, // lower left or upper right of screen HUlib_initTextLine ( &w_health, hud_distributed? HU_HEALTHX_D : HU_HEALTHX, //3/4/98 distribute hud_distributed? HU_HEALTHY_D : HU_HEALTHY, hu_font2, HU_FONTSTART, colrngs[CR_GREEN] ); // create the hud armor widget // bargraph and number for amount of armor, // lower left or upper right of screen HUlib_initTextLine ( &w_armor, hud_distributed? HU_ARMORX_D : HU_ARMORX, //3/4/98 distribute hud_distributed? HU_ARMORY_D : HU_ARMORY, hu_font2, HU_FONTSTART, colrngs[CR_GREEN] ); // create the hud ammo widget // bargraph and number for amount of ammo for current weapon, // lower left or lower right of screen HUlib_initTextLine ( &w_ammo, hud_distributed? HU_AMMOX_D : HU_AMMOX, //3/4/98 distribute hud_distributed? HU_AMMOY_D : HU_AMMOY, hu_font2, HU_FONTSTART, colrngs[CR_GOLD] ); // create the hud weapons widget // list of numbers of weapons possessed // lower left or lower right of screen HUlib_initTextLine ( &w_weapon, hud_distributed? HU_WEAPX_D : HU_WEAPX, //3/4/98 distribute hud_distributed? HU_WEAPY_D : HU_WEAPY, hu_font2, HU_FONTSTART, colrngs[CR_GRAY] ); // create the hud keys widget // display of key letters possessed // lower left of screen HUlib_initTextLine ( &w_keys, hud_distributed? HU_KEYSX_D : HU_KEYSX, //3/4/98 distribute hud_distributed? HU_KEYSY_D : HU_KEYSY, hu_font2, HU_FONTSTART, colrngs[CR_GRAY] ); // create the hud graphic keys widget // display of key graphics possessed // lower left of screen HUlib_initTextLine ( &w_gkeys, hud_distributed? HU_KEYSGX_D : HU_KEYSGX, //3/4/98 distribute hud_distributed? HU_KEYSY_D : HU_KEYSY, hu_fontk, HU_FONTSTART, colrngs[CR_RED] ); // create the hud monster/secret widget // totals and current values for kills, items, secrets // lower left of screen HUlib_initTextLine ( &w_monsec, hud_distributed? HU_MONSECX_D : HU_MONSECX, //3/4/98 distribute hud_distributed? HU_MONSECY_D : HU_MONSECY, hu_font2, HU_FONTSTART, colrngs[CR_GRAY] ); // create the hud text refresh widget // scrolling display of last hud_msg_lines messages received if (hud_msg_lines>HU_MAXMESSAGES) hud_msg_lines=HU_MAXMESSAGES; //jff 4/21/98 if setup has disabled message list while active, turn it off message_list = hud_msg_lines > 1; //jff 8/8/98 initialize both ways //jff 2/26/98 add the text refresh widget initialization HUlib_initMText ( &w_rtext, 0, 0, SCREENWIDTH, (hud_msg_lines+2)*HU_REFRESHSPACING, hu_font, HU_FONTSTART, colrngs[hudcolor_list], hu_msgbg, &message_list ); // initialize the automap's level title widget switch (gamemode) { case shareware: case registered: case retail: s = HU_TITLE; break; case commercial: default: // Ty 08/27/98 - modified to check mission for TNT/Plutonia s = (gamemission==pack_tnt) ? HU_TITLET : (gamemission==pack_plut) ? HU_TITLEP : HU_TITLE2; break; } while (*s) HUlib_addCharToTextLine(&w_title, *(s++)); // create the automaps coordinate widget // jff 3/3/98 split coord widget into three lines: x,y,z // jff 2/16/98 added HUlib_initTextLine ( &w_coordx, HU_COORDX, HU_COORDX_Y, hu_font, HU_FONTSTART, colrngs[hudcolor_xyco] ); HUlib_initTextLine ( &w_coordy, HU_COORDX, HU_COORDY_Y, hu_font, HU_FONTSTART, colrngs[hudcolor_xyco] ); HUlib_initTextLine ( &w_coordz, HU_COORDX, HU_COORDZ_Y, hu_font, HU_FONTSTART, colrngs[hudcolor_xyco] ); // initialize the automaps coordinate widget //jff 3/3/98 split coordstr widget into 3 parts sprintf(hud_coordstrx,"X: %-5d",0); //jff 2/22/98 added z s = hud_coordstrx; while (*s) HUlib_addCharToTextLine(&w_coordx, *(s++)); sprintf(hud_coordstry,"Y: %-5d",0); //jff 3/3/98 split x,y,z s = hud_coordstry; while (*s) HUlib_addCharToTextLine(&w_coordy, *(s++)); sprintf(hud_coordstrz,"Z: %-5d",0); //jff 3/3/98 split x,y,z s = hud_coordstrz; while (*s) HUlib_addCharToTextLine(&w_coordz, *(s++)); //jff 2/16/98 initialize ammo widget strcpy(hud_ammostr,"AMM "); s = hud_ammostr; while (*s) HUlib_addCharToTextLine(&w_ammo, *(s++)); //jff 2/16/98 initialize health widget strcpy(hud_healthstr,"HEL "); s = hud_healthstr; while (*s) HUlib_addCharToTextLine(&w_health, *(s++)); //jff 2/16/98 initialize armor widget strcpy(hud_armorstr,"ARM "); s = hud_armorstr; while (*s) HUlib_addCharToTextLine(&w_armor, *(s++)); //jff 2/17/98 initialize weapons widget strcpy(hud_weapstr,"WEA "); s = hud_weapstr; while (*s) HUlib_addCharToTextLine(&w_weapon, *(s++)); //jff 2/17/98 initialize keys widget if (!deathmatch) //jff 3/17/98 show frags in deathmatch mode strcpy(hud_keysstr,"KEY "); else strcpy(hud_keysstr,"FRG "); s = hud_keysstr; while (*s) HUlib_addCharToTextLine(&w_keys, *(s++)); //jff 2/17/98 initialize graphic keys widget strcpy(hud_gkeysstr," "); s = hud_gkeysstr; while (*s) HUlib_addCharToTextLine(&w_gkeys, *(s++)); //jff 2/17/98 initialize kills/items/secret widget strcpy(hud_monsecstr,"STS "); s = hud_monsecstr; while (*s) HUlib_addCharToTextLine(&w_monsec, *(s++)); // create the chat widget HUlib_initIText ( &w_chat, HU_INPUTX, HU_INPUTY, hu_font, HU_FONTSTART, colrngs[hudcolor_chat], &chat_on ); // create the inputbuffer widgets, one per player for (i=0 ; i<MAXPLAYERS ; i++) HUlib_initIText ( &w_inputbuffer[i], 0, 0, 0, 0, colrngs[hudcolor_chat], &always_off ); // now allow the heads-up display to run headsupactive = true; }
void HU_Start(void) { int i; const char* s; if (::g->headsupactive) HU_Stop(); ::g->plr = &::g->players[::g->consoleplayer]; ::g->message_on = false; ::g->message_dontfuckwithme = false; ::g->message_nottobefuckedwith = false; ::g->chat_on = false; // create the message widget HUlib_initSText(&::g->w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, ::g->hu_font, HU_FONTSTART, &::g->message_on); // create the map title widget HUlib_initTextLine(&::g->w_title, HU_TITLEX, HU_TITLEY, ::g->hu_font, HU_FONTSTART); switch ( ::g->gamemode ) { case shareware: case registered: case retail: s = HU_TITLE; break; case commercial: default: if( DoomLib::expansionSelected == 5 ) { int map = ::g->gamemap; if( ::g->gamemap > 9 ) { map = 0; } s = DoomLib::GetCurrentExpansion()->mapNames[ map - 1 ]; } else { s = DoomLib::GetCurrentExpansion()->mapNames[ ::g->gamemap - 1 ]; } break; } while (*s) HUlib_addCharToTextLine(&::g->w_title, *(s++)); // create the chat widget HUlib_initIText(&::g->w_chat, HU_INPUTX, HU_INPUTY, ::g->hu_font, HU_FONTSTART, &::g->chat_on); // create the inputbuffer widgets for (i=0 ; i<MAXPLAYERS ; i++) HUlib_initIText(&::g->w_inputbuffer[i], 0, 0, 0, 0, &::g->always_off); ::g->headsupactive = true; }
void HU_Start(void) { int i; const char *s; if (headsupactive) HU_Stop(); plr = &players[consoleplayer]; message_on = false; message_dontfuckwithme = false; message_nottobefuckedwith = false; chat_on = false; // create the message widget HUlib_initSText(&w_message, HU_MSGX, HU_MSGY, HU_MSGHEIGHT, hu_font, HU_FONTSTART, &message_on); // create the map title widget HUlib_initTextLine(&w_title, HU_TITLEX, HU_TITLEY, hu_font, HU_FONTSTART); switch ( logical_gamemission ) { case doom: s = HU_TITLE; break; case doom2: s = HU_TITLE2; // Pre-Final Doom compatibility: map33-map35 names don't spill over if (gameversion <= exe_doom_1_9 && gamemap >= 33) { s = ""; } break; case pack_plut: s = HU_TITLEP; break; case pack_tnt: s = HU_TITLET; break; default: s = "Unknown level"; break; } if (logical_gamemission == doom && gameversion == exe_chex) { s = HU_TITLE_CHEX; } // dehacked substitution to get modified level name s = DEH_String(s); while (*s) HUlib_addCharToTextLine(&w_title, *(s++)); // create the chat widget HUlib_initIText(&w_chat, HU_INPUTX, HU_INPUTY, hu_font, HU_FONTSTART, &chat_on); // create the inputbuffer widgets for (i=0 ; i<MAXPLAYERS ; i++) HUlib_initIText(&w_inputbuffer[i], 0, 0, 0, 0, &always_off); headsupactive = true; }