mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-10 23:32:09 +00:00
[client] Implement hipnotic and rogue weapon views
The functionality of the hipnotic and rogue weapon power-ups is now done by a various mappings instead of separate functions. In theory, this should make things more flexible, but most importantly, there's a lot less code duplication.
This commit is contained in:
parent
017bba8869
commit
a91ae7aeb9
1 changed files with 101 additions and 192 deletions
|
@ -214,6 +214,7 @@ static view_def_t sbar_defs[] = {
|
||||||
{0, { 0, 0, 24, 24}, grav_northwest, &sbar_ammo, 4, 24, 0},
|
{0, { 0, 0, 24, 24}, grav_northwest, &sbar_ammo, 4, 24, 0},
|
||||||
{0, { 0, 0, 16, 16}, grav_northwest, &sbar_items, 6, 16, 0},
|
{0, { 0, 0, 16, 16}, grav_northwest, &sbar_items, 6, 16, 0},
|
||||||
{0, { 0, 0, 24, 16}, grav_northwest, &sbar_weapons, 7, 24, 0},
|
{0, { 0, 0, 24, 16}, grav_northwest, &sbar_weapons, 7, 24, 0},
|
||||||
|
{0, { 0, 0,176, 16}, grav_northwest, &sbar_weapons, 2, 24, 0},
|
||||||
{0, { 0, 0, 24, 24}, grav_northwest, &sbar_health, 3, 24, 0},
|
{0, { 0, 0, 24, 24}, grav_northwest, &sbar_health, 3, 24, 0},
|
||||||
{0, {10, 0, 24, 8}, grav_northwest, &sbar_miniammo, 4, 48, 0},
|
{0, {10, 0, 24, 8}, grav_northwest, &sbar_miniammo, 4, 48, 0},
|
||||||
|
|
||||||
|
@ -276,7 +277,11 @@ static qpic_t *sb_sbar;
|
||||||
static qpic_t *sb_scorebar;
|
static qpic_t *sb_scorebar;
|
||||||
|
|
||||||
// 0 is active, 1 is owned, 2-6 are flashes
|
// 0 is active, 1 is owned, 2-6 are flashes
|
||||||
static hud_subpic_t sb_weapons[7][8];
|
// 0-6 id, 7-9 hip (laser, mjolnir, prox), 7-11 rogue powerups
|
||||||
|
static int sb_weapon_count;
|
||||||
|
static int sb_weapon_view_count;
|
||||||
|
static int sb_game;
|
||||||
|
static hud_subpic_t sb_weapons[7][12];
|
||||||
static qpic_t *sb_ammo[4];
|
static qpic_t *sb_ammo[4];
|
||||||
static qpic_t *sb_sigil[4];
|
static qpic_t *sb_sigil[4];
|
||||||
static qpic_t *sb_armor[3];
|
static qpic_t *sb_armor[3];
|
||||||
|
@ -296,17 +301,12 @@ static qboolean sb_showteamscores;
|
||||||
static int sb_lines; // scan lines to draw
|
static int sb_lines; // scan lines to draw
|
||||||
|
|
||||||
static qpic_t *rsb_invbar[2];
|
static qpic_t *rsb_invbar[2];
|
||||||
static qpic_t *rsb_weapons[5];
|
|
||||||
static qpic_t *rsb_items[2];
|
static qpic_t *rsb_items[2];
|
||||||
static qpic_t *rsb_ammo[3];
|
static qpic_t *rsb_ammo[3];
|
||||||
static qpic_t *rsb_teambord; // PGM 01/19/97 - team color border
|
static qpic_t *rsb_teambord; // PGM 01/19/97 - team color border
|
||||||
|
|
||||||
// MED 01/04/97 added two more weapons + 3
|
// MED 01/04/97 added two more weapons + 3
|
||||||
// alternates for grenade launcher
|
// alternates for grenade launcher
|
||||||
static qpic_t *hsb_weapons[7][5]; // 0 is active, 1 is owned, 2-5 are flashes
|
|
||||||
|
|
||||||
// MED 01/04/97 added array to simplify
|
|
||||||
// weapon parsing
|
|
||||||
//static int hipweapons[4] =
|
//static int hipweapons[4] =
|
||||||
// { HIT_LASER_CANNON_BIT, HIT_MJOLNIR_BIT, 4, HIT_PROXIMITY_GUN_BIT };
|
// { HIT_LASER_CANNON_BIT, HIT_MJOLNIR_BIT, 4, HIT_PROXIMITY_GUN_BIT };
|
||||||
qpic_t *hsb_items[2]; // MED 01/04/97 added hipnotic items array
|
qpic_t *hsb_items[2]; // MED 01/04/97 added hipnotic items array
|
||||||
|
@ -486,14 +486,38 @@ static void
|
||||||
draw_weapons (view_t view)
|
draw_weapons (view_t view)
|
||||||
{
|
{
|
||||||
int flashon, i;
|
int flashon, i;
|
||||||
|
static byte view_map[2][12] = {
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 4 }, // id/hipnotic
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6 }, // rogue
|
||||||
|
};
|
||||||
|
static byte item_map[2][12] = {
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, // id/hipnotic
|
||||||
|
HIT_LASER_CANNON_BIT, HIT_MJOLNIR_BIT, HIT_PROXIMITY_GUN_BIT },
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 12, 13, 14, 15, 16 }, // rogue
|
||||||
|
};
|
||||||
|
static int active_map[2][12] = {
|
||||||
|
{ [9] = HIT_PROXIMITY_GUN }, // id/hipnotic
|
||||||
|
{ [7] = RIT_LAVA_NAILGUN,
|
||||||
|
[8] = RIT_LAVA_SUPER_NAILGUN,
|
||||||
|
[9] = RIT_MULTI_GRENADE,
|
||||||
|
[10] = RIT_MULTI_ROCKET,
|
||||||
|
[11] = RIT_PLASMA_GUN,
|
||||||
|
}, // rogue
|
||||||
|
};
|
||||||
|
|
||||||
for (i = 0; i < 7; i++) {
|
for (i = 0; i < sb_weapon_count; i++) {
|
||||||
view_t weap = View_GetChild (view, i);
|
view_t weap = View_GetChild (view, view_map[sb_game][i]);
|
||||||
if (sbar_stats[STAT_ITEMS] & (IT_SHOTGUN << i)) {
|
int mask = 1 << item_map[sb_game][i];
|
||||||
flashon = calc_flashon (sbar_item_gettime[i], IT_SHOTGUN << i, 2);
|
float time = sbar_item_gettime[item_map[sb_game][i]];
|
||||||
if (flashon > 1)
|
int active = active_map[sb_game][i];
|
||||||
sb_updates = 0; // force update to remove flash
|
|
||||||
sbar_setcomponent (weap, hud_subpic, &sb_weapons[flashon][i]);
|
if (sbar_stats[STAT_ITEMS] & mask) {
|
||||||
|
if ((sbar_stats[STAT_ACTIVEWEAPON] & active) == active) {
|
||||||
|
flashon = calc_flashon (time, mask, 2);
|
||||||
|
if (flashon > 1)
|
||||||
|
sb_updates = 0; // force update to remove flash
|
||||||
|
sbar_setcomponent (weap, hud_subpic, &sb_weapons[flashon][i]);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
sbar_remcomponent (weap, hud_subpic);
|
sbar_remcomponent (weap, hud_subpic);
|
||||||
}
|
}
|
||||||
|
@ -998,52 +1022,6 @@ draw_status (view_t *view)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void __attribute__((used))
|
|
||||||
draw_rogue_weapons_sbar (view_t *view)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
int i;
|
|
||||||
|
|
||||||
draw_weapons_sbar (view);
|
|
||||||
|
|
||||||
// check for powered up weapon.
|
|
||||||
if (sbar_stats[STAT_ACTIVEWEAPON] >= RIT_LAVA_NAILGUN) {
|
|
||||||
for (i = 0; i < 5; i++) {
|
|
||||||
if (sbar_stats[STAT_ACTIVEWEAPON] == (RIT_LAVA_NAILGUN << i)) {
|
|
||||||
draw_pic (view, (i + 2) * 24, 0, rsb_weapons[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((used))
|
|
||||||
draw_rogue_weapons_hud (view_t *view)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
int flashon, i, j;
|
|
||||||
qpic_t *pic;
|
|
||||||
|
|
||||||
for (i = cl_screen_view->ylen < 204; i < 7; i++) {
|
|
||||||
if (sbar_stats[STAT_ITEMS] & (IT_SHOTGUN << i)) {
|
|
||||||
flashon = calc_flashon (sbar_item_gettime[i], IT_SHOTGUN << i, 2);
|
|
||||||
if (i >= 2) {
|
|
||||||
j = i - 2;
|
|
||||||
if (sbar_stats[STAT_ACTIVEWEAPON] == (RIT_LAVA_NAILGUN << j))
|
|
||||||
pic = rsb_weapons[j];
|
|
||||||
else
|
|
||||||
pic = sb_weapons[flashon][i];
|
|
||||||
} else {
|
|
||||||
pic = sb_weapons[flashon][i];
|
|
||||||
}
|
|
||||||
draw_subpic (view, 0, i * 16, pic, 0, 0, 24, 16);
|
|
||||||
if (flashon > 1)
|
|
||||||
sb_updates = 0; // force update to remove flash
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((used))
|
static void __attribute__((used))
|
||||||
draw_rogue_ammo_hud (view_t *view)
|
draw_rogue_ammo_hud (view_t *view)
|
||||||
{
|
{
|
||||||
|
@ -1163,84 +1141,6 @@ draw_rogue_status (view_t *view)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __attribute__((used))
|
|
||||||
draw_hipnotic_weapons_sbar (view_t *view)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
static int x[] = {0, 24, 48, 72, 96, 120, 144, 176, 200, 96};
|
|
||||||
static int h[] = {0, 1, 3};
|
|
||||||
int flashon, i;
|
|
||||||
qpic_t *pic;
|
|
||||||
int mask;
|
|
||||||
float time;
|
|
||||||
|
|
||||||
for (i = 0; i < 10; i++) {
|
|
||||||
if (i < 7) {
|
|
||||||
mask = IT_SHOTGUN << i;
|
|
||||||
time = sbar_item_gettime[i];
|
|
||||||
} else {
|
|
||||||
mask = 1 << hipweapons[h[i - 7]];
|
|
||||||
time = sbar_item_gettime[hipweapons[h[i - 7]]];
|
|
||||||
}
|
|
||||||
if (sbar_stats[STAT_ITEMS] & mask) {
|
|
||||||
flashon = calc_flashon (time, mask, 2);
|
|
||||||
|
|
||||||
if (i == 4 && sbar_stats[STAT_ACTIVEWEAPON] == (1 << hipweapons[3]))
|
|
||||||
continue;
|
|
||||||
if (i == 9 && sbar_stats[STAT_ACTIVEWEAPON] != (1 << hipweapons[3]))
|
|
||||||
continue;
|
|
||||||
if (i < 7) {
|
|
||||||
pic = sb_weapons[flashon][i];
|
|
||||||
} else {
|
|
||||||
pic = hsb_weapons[flashon][h[i - 7]];
|
|
||||||
}
|
|
||||||
|
|
||||||
draw_subpic (view, x[i], 0, pic, 0, 0, 24, 16);
|
|
||||||
|
|
||||||
if (flashon > 1)
|
|
||||||
sb_updates = 0; // force update to remove flash
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((used))
|
|
||||||
draw_hipnotic_weapons_hud (view_t *view)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
int flashon, i;
|
|
||||||
static int y[] = {0, 16, 32, 48, 64, 96, 112, 128, 144, 80};
|
|
||||||
static int h[] = {0, 1, 3};
|
|
||||||
qpic_t *pic;
|
|
||||||
int mask;
|
|
||||||
float time;
|
|
||||||
|
|
||||||
for (i = 0; i < 10; i++) {
|
|
||||||
if (i < 7) {
|
|
||||||
mask = IT_SHOTGUN << i;
|
|
||||||
time = sbar_item_gettime[i];
|
|
||||||
} else {
|
|
||||||
mask = 1 << hipweapons[h[i - 7]];
|
|
||||||
time = sbar_item_gettime[hipweapons[h[i - 7]]];
|
|
||||||
}
|
|
||||||
if (sbar_stats[STAT_ITEMS] & mask) {
|
|
||||||
flashon = calc_flashon (time, mask, 2);
|
|
||||||
|
|
||||||
if (i < 7) {
|
|
||||||
pic = sb_weapons[flashon][i];
|
|
||||||
} else {
|
|
||||||
pic = hsb_weapons[flashon][h[i - 7]];
|
|
||||||
}
|
|
||||||
|
|
||||||
draw_subpic (view, 0, y[i], pic, 0, 0, 24, 16);
|
|
||||||
|
|
||||||
if (flashon > 1)
|
|
||||||
sb_updates = 0; // force update to remove flash
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void __attribute__((used))
|
static void __attribute__((used))
|
||||||
draw_hipnotic_items (view_t *view)
|
draw_hipnotic_items (view_t *view)
|
||||||
{
|
{
|
||||||
|
@ -2231,10 +2131,12 @@ set_hud_sbar (void)
|
||||||
View_SetLen (sbar_miniammo, 202, 8);
|
View_SetLen (sbar_miniammo, 202, 8);
|
||||||
View_SetGravity (sbar_miniammo, grav_northwest);
|
View_SetGravity (sbar_miniammo, grav_northwest);
|
||||||
|
|
||||||
for (int i = 0; i < 7; i++) {
|
int x = 0;
|
||||||
|
for (int i = 0; i < sb_weapon_view_count; i++) {
|
||||||
v = View_GetChild (sbar_weapons, i);
|
v = View_GetChild (sbar_weapons, i);
|
||||||
View_SetPos (v, i * 24, 0);
|
View_SetPos (v, x, 0);
|
||||||
View_SetLen (v, 24 + 24 * (i == 6), 16);
|
View_SetLen (v, sb_weapons[0][i].pic->width, 16);
|
||||||
|
x += sb_weapons[0][i].pic->width;
|
||||||
|
|
||||||
if (sbar_hascomponent (v, hud_subpic)) {
|
if (sbar_hascomponent (v, hud_subpic)) {
|
||||||
hud_subpic_t *subpic = sbar_getcomponent(v, hud_subpic);
|
hud_subpic_t *subpic = sbar_getcomponent(v, hud_subpic);
|
||||||
|
@ -2248,7 +2150,7 @@ set_hud_sbar (void)
|
||||||
sbar_remcomponent (v, hud_subpic);
|
sbar_remcomponent (v, hud_subpic);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 7; i++) {
|
for (int i = 0; i < 7; i++) {
|
||||||
for (int j = 0; j < 8; j++) {
|
for (int j = 0; j < sb_weapon_view_count; j++) {
|
||||||
if (sb_weapons[i][j].pic) {
|
if (sb_weapons[i][j].pic) {
|
||||||
sb_weapons[i][j].w = sb_weapons[i][j].pic->width;
|
sb_weapons[i][j].w = sb_weapons[i][j].pic->width;
|
||||||
sb_weapons[i][j].h = sb_weapons[i][j].pic->height;
|
sb_weapons[i][j].h = sb_weapons[i][j].pic->height;
|
||||||
|
@ -2263,16 +2165,16 @@ set_hud_sbar (void)
|
||||||
} else {
|
} else {
|
||||||
View_SetParent (sbar_armament, hud_view);
|
View_SetParent (sbar_armament, hud_view);
|
||||||
View_SetPos (sbar_armament, 0, 48);
|
View_SetPos (sbar_armament, 0, 48);
|
||||||
View_SetLen (sbar_armament, 42, 156);
|
View_SetLen (sbar_armament, 42, 44 + 16 * sb_weapon_view_count);
|
||||||
View_SetGravity (sbar_armament, grav_southeast);
|
View_SetGravity (sbar_armament, grav_southeast);
|
||||||
|
|
||||||
View_SetLen (sbar_weapons, 24, 112);
|
View_SetLen (sbar_weapons, 24, 16 * sb_weapon_view_count);
|
||||||
View_SetGravity (sbar_weapons, grav_northeast);
|
View_SetGravity (sbar_weapons, grav_northeast);
|
||||||
|
|
||||||
View_SetLen (sbar_miniammo, 42, 44);
|
View_SetLen (sbar_miniammo, 42, 44);
|
||||||
View_SetGravity (sbar_miniammo, grav_southeast);
|
View_SetGravity (sbar_miniammo, grav_southeast);
|
||||||
|
|
||||||
for (int i = 0; i < 7; i++) {
|
for (int i = 0; i < sb_weapon_view_count; i++) {
|
||||||
v = View_GetChild (sbar_weapons, i);
|
v = View_GetChild (sbar_weapons, i);
|
||||||
View_SetPos (v, 0, i * 16);
|
View_SetPos (v, 0, i * 16);
|
||||||
View_SetLen (v, 24, 16);
|
View_SetLen (v, 24, 16);
|
||||||
|
@ -2290,7 +2192,7 @@ set_hud_sbar (void)
|
||||||
sbar_setcomponent (v, hud_subpic, &subpic);
|
sbar_setcomponent (v, hud_subpic, &subpic);
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 7; i++) {
|
for (int i = 0; i < 7; i++) {
|
||||||
for (int j = 0; j < 8; j++) {
|
for (int j = 0; j < sb_weapon_view_count; j++) {
|
||||||
if (sb_weapons[i][j].pic) {
|
if (sb_weapons[i][j].pic) {
|
||||||
sb_weapons[i][j].w = 24;
|
sb_weapons[i][j].w = 24;
|
||||||
sb_weapons[i][j].h = sb_weapons[i][j].pic->height;
|
sb_weapons[i][j].h = sb_weapons[i][j].pic->height;
|
||||||
|
@ -2424,10 +2326,10 @@ init_sbar_views (void)
|
||||||
solo_name = Draw_CreateBuffer (20, 1);
|
solo_name = Draw_CreateBuffer (20, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
static void
|
static void
|
||||||
init_hipnotic_sbar_views (void)
|
init_hipnotic_sbar_views (void)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
view_t *view;
|
view_t *view;
|
||||||
|
|
||||||
sbar_view = view_new (0, 0, 320, 48, grav_south);
|
sbar_view = view_new (0, 0, 320, 48, grav_south);
|
||||||
|
@ -2480,13 +2382,13 @@ init_hipnotic_sbar_views (void)
|
||||||
view->resize_y = 1;
|
view->resize_y = 1;
|
||||||
view_add (sbar_view, view);
|
view_add (sbar_view, view);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
static void
|
static void
|
||||||
init_hipnotic_hud_views (void)
|
init_hipnotic_hud_views (void)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
view_t *view;
|
view_t *view;
|
||||||
|
|
||||||
hud_view = view_new (0, 0, 320, 48, grav_south);
|
hud_view = view_new (0, 0, 320, 48, grav_south);
|
||||||
|
@ -2536,13 +2438,13 @@ init_hipnotic_hud_views (void)
|
||||||
view_add (hud_view, hud_armament_view);
|
view_add (hud_view, hud_armament_view);
|
||||||
|
|
||||||
view_insert (hud_main_view, hud_view, 0);
|
view_insert (hud_main_view, hud_view, 0);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
static void
|
static void
|
||||||
init_rogue_sbar_views (void)
|
init_rogue_sbar_views (void)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
view_t *view;
|
view_t *view;
|
||||||
|
|
||||||
sbar_view = view_new (0, 0, 320, 48, grav_south);
|
sbar_view = view_new (0, 0, 320, 48, grav_south);
|
||||||
|
@ -2591,13 +2493,13 @@ init_rogue_sbar_views (void)
|
||||||
view->resize_y = 1;
|
view->resize_y = 1;
|
||||||
view_add (sbar_view, view);
|
view_add (sbar_view, view);
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
static void
|
static void
|
||||||
init_rogue_hud_views (void)
|
init_rogue_hud_views (void)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
view_t *view;
|
view_t *view;
|
||||||
|
|
||||||
hud_view = view_new (0, 0, 320, 48, grav_south);
|
hud_view = view_new (0, 0, 320, 48, grav_south);
|
||||||
|
@ -2638,8 +2540,8 @@ init_rogue_hud_views (void)
|
||||||
view_add (hud_view, hud_armament_view);
|
view_add (hud_view, hud_armament_view);
|
||||||
|
|
||||||
view_insert (hud_main_view, hud_view, 0);
|
view_insert (hud_main_view, hud_view, 0);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_views (void)
|
init_views (void)
|
||||||
|
@ -2669,15 +2571,7 @@ init_views (void)
|
||||||
sb_spectator = Draw_CreateBuffer (11, 1);
|
sb_spectator = Draw_CreateBuffer (11, 1);
|
||||||
write_charbuff (sb_spectator, 0, 0, "(spectator)");
|
write_charbuff (sb_spectator, 0, 0, "(spectator)");
|
||||||
|
|
||||||
if (!strcmp (qfs_gamedir->hudtype, "hipnotic")) {
|
init_sbar_views ();
|
||||||
init_hipnotic_sbar_views ();
|
|
||||||
init_hipnotic_hud_views ();
|
|
||||||
} else if (!strcmp (qfs_gamedir->hudtype, "rogue")) {
|
|
||||||
init_rogue_sbar_views ();
|
|
||||||
init_rogue_hud_views ();
|
|
||||||
} else {
|
|
||||||
init_sbar_views ();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -2735,14 +2629,6 @@ load_pics (void)
|
||||||
sb_weapons[2 + i][6].pic =
|
sb_weapons[2 + i][6].pic =
|
||||||
r_funcs->Draw_PicFromWad (va (0, "inva%i_lightng", i + 1));
|
r_funcs->Draw_PicFromWad (va (0, "inva%i_lightng", i + 1));
|
||||||
}
|
}
|
||||||
for (int i = 0; i < 7; i++) {
|
|
||||||
for (int j = 0; j < 8; j++) {
|
|
||||||
if (sb_weapons[i][j].pic) {
|
|
||||||
sb_weapons[i][j].w = sb_weapons[i][j].pic->width;
|
|
||||||
sb_weapons[i][j].h = sb_weapons[i][j].pic->height;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sb_ammo[0] = r_funcs->Draw_PicFromWad ("sb_shells");
|
sb_ammo[0] = r_funcs->Draw_PicFromWad ("sb_shells");
|
||||||
sb_ammo[1] = r_funcs->Draw_PicFromWad ("sb_nails");
|
sb_ammo[1] = r_funcs->Draw_PicFromWad ("sb_nails");
|
||||||
|
@ -2792,32 +2678,37 @@ load_pics (void)
|
||||||
sb_sbar = r_funcs->Draw_PicFromWad ("sbar");
|
sb_sbar = r_funcs->Draw_PicFromWad ("sbar");
|
||||||
sb_ibar = r_funcs->Draw_PicFromWad ("ibar");
|
sb_ibar = r_funcs->Draw_PicFromWad ("ibar");
|
||||||
sb_scorebar = r_funcs->Draw_PicFromWad ("scorebar");
|
sb_scorebar = r_funcs->Draw_PicFromWad ("scorebar");
|
||||||
|
sb_weapon_count = 7;
|
||||||
|
sb_weapon_view_count = 7;
|
||||||
|
sb_game = 0;
|
||||||
|
|
||||||
// MED 01/04/97 added new hipnotic weapons
|
// MED 01/04/97 added new hipnotic weapons
|
||||||
if (!strcmp (qfs_gamedir->hudtype, "hipnotic")) {
|
if (!strcmp (qfs_gamedir->hudtype, "hipnotic")) {
|
||||||
hsb_weapons[0][0] = r_funcs->Draw_PicFromWad ("inv_laser");
|
sb_weapon_count = 10;
|
||||||
hsb_weapons[0][1] = r_funcs->Draw_PicFromWad ("inv_mjolnir");
|
sb_weapon_view_count = 9;
|
||||||
hsb_weapons[0][2] = r_funcs->Draw_PicFromWad ("inv_gren_prox");
|
sb_weapons[0][7].pic = r_funcs->Draw_PicFromWad ("inv_laser");
|
||||||
hsb_weapons[0][3] = r_funcs->Draw_PicFromWad ("inv_prox_gren");
|
sb_weapons[0][8].pic = r_funcs->Draw_PicFromWad ("inv_mjolnir");
|
||||||
hsb_weapons[0][4] = r_funcs->Draw_PicFromWad ("inv_prox");
|
sb_weapons[0][9].pic = r_funcs->Draw_PicFromWad ("inv_prox_gren");
|
||||||
|
//sb_weapons[0][3].pic = r_funcs->Draw_PicFromWad ("inv_gren_prox");
|
||||||
|
//sb_weapons[0][4] = r_funcs->Draw_PicFromWad ("inv_prox");
|
||||||
|
|
||||||
hsb_weapons[1][0] = r_funcs->Draw_PicFromWad ("inv2_laser");
|
sb_weapons[1][7].pic = r_funcs->Draw_PicFromWad ("inv2_laser");
|
||||||
hsb_weapons[1][1] = r_funcs->Draw_PicFromWad ("inv2_mjolnir");
|
sb_weapons[1][8].pic = r_funcs->Draw_PicFromWad ("inv2_mjolnir");
|
||||||
hsb_weapons[1][2] = r_funcs->Draw_PicFromWad ("inv2_gren_prox");
|
sb_weapons[1][9].pic = r_funcs->Draw_PicFromWad ("inv2_prox_gren");
|
||||||
hsb_weapons[1][3] = r_funcs->Draw_PicFromWad ("inv2_prox_gren");
|
//sb_weapons[1][3].pic = r_funcs->Draw_PicFromWad ("inv2_gren_prox");
|
||||||
hsb_weapons[1][4] = r_funcs->Draw_PicFromWad ("inv2_prox");
|
//sb_weapons[1][4] = r_funcs->Draw_PicFromWad ("inv2_prox");
|
||||||
|
|
||||||
for (int i = 0; i < 5; i++) {
|
for (int i = 0; i < 5; i++) {
|
||||||
hsb_weapons[2 + i][0] =
|
sb_weapons[2 + i][7].pic =
|
||||||
r_funcs->Draw_PicFromWad (va (0, "inva%i_laser", i + 1));
|
r_funcs->Draw_PicFromWad (va (0, "inva%i_laser", i + 1));
|
||||||
hsb_weapons[2 + i][1] =
|
sb_weapons[2 + i][8].pic =
|
||||||
r_funcs->Draw_PicFromWad (va (0, "inva%i_mjolnir", i + 1));
|
r_funcs->Draw_PicFromWad (va (0, "inva%i_mjolnir", i + 1));
|
||||||
hsb_weapons[2 + i][2] =
|
sb_weapons[2 + i][9].pic =
|
||||||
r_funcs->Draw_PicFromWad (va (0, "inva%i_gren_prox", i + 1));
|
|
||||||
hsb_weapons[2 + i][3] =
|
|
||||||
r_funcs->Draw_PicFromWad (va (0, "inva%i_prox_gren", i + 1));
|
r_funcs->Draw_PicFromWad (va (0, "inva%i_prox_gren", i + 1));
|
||||||
hsb_weapons[2 + i][4] =
|
//sb_weapons[2 + i][2] =
|
||||||
r_funcs->Draw_PicFromWad (va (0, "inva%i_prox", i + 1));
|
// r_funcs->Draw_PicFromWad (va (0, "inva%i_gren_prox", i + 1));
|
||||||
|
//sb_weapons[2 + i][4] =
|
||||||
|
// r_funcs->Draw_PicFromWad (va (0, "inva%i_prox", i + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
hsb_items[0] = r_funcs->Draw_PicFromWad ("sb_wsuit");
|
hsb_items[0] = r_funcs->Draw_PicFromWad ("sb_wsuit");
|
||||||
|
@ -2826,14 +2717,23 @@ load_pics (void)
|
||||||
|
|
||||||
// FIXME: MISSIONHUD
|
// FIXME: MISSIONHUD
|
||||||
if (!strcmp (qfs_gamedir->hudtype, "rogue")) {
|
if (!strcmp (qfs_gamedir->hudtype, "rogue")) {
|
||||||
|
sb_weapon_count = 12;
|
||||||
|
sb_game = 1;
|
||||||
rsb_invbar[0] = r_funcs->Draw_PicFromWad ("r_invbar1");
|
rsb_invbar[0] = r_funcs->Draw_PicFromWad ("r_invbar1");
|
||||||
rsb_invbar[1] = r_funcs->Draw_PicFromWad ("r_invbar2");
|
rsb_invbar[1] = r_funcs->Draw_PicFromWad ("r_invbar2");
|
||||||
|
|
||||||
rsb_weapons[0] = r_funcs->Draw_PicFromWad ("r_lava");
|
sb_weapons[0][7].pic = r_funcs->Draw_PicFromWad ("r_lava");
|
||||||
rsb_weapons[1] = r_funcs->Draw_PicFromWad ("r_superlava");
|
sb_weapons[0][8].pic = r_funcs->Draw_PicFromWad ("r_superlava");
|
||||||
rsb_weapons[2] = r_funcs->Draw_PicFromWad ("r_gren");
|
sb_weapons[0][9].pic = r_funcs->Draw_PicFromWad ("r_gren");
|
||||||
rsb_weapons[3] = r_funcs->Draw_PicFromWad ("r_multirock");
|
sb_weapons[0][10].pic = r_funcs->Draw_PicFromWad ("r_multirock");
|
||||||
rsb_weapons[4] = r_funcs->Draw_PicFromWad ("r_plasma");
|
sb_weapons[0][11].pic = r_funcs->Draw_PicFromWad ("r_plasma");
|
||||||
|
for (int i = 1; i < 7; i++) {
|
||||||
|
sb_weapons[i][7].pic = sb_weapons[0][7].pic;
|
||||||
|
sb_weapons[i][8].pic = sb_weapons[0][8].pic;
|
||||||
|
sb_weapons[i][9].pic = sb_weapons[0][9].pic;
|
||||||
|
sb_weapons[i][10].pic = sb_weapons[0][10].pic;
|
||||||
|
sb_weapons[i][11].pic = sb_weapons[0][11].pic;
|
||||||
|
}
|
||||||
|
|
||||||
rsb_items[0] = r_funcs->Draw_PicFromWad ("r_shield1");
|
rsb_items[0] = r_funcs->Draw_PicFromWad ("r_shield1");
|
||||||
rsb_items[1] = r_funcs->Draw_PicFromWad ("r_agrav1");
|
rsb_items[1] = r_funcs->Draw_PicFromWad ("r_agrav1");
|
||||||
|
@ -2846,6 +2746,15 @@ load_pics (void)
|
||||||
rsb_ammo[1] = r_funcs->Draw_PicFromWad ("r_ammomulti");
|
rsb_ammo[1] = r_funcs->Draw_PicFromWad ("r_ammomulti");
|
||||||
rsb_ammo[2] = r_funcs->Draw_PicFromWad ("r_ammoplasma");
|
rsb_ammo[2] = r_funcs->Draw_PicFromWad ("r_ammoplasma");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 7; i++) {
|
||||||
|
for (int j = 0; j < 12; j++) {
|
||||||
|
if (sb_weapons[i][j].pic) {
|
||||||
|
sb_weapons[i][j].w = sb_weapons[i][j].pic->width;
|
||||||
|
sb_weapons[i][j].h = sb_weapons[i][j].pic->height;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in a new issue