Fix various Win32 build failures due to ambiguous operator[]()
gcc reports: ``` ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second ``` Fix the ambiguity by using an unsigned integer constant.
This commit is contained in:
parent
8501db1e64
commit
7fc6879555
|
@ -813,7 +813,7 @@ static void say_escort_goal(const escort_goal_t goal_num)
|
|||
case ESCORT_GOAL_MARKER9:
|
||||
{
|
||||
const uint8_t zero_based_goal_num = goal_num - ESCORT_GOAL_MARKER1;
|
||||
buddy_message("Finding marker %i: '%.24s'", zero_based_goal_num + 1, &MarkerState.message[game_marker_index{zero_based_goal_num}][0]);
|
||||
buddy_message("Finding marker %i: '%.24s'", zero_based_goal_num + 1, &MarkerState.message[(game_marker_index{zero_based_goal_num})][0u]);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -540,7 +540,7 @@ void DropBuddyMarker(object &objp)
|
|||
static_assert(MarkerState.message.valid_index(marker_num), "not enough markers");
|
||||
|
||||
auto &MarkerMessage = MarkerState.message[marker_num];
|
||||
snprintf(&MarkerMessage[0], MarkerMessage.size(), "RIP: %s", static_cast<const char *>(PlayerCfg.GuidebotName));
|
||||
snprintf(&MarkerMessage[0u], MarkerMessage.size(), "RIP: %s", static_cast<const char *>(PlayerCfg.GuidebotName));
|
||||
|
||||
auto &marker_objidx = MarkerState.imobjidx[marker_num];
|
||||
if (marker_objidx != object_none)
|
||||
|
@ -952,7 +952,8 @@ static void draw_automap(fvcobjptr &vcobjptr, automap &am)
|
|||
if (MarkerState.message.valid_index(HighlightMarker))
|
||||
{
|
||||
auto &m = MarkerState.message[HighlightMarker];
|
||||
gr_printf(canvas, *canvas.cv_font, (SWIDTH/64), (SHEIGHT/18), "Marker %u%c %s", static_cast<unsigned>(HighlightMarker) + 1, m[0] ? ':' : 0, &m[0]);
|
||||
auto &p = m[0u];
|
||||
gr_printf(canvas, *canvas.cv_font, (SWIDTH / 64), (SHEIGHT / 18), "Marker %u%c %s", static_cast<unsigned>(HighlightMarker) + 1, p ? ':' : 0, &p);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -1733,7 +1734,7 @@ void InitMarkerInput ()
|
|||
|
||||
//got a free slot. start inputting marker message
|
||||
|
||||
Marker_input[0]=0;
|
||||
Marker_input.front() = 0;
|
||||
Marker_index=0;
|
||||
key_toggle_repeat(1);
|
||||
}
|
||||
|
|
|
@ -1203,16 +1203,17 @@ static void collide_player_and_marker(const d_robot_info_array &, const object_b
|
|||
|
||||
const auto marker_id = get_marker_id(marker);
|
||||
auto &msg = MarkerState.message[marker_id];
|
||||
auto &p = msg[0u];
|
||||
if (Game_mode & GM_MULTI)
|
||||
{
|
||||
const auto marker_owner = get_marker_owner(Game_mode, marker_id, Netgame.max_numplayers);
|
||||
drawn = HUD_init_message(HM_DEFAULT|HM_MAYDUPL, "MARKER %s: %s", static_cast<const char *>(vcplayerptr(marker_owner)->callsign), &msg[0]);
|
||||
drawn = HUD_init_message(HM_DEFAULT|HM_MAYDUPL, "MARKER %s: %s", vcplayerptr(marker_owner)->callsign.operator const char *(), &p);
|
||||
}
|
||||
else
|
||||
{
|
||||
const auto displayed_marker_id = static_cast<unsigned>(marker_id) + 1;
|
||||
if (msg[0])
|
||||
drawn = HUD_init_message(HM_DEFAULT|HM_MAYDUPL, "MARKER %d: %s", displayed_marker_id, &msg[0]);
|
||||
if (p)
|
||||
drawn = HUD_init_message(HM_DEFAULT|HM_MAYDUPL, "MARKER %d: %s", displayed_marker_id, &p);
|
||||
else
|
||||
drawn = HUD_init_message(HM_DEFAULT|HM_MAYDUPL, "MARKER %d", displayed_marker_id);
|
||||
}
|
||||
|
|
|
@ -83,7 +83,7 @@ static void game_draw_marker_message(grs_canvas &canvas)
|
|||
{
|
||||
gr_set_fontcolor(canvas, BM_XRGB(0, 63, 0),-1);
|
||||
auto &game_font = *GAME_FONT;
|
||||
gr_printf(canvas, game_font, 0x8000, (LINE_SPACING(game_font, game_font) * 5) + FSPACY(1), "Marker: %s%c", &Marker_input[0], Marker_input[Marker_input.size() - 2] ? 0 : '_');
|
||||
gr_printf(canvas, game_font, 0x8000, (LINE_SPACING(game_font, game_font) * 5) + FSPACY(1), "Marker: %s%c", &Marker_input[0u], Marker_input[Marker_input.size() - 2] ? 0 : '_');
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -106,7 +106,7 @@ void HUD_render_message_frame(grs_canvas &canvas)
|
|||
if (strlen(i->message) > 38)
|
||||
HUD_toolong = 1;
|
||||
for (; i != e; ++i ) {
|
||||
gr_string(canvas, game_font, 0x8000, y, &i->message[0]);
|
||||
gr_string(canvas, game_font, 0x8000, y, &i->message[0u]);
|
||||
y += line_spacing;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1236,7 +1236,7 @@ void multi_send_macro(const int fkey)
|
|||
return;
|
||||
}
|
||||
|
||||
if (!PlayerCfg.NetworkMessageMacro[key][0])
|
||||
if (!PlayerCfg.NetworkMessageMacro[key][0u])
|
||||
{
|
||||
HUD_init_message_literal(HM_MULTI, TXT_NO_MACRO);
|
||||
return;
|
||||
|
@ -1293,7 +1293,7 @@ static void multi_send_message_end(const d_robot_info_array &Robot_info, fvmobjp
|
|||
constexpr auto maximum_allowed_shields = 100ul;
|
||||
auto &plr = get_local_player();
|
||||
const char *const callsign = plr.callsign;
|
||||
const auto requested_handicap = strtoul(&Network_message[11], 0, 10);
|
||||
const auto requested_handicap = strtoul(&Network_message[11u], 0, 10);
|
||||
const auto clamped_handicap_max = std::max(minimum_allowed_shields, requested_handicap);
|
||||
const auto clamped_handicap_min = std::min(maximum_allowed_shields, clamped_handicap_max);
|
||||
StartingShields = i2f(clamped_handicap_min);
|
||||
|
|
|
@ -2906,7 +2906,7 @@ static std::span<const uint8_t> net_udp_prepare_heavy_game_info(const d_level_un
|
|||
auto addr = entry_addr;
|
||||
for (const auto &&[i, np] : enumerate(Netgame.players))
|
||||
{
|
||||
memcpy(&buf[len], &np.callsign[0], CALLSIGN_LEN+1); len += CALLSIGN_LEN+1;
|
||||
memcpy(&buf[len], &np.callsign[0u], CALLSIGN_LEN+1); len += CALLSIGN_LEN+1;
|
||||
buf[len] = underlying_value(np.connected); len++;
|
||||
buf[len] = underlying_value(np.rank); len++;
|
||||
if (addr && *addr == np.protocol.udp.addr)
|
||||
|
|
|
@ -4029,7 +4029,7 @@ static void newdemo_write_end()
|
|||
|
||||
static bool guess_demo_name(ntstring<PATH_MAX - 16> &filename)
|
||||
{
|
||||
filename[0] = 0;
|
||||
filename.front() = 0;
|
||||
const auto &n = CGameArg.SysRecordDemoNameTemplate;
|
||||
if (n.empty())
|
||||
return false;
|
||||
|
@ -4106,7 +4106,7 @@ static bool guess_demo_name(ntstring<PATH_MAX - 16> &filename)
|
|||
if (i >= sizeof(filename) - 1)
|
||||
return false;
|
||||
}
|
||||
return filename[0];
|
||||
return filename.front();
|
||||
}
|
||||
|
||||
constexpr char demoname_allowed_chars[] = "azAZ09__--";
|
||||
|
@ -4150,7 +4150,7 @@ try_again:
|
|||
if (exit == -2) { // got bumped out from network menu
|
||||
char save_file[PATH_MAX];
|
||||
|
||||
if (filename[0] != '\0') {
|
||||
if (filename.front() != '\0') {
|
||||
snprintf(save_file, sizeof(save_file), DEMO_FORMAT_STRING("%s"), filename.data());
|
||||
} else
|
||||
snprintf(save_file, sizeof(save_file), DEMO_FORMAT_STRING("tmp%d"), tmpcnt++);
|
||||
|
@ -4163,7 +4163,7 @@ try_again:
|
|||
return; // return without doing anything
|
||||
}
|
||||
|
||||
if (filename[0]==0) //null string
|
||||
if (!filename.front()) //null string
|
||||
goto try_again;
|
||||
|
||||
//check to make sure name is ok
|
||||
|
|
|
@ -568,7 +568,7 @@ int songs_play_song( int songnum, int repeat )
|
|||
case MUSIC_TYPE_CUSTOM:
|
||||
{
|
||||
// EXCEPTION: If SONG_ENDLEVEL is undefined, continue playing level song.
|
||||
if (Song_playing >= SONG_FIRST_LEVEL_SONG && songnum == SONG_ENDLEVEL && !CGameCfg.CMMiscMusic[songnum][0])
|
||||
if (Song_playing >= SONG_FIRST_LEVEL_SONG && songnum == SONG_ENDLEVEL && !CGameCfg.CMMiscMusic[songnum].front())
|
||||
return Song_playing;
|
||||
|
||||
Song_playing = -1;
|
||||
|
|
Loading…
Reference in New Issue