Skip to content

Commit 2b697b9

Browse files
committed
Update HPM Hooks
1 parent 624d6f0 commit 2b697b9

10 files changed

+322
-0
lines changed

src/plugins/HPMHooking/HPMHooking.Defs.inc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4178,6 +4178,10 @@ typedef enum parsefunc_rcode (*HPMHOOK_pre_PRIV__lclif_parse_CA_CHARSERVERCONNEC
41784178
typedef enum parsefunc_rcode (*HPMHOOK_post_PRIV__lclif_parse_CA_CHARSERVERCONNECT) (enum parsefunc_rcode retVal___, int fd, struct login_session_data *sd);
41794179
#endif // LOGIN_LCLIF_P_H
41804180
#ifdef COMMON_CONF_H /* libconfig */
4181+
typedef void (*HPMHOOK_pre_libconfig_set_db_path) (const char **db_path);
4182+
typedef void (*HPMHOOK_post_libconfig_set_db_path) (const char *db_path);
4183+
typedef void (*HPMHOOK_pre_libconfig_format_db_path) (const char **filename, char **path_buf, int *buffer_len);
4184+
typedef void (*HPMHOOK_post_libconfig_format_db_path) (const char *filename, char *path_buf, int buffer_len);
41814185
typedef int (*HPMHOOK_pre_libconfig_read) (struct config_t **config, FILE **stream);
41824186
typedef int (*HPMHOOK_post_libconfig_read) (int retVal___, struct config_t *config, FILE *stream);
41834187
typedef void (*HPMHOOK_pre_libconfig_write) (const struct config_t **config, FILE **stream);
@@ -5144,6 +5148,10 @@ typedef int (*HPMHOOK_pre_mapif_parse_ClanMemberCount) (int *fd, int *clan_id, i
51445148
typedef int (*HPMHOOK_post_mapif_parse_ClanMemberCount) (int retVal___, int fd, int clan_id, int kick_interval);
51455149
#endif // CHAR_MAPIF_H
51465150
#ifdef COMMON_MAPINDEX_H /* mapindex */
5151+
typedef bool (*HPMHOOK_pre_mapindex_config_read_dbpath) (const char **filename, const struct config_t **config);
5152+
typedef bool (*HPMHOOK_post_mapindex_config_read_dbpath) (bool retVal___, const char *filename, const struct config_t *config);
5153+
typedef bool (*HPMHOOK_pre_mapindex_config_read) (void);
5154+
typedef bool (*HPMHOOK_post_mapindex_config_read) (bool retVal___);
51475155
typedef int (*HPMHOOK_pre_mapindex_init) (void);
51485156
typedef int (*HPMHOOK_post_mapindex_init) (int retVal___);
51495157
typedef void (*HPMHOOK_pre_mapindex_final) (void);

src/plugins/HPMHooking/HPMHooking_char.HPMHooksCore.inc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,10 @@ struct {
778778
struct HPMHookPoint *HP_inter_storage_parse_frommap_post;
779779
struct HPMHookPoint *HP_inter_storage_retrieve_bound_items_pre;
780780
struct HPMHookPoint *HP_inter_storage_retrieve_bound_items_post;
781+
struct HPMHookPoint *HP_libconfig_set_db_path_pre;
782+
struct HPMHookPoint *HP_libconfig_set_db_path_post;
783+
struct HPMHookPoint *HP_libconfig_format_db_path_pre;
784+
struct HPMHookPoint *HP_libconfig_format_db_path_post;
781785
struct HPMHookPoint *HP_libconfig_read_pre;
782786
struct HPMHookPoint *HP_libconfig_read_post;
783787
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -1252,6 +1256,10 @@ struct {
12521256
struct HPMHookPoint *HP_mapif_parse_ClanMemberKick_post;
12531257
struct HPMHookPoint *HP_mapif_parse_ClanMemberCount_pre;
12541258
struct HPMHookPoint *HP_mapif_parse_ClanMemberCount_post;
1259+
struct HPMHookPoint *HP_mapindex_config_read_dbpath_pre;
1260+
struct HPMHookPoint *HP_mapindex_config_read_dbpath_post;
1261+
struct HPMHookPoint *HP_mapindex_config_read_pre;
1262+
struct HPMHookPoint *HP_mapindex_config_read_post;
12551263
struct HPMHookPoint *HP_mapindex_init_pre;
12561264
struct HPMHookPoint *HP_mapindex_init_post;
12571265
struct HPMHookPoint *HP_mapindex_final_pre;
@@ -2391,6 +2399,10 @@ struct {
23912399
int HP_inter_storage_parse_frommap_post;
23922400
int HP_inter_storage_retrieve_bound_items_pre;
23932401
int HP_inter_storage_retrieve_bound_items_post;
2402+
int HP_libconfig_set_db_path_pre;
2403+
int HP_libconfig_set_db_path_post;
2404+
int HP_libconfig_format_db_path_pre;
2405+
int HP_libconfig_format_db_path_post;
23942406
int HP_libconfig_read_pre;
23952407
int HP_libconfig_read_post;
23962408
int HP_libconfig_write_pre;
@@ -2865,6 +2877,10 @@ struct {
28652877
int HP_mapif_parse_ClanMemberKick_post;
28662878
int HP_mapif_parse_ClanMemberCount_pre;
28672879
int HP_mapif_parse_ClanMemberCount_post;
2880+
int HP_mapindex_config_read_dbpath_pre;
2881+
int HP_mapindex_config_read_dbpath_post;
2882+
int HP_mapindex_config_read_pre;
2883+
int HP_mapindex_config_read_post;
28682884
int HP_mapindex_init_pre;
28692885
int HP_mapindex_init_post;
28702886
int HP_mapindex_final_pre;

src/plugins/HPMHooking/HPMHooking_char.HookingPoints.inc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -425,6 +425,8 @@ struct HookingPointData HookingPoints[] = {
425425
{ HP_POP(inter_storage->parse_frommap, HP_inter_storage_parse_frommap) },
426426
{ HP_POP(inter_storage->retrieve_bound_items, HP_inter_storage_retrieve_bound_items) },
427427
/* libconfig_interface */
428+
{ HP_POP(libconfig->set_db_path, HP_libconfig_set_db_path) },
429+
{ HP_POP(libconfig->format_db_path, HP_libconfig_format_db_path) },
428430
{ HP_POP(libconfig->read, HP_libconfig_read) },
429431
{ HP_POP(libconfig->write, HP_libconfig_write) },
430432
{ HP_POP(libconfig->set_options, HP_libconfig_set_options) },
@@ -665,6 +667,8 @@ struct HookingPointData HookingPoints[] = {
665667
{ HP_POP(mapif->parse_ClanMemberKick, HP_mapif_parse_ClanMemberKick) },
666668
{ HP_POP(mapif->parse_ClanMemberCount, HP_mapif_parse_ClanMemberCount) },
667669
/* mapindex_interface */
670+
{ HP_POP(mapindex->config_read_dbpath, HP_mapindex_config_read_dbpath) },
671+
{ HP_POP(mapindex->config_read, HP_mapindex_config_read) },
668672
{ HP_POP(mapindex->init, HP_mapindex_init) },
669673
{ HP_POP(mapindex->final, HP_mapindex_final) },
670674
{ HP_POP(mapindex->addmap, HP_mapindex_addmap) },

src/plugins/HPMHooking/HPMHooking_char.Hooks.inc

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10116,6 +10116,58 @@ bool HP_inter_storage_retrieve_bound_items(int char_id, int account_id, int guil
1011610116
return retVal___;
1011710117
}
1011810118
/* libconfig_interface */
10119+
void HP_libconfig_set_db_path(const char *db_path) {
10120+
int hIndex = 0;
10121+
if (HPMHooks.count.HP_libconfig_set_db_path_pre > 0) {
10122+
void (*preHookFunc) (const char **db_path);
10123+
*HPMforce_return = false;
10124+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_pre; hIndex++) {
10125+
preHookFunc = HPMHooks.list.HP_libconfig_set_db_path_pre[hIndex].func;
10126+
preHookFunc(&db_path);
10127+
}
10128+
if (*HPMforce_return) {
10129+
*HPMforce_return = false;
10130+
return;
10131+
}
10132+
}
10133+
{
10134+
HPMHooks.source.libconfig.set_db_path(db_path);
10135+
}
10136+
if (HPMHooks.count.HP_libconfig_set_db_path_post > 0) {
10137+
void (*postHookFunc) (const char *db_path);
10138+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_post; hIndex++) {
10139+
postHookFunc = HPMHooks.list.HP_libconfig_set_db_path_post[hIndex].func;
10140+
postHookFunc(db_path);
10141+
}
10142+
}
10143+
return;
10144+
}
10145+
void HP_libconfig_format_db_path(const char *filename, char *path_buf, int buffer_len) {
10146+
int hIndex = 0;
10147+
if (HPMHooks.count.HP_libconfig_format_db_path_pre > 0) {
10148+
void (*preHookFunc) (const char **filename, char **path_buf, int *buffer_len);
10149+
*HPMforce_return = false;
10150+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_pre; hIndex++) {
10151+
preHookFunc = HPMHooks.list.HP_libconfig_format_db_path_pre[hIndex].func;
10152+
preHookFunc(&filename, &path_buf, &buffer_len);
10153+
}
10154+
if (*HPMforce_return) {
10155+
*HPMforce_return = false;
10156+
return;
10157+
}
10158+
}
10159+
{
10160+
HPMHooks.source.libconfig.format_db_path(filename, path_buf, buffer_len);
10161+
}
10162+
if (HPMHooks.count.HP_libconfig_format_db_path_post > 0) {
10163+
void (*postHookFunc) (const char *filename, char *path_buf, int buffer_len);
10164+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_post; hIndex++) {
10165+
postHookFunc = HPMHooks.list.HP_libconfig_format_db_path_post[hIndex].func;
10166+
postHookFunc(filename, path_buf, buffer_len);
10167+
}
10168+
}
10169+
return;
10170+
}
1011910171
int HP_libconfig_read(struct config_t *config, FILE *stream) {
1012010172
int hIndex = 0;
1012110173
int retVal___ = 0;
@@ -16415,6 +16467,60 @@ int HP_mapif_parse_ClanMemberCount(int fd, int clan_id, int kick_interval) {
1641516467
return retVal___;
1641616468
}
1641716469
/* mapindex_interface */
16470+
bool HP_mapindex_config_read_dbpath(const char *filename, const struct config_t *config) {
16471+
int hIndex = 0;
16472+
bool retVal___ = false;
16473+
if (HPMHooks.count.HP_mapindex_config_read_dbpath_pre > 0) {
16474+
bool (*preHookFunc) (const char **filename, const struct config_t **config);
16475+
*HPMforce_return = false;
16476+
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_dbpath_pre; hIndex++) {
16477+
preHookFunc = HPMHooks.list.HP_mapindex_config_read_dbpath_pre[hIndex].func;
16478+
retVal___ = preHookFunc(&filename, &config);
16479+
}
16480+
if (*HPMforce_return) {
16481+
*HPMforce_return = false;
16482+
return retVal___;
16483+
}
16484+
}
16485+
{
16486+
retVal___ = HPMHooks.source.mapindex.config_read_dbpath(filename, config);
16487+
}
16488+
if (HPMHooks.count.HP_mapindex_config_read_dbpath_post > 0) {
16489+
bool (*postHookFunc) (bool retVal___, const char *filename, const struct config_t *config);
16490+
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_dbpath_post; hIndex++) {
16491+
postHookFunc = HPMHooks.list.HP_mapindex_config_read_dbpath_post[hIndex].func;
16492+
retVal___ = postHookFunc(retVal___, filename, config);
16493+
}
16494+
}
16495+
return retVal___;
16496+
}
16497+
bool HP_mapindex_config_read(void) {
16498+
int hIndex = 0;
16499+
bool retVal___ = false;
16500+
if (HPMHooks.count.HP_mapindex_config_read_pre > 0) {
16501+
bool (*preHookFunc) (void);
16502+
*HPMforce_return = false;
16503+
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_pre; hIndex++) {
16504+
preHookFunc = HPMHooks.list.HP_mapindex_config_read_pre[hIndex].func;
16505+
retVal___ = preHookFunc();
16506+
}
16507+
if (*HPMforce_return) {
16508+
*HPMforce_return = false;
16509+
return retVal___;
16510+
}
16511+
}
16512+
{
16513+
retVal___ = HPMHooks.source.mapindex.config_read();
16514+
}
16515+
if (HPMHooks.count.HP_mapindex_config_read_post > 0) {
16516+
bool (*postHookFunc) (bool retVal___);
16517+
for (hIndex = 0; hIndex < HPMHooks.count.HP_mapindex_config_read_post; hIndex++) {
16518+
postHookFunc = HPMHooks.list.HP_mapindex_config_read_post[hIndex].func;
16519+
retVal___ = postHookFunc(retVal___);
16520+
}
16521+
}
16522+
return retVal___;
16523+
}
1641816524
int HP_mapindex_init(void) {
1641916525
int hIndex = 0;
1642016526
int retVal___ = 0;

src/plugins/HPMHooking/HPMHooking_login.HPMHooksCore.inc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,10 @@ struct {
212212
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_REQ_HASH_post;
213213
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
214214
struct HPMHookPoint *HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_post;
215+
struct HPMHookPoint *HP_libconfig_set_db_path_pre;
216+
struct HPMHookPoint *HP_libconfig_set_db_path_post;
217+
struct HPMHookPoint *HP_libconfig_format_db_path_pre;
218+
struct HPMHookPoint *HP_libconfig_format_db_path_post;
215219
struct HPMHookPoint *HP_libconfig_read_pre;
216220
struct HPMHookPoint *HP_libconfig_read_post;
217221
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -1013,6 +1017,10 @@ struct {
10131017
int HP_PRIV__lclif_parse_CA_REQ_HASH_post;
10141018
int HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_pre;
10151019
int HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT_post;
1020+
int HP_libconfig_set_db_path_pre;
1021+
int HP_libconfig_set_db_path_post;
1022+
int HP_libconfig_format_db_path_pre;
1023+
int HP_libconfig_format_db_path_post;
10161024
int HP_libconfig_read_pre;
10171025
int HP_libconfig_read_post;
10181026
int HP_libconfig_write_pre;

src/plugins/HPMHooking/HPMHooking_login.HookingPoints.inc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ struct HookingPointData HookingPoints[] = {
131131
{ HP_POP(lclif->p->parse_CA_REQ_HASH, HP_PRIV__lclif_parse_CA_REQ_HASH) },
132132
{ HP_POP(lclif->p->parse_CA_CHARSERVERCONNECT, HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT) },
133133
/* libconfig_interface */
134+
{ HP_POP(libconfig->set_db_path, HP_libconfig_set_db_path) },
135+
{ HP_POP(libconfig->format_db_path, HP_libconfig_format_db_path) },
134136
{ HP_POP(libconfig->read, HP_libconfig_read) },
135137
{ HP_POP(libconfig->write, HP_libconfig_write) },
136138
{ HP_POP(libconfig->set_options, HP_libconfig_set_options) },

src/plugins/HPMHooking/HPMHooking_login.Hooks.inc

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2518,6 +2518,58 @@ enum parsefunc_rcode HP_PRIV__lclif_parse_CA_CHARSERVERCONNECT(int fd, struct lo
25182518
return retVal___;
25192519
}
25202520
/* libconfig_interface */
2521+
void HP_libconfig_set_db_path(const char *db_path) {
2522+
int hIndex = 0;
2523+
if (HPMHooks.count.HP_libconfig_set_db_path_pre > 0) {
2524+
void (*preHookFunc) (const char **db_path);
2525+
*HPMforce_return = false;
2526+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_pre; hIndex++) {
2527+
preHookFunc = HPMHooks.list.HP_libconfig_set_db_path_pre[hIndex].func;
2528+
preHookFunc(&db_path);
2529+
}
2530+
if (*HPMforce_return) {
2531+
*HPMforce_return = false;
2532+
return;
2533+
}
2534+
}
2535+
{
2536+
HPMHooks.source.libconfig.set_db_path(db_path);
2537+
}
2538+
if (HPMHooks.count.HP_libconfig_set_db_path_post > 0) {
2539+
void (*postHookFunc) (const char *db_path);
2540+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_set_db_path_post; hIndex++) {
2541+
postHookFunc = HPMHooks.list.HP_libconfig_set_db_path_post[hIndex].func;
2542+
postHookFunc(db_path);
2543+
}
2544+
}
2545+
return;
2546+
}
2547+
void HP_libconfig_format_db_path(const char *filename, char *path_buf, int buffer_len) {
2548+
int hIndex = 0;
2549+
if (HPMHooks.count.HP_libconfig_format_db_path_pre > 0) {
2550+
void (*preHookFunc) (const char **filename, char **path_buf, int *buffer_len);
2551+
*HPMforce_return = false;
2552+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_pre; hIndex++) {
2553+
preHookFunc = HPMHooks.list.HP_libconfig_format_db_path_pre[hIndex].func;
2554+
preHookFunc(&filename, &path_buf, &buffer_len);
2555+
}
2556+
if (*HPMforce_return) {
2557+
*HPMforce_return = false;
2558+
return;
2559+
}
2560+
}
2561+
{
2562+
HPMHooks.source.libconfig.format_db_path(filename, path_buf, buffer_len);
2563+
}
2564+
if (HPMHooks.count.HP_libconfig_format_db_path_post > 0) {
2565+
void (*postHookFunc) (const char *filename, char *path_buf, int buffer_len);
2566+
for (hIndex = 0; hIndex < HPMHooks.count.HP_libconfig_format_db_path_post; hIndex++) {
2567+
postHookFunc = HPMHooks.list.HP_libconfig_format_db_path_post[hIndex].func;
2568+
postHookFunc(filename, path_buf, buffer_len);
2569+
}
2570+
}
2571+
return;
2572+
}
25212573
int HP_libconfig_read(struct config_t *config, FILE *stream) {
25222574
int hIndex = 0;
25232575
int retVal___ = 0;

src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3286,6 +3286,10 @@ struct {
32863286
struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_post;
32873287
struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre;
32883288
struct HPMHookPoint *HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post;
3289+
struct HPMHookPoint *HP_libconfig_set_db_path_pre;
3290+
struct HPMHookPoint *HP_libconfig_set_db_path_post;
3291+
struct HPMHookPoint *HP_libconfig_format_db_path_pre;
3292+
struct HPMHookPoint *HP_libconfig_format_db_path_post;
32893293
struct HPMHookPoint *HP_libconfig_read_pre;
32903294
struct HPMHookPoint *HP_libconfig_read_post;
32913295
struct HPMHookPoint *HP_libconfig_write_pre;
@@ -3756,6 +3760,10 @@ struct {
37563760
struct HPMHookPoint *HP_map_merge_zone_post;
37573761
struct HPMHookPoint *HP_map_zone_clear_single_pre;
37583762
struct HPMHookPoint *HP_map_zone_clear_single_post;
3763+
struct HPMHookPoint *HP_mapindex_config_read_dbpath_pre;
3764+
struct HPMHookPoint *HP_mapindex_config_read_dbpath_post;
3765+
struct HPMHookPoint *HP_mapindex_config_read_pre;
3766+
struct HPMHookPoint *HP_mapindex_config_read_post;
37593767
struct HPMHookPoint *HP_mapindex_init_pre;
37603768
struct HPMHookPoint *HP_mapindex_init_post;
37613769
struct HPMHookPoint *HP_mapindex_final_pre;
@@ -10099,6 +10107,10 @@ struct {
1009910107
int HP_itemdb_read_libconfig_lapineddukddak_sub_post;
1010010108
int HP_itemdb_read_libconfig_lapineddukddak_sub_sources_pre;
1010110109
int HP_itemdb_read_libconfig_lapineddukddak_sub_sources_post;
10110+
int HP_libconfig_set_db_path_pre;
10111+
int HP_libconfig_set_db_path_post;
10112+
int HP_libconfig_format_db_path_pre;
10113+
int HP_libconfig_format_db_path_post;
1010210114
int HP_libconfig_read_pre;
1010310115
int HP_libconfig_read_post;
1010410116
int HP_libconfig_write_pre;
@@ -10569,6 +10581,10 @@ struct {
1056910581
int HP_map_merge_zone_post;
1057010582
int HP_map_zone_clear_single_pre;
1057110583
int HP_map_zone_clear_single_post;
10584+
int HP_mapindex_config_read_dbpath_pre;
10585+
int HP_mapindex_config_read_dbpath_post;
10586+
int HP_mapindex_config_read_pre;
10587+
int HP_mapindex_config_read_post;
1057210588
int HP_mapindex_init_pre;
1057310589
int HP_mapindex_init_post;
1057410590
int HP_mapindex_final_pre;

src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1683,6 +1683,8 @@ struct HookingPointData HookingPoints[] = {
16831683
{ HP_POP(itemdb->read_libconfig_lapineddukddak_sub, HP_itemdb_read_libconfig_lapineddukddak_sub) },
16841684
{ HP_POP(itemdb->read_libconfig_lapineddukddak_sub_sources, HP_itemdb_read_libconfig_lapineddukddak_sub_sources) },
16851685
/* libconfig_interface */
1686+
{ HP_POP(libconfig->set_db_path, HP_libconfig_set_db_path) },
1687+
{ HP_POP(libconfig->format_db_path, HP_libconfig_format_db_path) },
16861688
{ HP_POP(libconfig->read, HP_libconfig_read) },
16871689
{ HP_POP(libconfig->write, HP_libconfig_write) },
16881690
{ HP_POP(libconfig->set_options, HP_libconfig_set_options) },
@@ -1922,6 +1924,8 @@ struct HookingPointData HookingPoints[] = {
19221924
{ HP_POP(map->merge_zone, HP_map_merge_zone) },
19231925
{ HP_POP(map->zone_clear_single, HP_map_zone_clear_single) },
19241926
/* mapindex_interface */
1927+
{ HP_POP(mapindex->config_read_dbpath, HP_mapindex_config_read_dbpath) },
1928+
{ HP_POP(mapindex->config_read, HP_mapindex_config_read) },
19251929
{ HP_POP(mapindex->init, HP_mapindex_init) },
19261930
{ HP_POP(mapindex->final, HP_mapindex_final) },
19271931
{ HP_POP(mapindex->addmap, HP_mapindex_addmap) },

0 commit comments

Comments
 (0)