Skip to content

Commit 099540b

Browse files
committed
core: changed params for mapm_push_map_to_votelist and mapm_can_be_in_votelist
1 parent 937e585 commit 099540b

4 files changed

Lines changed: 16 additions & 8 deletions

File tree

include/map_manager.inc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ native mapm_set_votelist_max_items(value);
6262
*
6363
* @noreturn
6464
*/
65-
native mapm_push_map_to_votelist(map[], ignore_check = CHECK_NOT_IGNORED);
65+
native mapm_push_map_to_votelist(map[], type = PUSH_BY_NATIVE, ignore_check = CHECK_NOT_IGNORED);
6666

6767
/**
6868
* TODO: write this.
@@ -120,7 +120,7 @@ forward mapm_prepare_votelist(type);
120120
*
121121
* @noreturn
122122
*/
123-
forward mapm_can_be_in_votelist(map[]);
123+
forward mapm_can_be_in_votelist(map[], type, index);
124124

125125
/**
126126
* TODO: write this.

include/map_manager_consts.inc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,13 @@ enum {
3333
PUSH_SUCCESS
3434
};
3535

36+
enum {
37+
PUSH_BY_CORE,
38+
PUSH_BY_NATIVE,
39+
PUSH_BY_NOMINATION,
40+
PUSH_BY_ONLINE_SORTER
41+
};
42+
3643
enum {
3744
VOTE_BY_CMD,
3845
VOTE_BY_RTV,

map_manager_core.sma

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public plugin_init()
109109
g_hForwards[VOTE_STARTED] = CreateMultiForward("mapm_vote_started", ET_IGNORE, FP_CELL);
110110
g_hForwards[ANALYSIS_OF_RESULTS] = CreateMultiForward("mapm_analysis_of_results", ET_CONTINUE, FP_CELL, FP_CELL);
111111
g_hForwards[VOTE_FINISHED] = CreateMultiForward("mapm_vote_finished", ET_IGNORE, FP_STRING, FP_CELL, FP_CELL);
112-
g_hForwards[CAN_BE_IN_VOTELIST] = CreateMultiForward("mapm_can_be_in_votelist", ET_CONTINUE, FP_STRING);
112+
g_hForwards[CAN_BE_IN_VOTELIST] = CreateMultiForward("mapm_can_be_in_votelist", ET_CONTINUE, FP_STRING, FP_CELL, FP_CELL);
113113
g_hForwards[CAN_BE_EXTENDED] = CreateMultiForward("mapm_can_be_extended", ET_CONTINUE, FP_CELL);
114114
g_hForwards[COUNTDOWN] = CreateMultiForward("mapm_countdown", ET_IGNORE, FP_CELL, FP_CELL);
115115

@@ -170,6 +170,7 @@ public native_push_map_to_votelist(plugin, params)
170170
{
171171
enum {
172172
arg_map = 1,
173+
arg_type,
173174
arg_ignore_check
174175
};
175176

@@ -185,7 +186,7 @@ public native_push_map_to_votelist(plugin, params)
185186
return PUSH_CANCELED;
186187
}
187188

188-
if(!(ignore_checks & CHECK_IGNORE_MAP_ALLOWED) && !is_map_allowed(map)) {
189+
if(!(ignore_checks & CHECK_IGNORE_MAP_ALLOWED) && !is_map_allowed(map, get_param(arg_type), get_map_index(map))) {
189190
return PUSH_BLOCKED;
190191
}
191192

@@ -336,7 +337,7 @@ prepare_vote(type)
336337
do {
337338
random_map = random(g_iMapsListSize);
338339
ArrayGetArray(g_aMapsList, random_map, map_info);
339-
} while(is_map_in_vote(map_info[MapName]) || !is_map_allowed(map_info[MapName]));
340+
} while(is_map_in_vote(map_info[MapName]) || !is_map_allowed(map_info[MapName], PUSH_BY_CORE, random_map));
340341

341342
copy(g_sVoteList[g_iVoteItems], charsmax(g_sVoteList[]), map_info[MapName]);
342343
}
@@ -383,10 +384,10 @@ prepare_vote(type)
383384

384385
return 1;
385386
}
386-
is_map_allowed(map[])
387+
is_map_allowed(map[], type, index)
387388
{
388389
new ret;
389-
ExecuteForward(g_hForwards[CAN_BE_IN_VOTELIST], ret, map);
390+
ExecuteForward(g_hForwards[CAN_BE_IN_VOTELIST], ret, map, type, index);
390391
return ret == MAP_ALLOWED;
391392
}
392393
in_array(index, num)

map_manager_nomination.sma

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ public mapm_prepare_votelist(type)
325325
ArrayDeleteItem(g_aNomList, index);
326326
g_iNomMaps[nom_info[NomPlayer]]--;
327327

328-
if(mapm_push_map_to_votelist(map_info[MapName]) == PUSH_BLOCKED) {
328+
if(mapm_push_map_to_votelist(map_info[MapName], PUSH_BY_NOMINATION) == PUSH_BLOCKED) {
329329
i--;
330330
}
331331
}

0 commit comments

Comments
 (0)