mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-19 22:48:18 +00:00
changed format of the countryflags index file to json
This commit is contained in:
parent
61b515f9be
commit
f50b5d6059
1024
data/countryflags/index.json
Normal file
1024
data/countryflags/index.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,769 +0,0 @@
|
||||||
|
|
||||||
##### country codes #####
|
|
||||||
|
|
||||||
##### custom #####
|
|
||||||
|
|
||||||
default
|
|
||||||
== -1
|
|
||||||
|
|
||||||
XEN
|
|
||||||
== 901
|
|
||||||
|
|
||||||
XNI
|
|
||||||
== 902
|
|
||||||
|
|
||||||
XSC
|
|
||||||
== 903
|
|
||||||
|
|
||||||
XWA
|
|
||||||
== 904
|
|
||||||
|
|
||||||
#south sudan, non official code#
|
|
||||||
SS
|
|
||||||
== 737
|
|
||||||
|
|
||||||
##### ISO 3166-1 based #####
|
|
||||||
|
|
||||||
AF
|
|
||||||
== 4
|
|
||||||
|
|
||||||
AX
|
|
||||||
== 248
|
|
||||||
|
|
||||||
AL
|
|
||||||
== 8
|
|
||||||
|
|
||||||
DZ
|
|
||||||
== 12
|
|
||||||
|
|
||||||
AS
|
|
||||||
== 16
|
|
||||||
|
|
||||||
AD
|
|
||||||
== 20
|
|
||||||
|
|
||||||
AO
|
|
||||||
== 24
|
|
||||||
|
|
||||||
AI
|
|
||||||
== 660
|
|
||||||
|
|
||||||
#AQ
|
|
||||||
#== 10
|
|
||||||
|
|
||||||
AG
|
|
||||||
== 28
|
|
||||||
|
|
||||||
AR
|
|
||||||
== 32
|
|
||||||
|
|
||||||
AM
|
|
||||||
== 51
|
|
||||||
|
|
||||||
AW
|
|
||||||
== 533
|
|
||||||
|
|
||||||
AU
|
|
||||||
== 36
|
|
||||||
|
|
||||||
AT
|
|
||||||
== 40
|
|
||||||
|
|
||||||
AZ
|
|
||||||
== 31
|
|
||||||
|
|
||||||
BS
|
|
||||||
== 44
|
|
||||||
|
|
||||||
BH
|
|
||||||
== 48
|
|
||||||
|
|
||||||
BD
|
|
||||||
== 50
|
|
||||||
|
|
||||||
BB
|
|
||||||
== 52
|
|
||||||
|
|
||||||
BY
|
|
||||||
== 112
|
|
||||||
|
|
||||||
BE
|
|
||||||
== 56
|
|
||||||
|
|
||||||
BZ
|
|
||||||
== 84
|
|
||||||
|
|
||||||
BJ
|
|
||||||
== 204
|
|
||||||
|
|
||||||
BM
|
|
||||||
== 60
|
|
||||||
|
|
||||||
BT
|
|
||||||
== 64
|
|
||||||
|
|
||||||
BO
|
|
||||||
== 68
|
|
||||||
|
|
||||||
#BQ
|
|
||||||
#== 535
|
|
||||||
|
|
||||||
BA
|
|
||||||
== 70
|
|
||||||
|
|
||||||
BW
|
|
||||||
== 72
|
|
||||||
|
|
||||||
#BV
|
|
||||||
#== 74
|
|
||||||
|
|
||||||
BR
|
|
||||||
== 76
|
|
||||||
|
|
||||||
IO
|
|
||||||
== 86
|
|
||||||
|
|
||||||
BN
|
|
||||||
== 96
|
|
||||||
|
|
||||||
BG
|
|
||||||
== 100
|
|
||||||
|
|
||||||
BF
|
|
||||||
== 854
|
|
||||||
|
|
||||||
BI
|
|
||||||
== 108
|
|
||||||
|
|
||||||
KH
|
|
||||||
== 116
|
|
||||||
|
|
||||||
CM
|
|
||||||
== 120
|
|
||||||
|
|
||||||
CA
|
|
||||||
== 124
|
|
||||||
|
|
||||||
CV
|
|
||||||
== 132
|
|
||||||
|
|
||||||
KY
|
|
||||||
== 136
|
|
||||||
|
|
||||||
CF
|
|
||||||
== 140
|
|
||||||
|
|
||||||
TD
|
|
||||||
== 148
|
|
||||||
|
|
||||||
CL
|
|
||||||
== 152
|
|
||||||
|
|
||||||
CN
|
|
||||||
== 156
|
|
||||||
|
|
||||||
CX
|
|
||||||
== 162
|
|
||||||
|
|
||||||
CC
|
|
||||||
== 166
|
|
||||||
|
|
||||||
CO
|
|
||||||
== 170
|
|
||||||
|
|
||||||
KM
|
|
||||||
== 174
|
|
||||||
|
|
||||||
CG
|
|
||||||
== 178
|
|
||||||
|
|
||||||
CD
|
|
||||||
== 180
|
|
||||||
|
|
||||||
CK
|
|
||||||
== 184
|
|
||||||
|
|
||||||
CR
|
|
||||||
== 188
|
|
||||||
|
|
||||||
CI
|
|
||||||
== 384
|
|
||||||
|
|
||||||
HR
|
|
||||||
== 191
|
|
||||||
|
|
||||||
CU
|
|
||||||
== 192
|
|
||||||
|
|
||||||
CW
|
|
||||||
== 531
|
|
||||||
|
|
||||||
CY
|
|
||||||
== 196
|
|
||||||
|
|
||||||
CZ
|
|
||||||
== 203
|
|
||||||
|
|
||||||
DK
|
|
||||||
== 208
|
|
||||||
|
|
||||||
DJ
|
|
||||||
== 262
|
|
||||||
|
|
||||||
DM
|
|
||||||
== 212
|
|
||||||
|
|
||||||
DO
|
|
||||||
== 214
|
|
||||||
|
|
||||||
EC
|
|
||||||
== 218
|
|
||||||
|
|
||||||
EG
|
|
||||||
== 818
|
|
||||||
|
|
||||||
SV
|
|
||||||
== 222
|
|
||||||
|
|
||||||
GQ
|
|
||||||
== 226
|
|
||||||
|
|
||||||
ER
|
|
||||||
== 232
|
|
||||||
|
|
||||||
EE
|
|
||||||
== 233
|
|
||||||
|
|
||||||
ET
|
|
||||||
== 231
|
|
||||||
|
|
||||||
FK
|
|
||||||
== 238
|
|
||||||
|
|
||||||
FO
|
|
||||||
== 234
|
|
||||||
|
|
||||||
FJ
|
|
||||||
== 242
|
|
||||||
|
|
||||||
FI
|
|
||||||
== 246
|
|
||||||
|
|
||||||
FR
|
|
||||||
== 250
|
|
||||||
|
|
||||||
GF
|
|
||||||
== 254
|
|
||||||
|
|
||||||
PF
|
|
||||||
== 258
|
|
||||||
|
|
||||||
TF
|
|
||||||
== 260
|
|
||||||
|
|
||||||
GA
|
|
||||||
== 266
|
|
||||||
|
|
||||||
GM
|
|
||||||
== 270
|
|
||||||
|
|
||||||
GE
|
|
||||||
== 268
|
|
||||||
|
|
||||||
DE
|
|
||||||
== 276
|
|
||||||
|
|
||||||
GH
|
|
||||||
== 288
|
|
||||||
|
|
||||||
GI
|
|
||||||
== 292
|
|
||||||
|
|
||||||
GR
|
|
||||||
== 300
|
|
||||||
|
|
||||||
GL
|
|
||||||
== 304
|
|
||||||
|
|
||||||
GD
|
|
||||||
== 308
|
|
||||||
|
|
||||||
GP
|
|
||||||
== 312
|
|
||||||
|
|
||||||
GU
|
|
||||||
== 316
|
|
||||||
|
|
||||||
GT
|
|
||||||
== 320
|
|
||||||
|
|
||||||
GG
|
|
||||||
== 831
|
|
||||||
|
|
||||||
GN
|
|
||||||
== 324
|
|
||||||
|
|
||||||
GW
|
|
||||||
== 624
|
|
||||||
|
|
||||||
GY
|
|
||||||
== 328
|
|
||||||
|
|
||||||
HT
|
|
||||||
== 332
|
|
||||||
|
|
||||||
#HM
|
|
||||||
#== 334
|
|
||||||
|
|
||||||
VA
|
|
||||||
== 336
|
|
||||||
|
|
||||||
HN
|
|
||||||
== 340
|
|
||||||
|
|
||||||
HK
|
|
||||||
== 344
|
|
||||||
|
|
||||||
HU
|
|
||||||
== 348
|
|
||||||
|
|
||||||
IS
|
|
||||||
== 352
|
|
||||||
|
|
||||||
IN
|
|
||||||
== 356
|
|
||||||
|
|
||||||
ID
|
|
||||||
== 360
|
|
||||||
|
|
||||||
IR
|
|
||||||
== 364
|
|
||||||
|
|
||||||
IQ
|
|
||||||
== 368
|
|
||||||
|
|
||||||
IE
|
|
||||||
== 372
|
|
||||||
|
|
||||||
IM
|
|
||||||
== 833
|
|
||||||
|
|
||||||
IL
|
|
||||||
== 376
|
|
||||||
|
|
||||||
IT
|
|
||||||
== 380
|
|
||||||
|
|
||||||
JM
|
|
||||||
== 388
|
|
||||||
|
|
||||||
JP
|
|
||||||
== 392
|
|
||||||
|
|
||||||
JE
|
|
||||||
== 832
|
|
||||||
|
|
||||||
JO
|
|
||||||
== 400
|
|
||||||
|
|
||||||
KZ
|
|
||||||
== 398
|
|
||||||
|
|
||||||
KE
|
|
||||||
== 404
|
|
||||||
|
|
||||||
KI
|
|
||||||
== 296
|
|
||||||
|
|
||||||
KP
|
|
||||||
== 408
|
|
||||||
|
|
||||||
KR
|
|
||||||
== 410
|
|
||||||
|
|
||||||
KW
|
|
||||||
== 414
|
|
||||||
|
|
||||||
KG
|
|
||||||
== 417
|
|
||||||
|
|
||||||
LA
|
|
||||||
== 418
|
|
||||||
|
|
||||||
LV
|
|
||||||
== 428
|
|
||||||
|
|
||||||
LB
|
|
||||||
== 422
|
|
||||||
|
|
||||||
LS
|
|
||||||
== 426
|
|
||||||
|
|
||||||
LR
|
|
||||||
== 430
|
|
||||||
|
|
||||||
LY
|
|
||||||
== 434
|
|
||||||
|
|
||||||
LI
|
|
||||||
== 438
|
|
||||||
|
|
||||||
LT
|
|
||||||
== 440
|
|
||||||
|
|
||||||
LU
|
|
||||||
== 442
|
|
||||||
|
|
||||||
MO
|
|
||||||
== 446
|
|
||||||
|
|
||||||
MK
|
|
||||||
== 807
|
|
||||||
|
|
||||||
MG
|
|
||||||
== 450
|
|
||||||
|
|
||||||
MW
|
|
||||||
== 454
|
|
||||||
|
|
||||||
MY
|
|
||||||
== 458
|
|
||||||
|
|
||||||
MV
|
|
||||||
== 462
|
|
||||||
|
|
||||||
ML
|
|
||||||
== 466
|
|
||||||
|
|
||||||
MT
|
|
||||||
== 470
|
|
||||||
|
|
||||||
MH
|
|
||||||
== 584
|
|
||||||
|
|
||||||
MQ
|
|
||||||
== 474
|
|
||||||
|
|
||||||
MR
|
|
||||||
== 478
|
|
||||||
|
|
||||||
MU
|
|
||||||
== 480
|
|
||||||
|
|
||||||
#YT
|
|
||||||
#== 175
|
|
||||||
|
|
||||||
MX
|
|
||||||
== 484
|
|
||||||
|
|
||||||
FM
|
|
||||||
== 583
|
|
||||||
|
|
||||||
MD
|
|
||||||
== 498
|
|
||||||
|
|
||||||
MC
|
|
||||||
== 492
|
|
||||||
|
|
||||||
MN
|
|
||||||
== 496
|
|
||||||
|
|
||||||
ME
|
|
||||||
== 499
|
|
||||||
|
|
||||||
MS
|
|
||||||
== 500
|
|
||||||
|
|
||||||
MA
|
|
||||||
== 504
|
|
||||||
|
|
||||||
MZ
|
|
||||||
== 508
|
|
||||||
|
|
||||||
MM
|
|
||||||
== 104
|
|
||||||
|
|
||||||
NA
|
|
||||||
== 516
|
|
||||||
|
|
||||||
NR
|
|
||||||
== 520
|
|
||||||
|
|
||||||
NP
|
|
||||||
== 524
|
|
||||||
|
|
||||||
NL
|
|
||||||
== 528
|
|
||||||
|
|
||||||
NC
|
|
||||||
== 540
|
|
||||||
|
|
||||||
NZ
|
|
||||||
== 554
|
|
||||||
|
|
||||||
NI
|
|
||||||
== 558
|
|
||||||
|
|
||||||
NE
|
|
||||||
== 562
|
|
||||||
|
|
||||||
NG
|
|
||||||
== 566
|
|
||||||
|
|
||||||
NU
|
|
||||||
== 570
|
|
||||||
|
|
||||||
NF
|
|
||||||
== 574
|
|
||||||
|
|
||||||
MP
|
|
||||||
== 580
|
|
||||||
|
|
||||||
NO
|
|
||||||
== 578
|
|
||||||
|
|
||||||
OM
|
|
||||||
== 512
|
|
||||||
|
|
||||||
PK
|
|
||||||
== 586
|
|
||||||
|
|
||||||
PW
|
|
||||||
== 585
|
|
||||||
|
|
||||||
#PS
|
|
||||||
#== 275
|
|
||||||
|
|
||||||
PA
|
|
||||||
== 591
|
|
||||||
|
|
||||||
PG
|
|
||||||
== 598
|
|
||||||
|
|
||||||
PY
|
|
||||||
== 600
|
|
||||||
|
|
||||||
PE
|
|
||||||
== 604
|
|
||||||
|
|
||||||
PH
|
|
||||||
== 608
|
|
||||||
|
|
||||||
PN
|
|
||||||
== 612
|
|
||||||
|
|
||||||
PL
|
|
||||||
== 616
|
|
||||||
|
|
||||||
PT
|
|
||||||
== 620
|
|
||||||
|
|
||||||
PR
|
|
||||||
== 630
|
|
||||||
|
|
||||||
QA
|
|
||||||
== 634
|
|
||||||
|
|
||||||
RE
|
|
||||||
== 638
|
|
||||||
|
|
||||||
RO
|
|
||||||
== 642
|
|
||||||
|
|
||||||
RU
|
|
||||||
== 643
|
|
||||||
|
|
||||||
RW
|
|
||||||
== 646
|
|
||||||
|
|
||||||
BL
|
|
||||||
== 652
|
|
||||||
|
|
||||||
SH
|
|
||||||
== 654
|
|
||||||
|
|
||||||
KN
|
|
||||||
== 659
|
|
||||||
|
|
||||||
LC
|
|
||||||
== 662
|
|
||||||
|
|
||||||
MF
|
|
||||||
== 663
|
|
||||||
|
|
||||||
PM
|
|
||||||
== 666
|
|
||||||
|
|
||||||
VC
|
|
||||||
== 670
|
|
||||||
|
|
||||||
WS
|
|
||||||
== 882
|
|
||||||
|
|
||||||
SM
|
|
||||||
== 674
|
|
||||||
|
|
||||||
ST
|
|
||||||
== 678
|
|
||||||
|
|
||||||
SA
|
|
||||||
== 682
|
|
||||||
|
|
||||||
SN
|
|
||||||
== 686
|
|
||||||
|
|
||||||
RS
|
|
||||||
== 688
|
|
||||||
|
|
||||||
SC
|
|
||||||
== 690
|
|
||||||
|
|
||||||
SL
|
|
||||||
== 694
|
|
||||||
|
|
||||||
SG
|
|
||||||
== 702
|
|
||||||
|
|
||||||
SX
|
|
||||||
== 534
|
|
||||||
|
|
||||||
SK
|
|
||||||
== 703
|
|
||||||
|
|
||||||
SI
|
|
||||||
== 705
|
|
||||||
|
|
||||||
SB
|
|
||||||
== 90
|
|
||||||
|
|
||||||
SO
|
|
||||||
== 706
|
|
||||||
|
|
||||||
ZA
|
|
||||||
== 710
|
|
||||||
|
|
||||||
GS
|
|
||||||
== 239
|
|
||||||
|
|
||||||
ES
|
|
||||||
== 724
|
|
||||||
|
|
||||||
LK
|
|
||||||
== 144
|
|
||||||
|
|
||||||
SD
|
|
||||||
== 736
|
|
||||||
|
|
||||||
SR
|
|
||||||
== 740
|
|
||||||
|
|
||||||
#SJ
|
|
||||||
#== 744
|
|
||||||
|
|
||||||
SZ
|
|
||||||
== 748
|
|
||||||
|
|
||||||
SE
|
|
||||||
== 752
|
|
||||||
|
|
||||||
CH
|
|
||||||
== 756
|
|
||||||
|
|
||||||
SY
|
|
||||||
== 760
|
|
||||||
|
|
||||||
TW
|
|
||||||
== 158
|
|
||||||
|
|
||||||
TJ
|
|
||||||
== 762
|
|
||||||
|
|
||||||
TZ
|
|
||||||
== 834
|
|
||||||
|
|
||||||
TH
|
|
||||||
== 764
|
|
||||||
|
|
||||||
TL
|
|
||||||
== 626
|
|
||||||
|
|
||||||
TG
|
|
||||||
== 768
|
|
||||||
|
|
||||||
TK
|
|
||||||
== 772
|
|
||||||
|
|
||||||
TO
|
|
||||||
== 776
|
|
||||||
|
|
||||||
TT
|
|
||||||
== 780
|
|
||||||
|
|
||||||
TN
|
|
||||||
== 788
|
|
||||||
|
|
||||||
TR
|
|
||||||
== 792
|
|
||||||
|
|
||||||
TM
|
|
||||||
== 795
|
|
||||||
|
|
||||||
TC
|
|
||||||
== 796
|
|
||||||
|
|
||||||
TV
|
|
||||||
== 798
|
|
||||||
|
|
||||||
UG
|
|
||||||
== 800
|
|
||||||
|
|
||||||
UA
|
|
||||||
== 804
|
|
||||||
|
|
||||||
AE
|
|
||||||
== 784
|
|
||||||
|
|
||||||
GB
|
|
||||||
== 826
|
|
||||||
|
|
||||||
US
|
|
||||||
== 840
|
|
||||||
|
|
||||||
#UM
|
|
||||||
#== 581
|
|
||||||
|
|
||||||
UY
|
|
||||||
== 858
|
|
||||||
|
|
||||||
UZ
|
|
||||||
== 860
|
|
||||||
|
|
||||||
VU
|
|
||||||
== 548
|
|
||||||
|
|
||||||
VE
|
|
||||||
== 862
|
|
||||||
|
|
||||||
VN
|
|
||||||
== 704
|
|
||||||
|
|
||||||
VG
|
|
||||||
== 92
|
|
||||||
|
|
||||||
VI
|
|
||||||
== 850
|
|
||||||
|
|
||||||
WF
|
|
||||||
== 876
|
|
||||||
|
|
||||||
EH
|
|
||||||
== 732
|
|
||||||
|
|
||||||
YE
|
|
||||||
== 887
|
|
||||||
|
|
||||||
ZM
|
|
||||||
== 894
|
|
||||||
|
|
||||||
ZW
|
|
||||||
== 716
|
|
|
@ -7,88 +7,100 @@
|
||||||
#include <engine/graphics.h>
|
#include <engine/graphics.h>
|
||||||
#include <engine/storage.h>
|
#include <engine/storage.h>
|
||||||
#include <engine/textrender.h>
|
#include <engine/textrender.h>
|
||||||
|
#include <engine/external/json-parser/json.h>
|
||||||
#include <engine/shared/config.h>
|
#include <engine/shared/config.h>
|
||||||
#include <engine/shared/linereader.h>
|
|
||||||
|
|
||||||
#include "countryflags.h"
|
#include "countryflags.h"
|
||||||
|
|
||||||
|
|
||||||
void CCountryFlags::LoadCountryflagsIndexfile()
|
void CCountryFlags::LoadCountryflagsIndexfile()
|
||||||
{
|
{
|
||||||
IOHANDLE File = Storage()->OpenFile("countryflags/index.txt", IOFLAG_READ, IStorage::TYPE_ALL);
|
// read file data into buffer
|
||||||
|
IOHANDLE File = Storage()->OpenFile("countryflags/index.json", IOFLAG_READ, IStorage::TYPE_ALL);
|
||||||
if(!File)
|
if(!File)
|
||||||
{
|
{
|
||||||
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", "couldn't open index file");
|
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", "couldn't open index file");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
int FileSize = (int)io_length(File);
|
||||||
|
char *pFileData = (char *)mem_alloc(FileSize+1, 1);
|
||||||
|
io_read(File, pFileData, FileSize);
|
||||||
|
pFileData[FileSize] = 0;
|
||||||
|
io_close(File);
|
||||||
|
|
||||||
char aOrigin[128];
|
// parse json data
|
||||||
CLineReader LineReader;
|
json_settings JsonSettings;
|
||||||
LineReader.Init(File);
|
mem_zero(&JsonSettings, sizeof(JsonSettings));
|
||||||
char *pLine;
|
char aError[256];
|
||||||
while((pLine = LineReader.Get()))
|
json_value *pJsonData = json_parse_ex(&JsonSettings, pFileData, aError);
|
||||||
|
if(pJsonData == 0)
|
||||||
{
|
{
|
||||||
if(!str_length(pLine) || pLine[0] == '#') // skip empty lines and comments
|
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aError);
|
||||||
continue;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
str_copy(aOrigin, pLine, sizeof(aOrigin));
|
// extract data
|
||||||
char *pReplacement = LineReader.Get();
|
const json_value &rInit = (*pJsonData)["country codes"];
|
||||||
if(!pReplacement)
|
if(rInit.type == json_object)
|
||||||
|
{
|
||||||
|
enum
|
||||||
{
|
{
|
||||||
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", "unexpected end of index file");
|
NUM_INDICES = 2,
|
||||||
break;
|
};
|
||||||
}
|
char *paIndices[NUM_INDICES] = {"custom", "ISO 3166-1"};
|
||||||
|
for(int Index = 0; Index < NUM_INDICES; ++Index)
|
||||||
if(pReplacement[0] != '=' || pReplacement[1] != '=' || pReplacement[2] != ' ')
|
|
||||||
{
|
{
|
||||||
char aBuf[128];
|
const json_value &rStart = rInit[paIndices[Index]];
|
||||||
str_format(aBuf, sizeof(aBuf), "malform replacement for index '%s'", aOrigin);
|
if(rStart.type == json_array)
|
||||||
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aBuf);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CountryCode = str_toint(pReplacement+3);
|
|
||||||
if(CountryCode < CODE_LB || CountryCode > CODE_UB)
|
|
||||||
{
|
|
||||||
char aBuf[128];
|
|
||||||
str_format(aBuf, sizeof(aBuf), "country code '%i' not within valid code range [%i..%i]", CountryCode, CODE_LB, CODE_UB);
|
|
||||||
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aBuf);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// load the graphic file
|
|
||||||
char aBuf[128];
|
|
||||||
CImageInfo Info;
|
|
||||||
if(g_Config.m_ClLoadCountryFlags)
|
|
||||||
{
|
|
||||||
str_format(aBuf, sizeof(aBuf), "countryflags/%s.png", aOrigin);
|
|
||||||
if(!Graphics()->LoadPNG(&Info, aBuf, IStorage::TYPE_ALL))
|
|
||||||
{
|
{
|
||||||
char aMsg[128];
|
for(int i = 0; i < rStart.u.array.length; ++i)
|
||||||
str_format(aMsg, sizeof(aMsg), "failed to load '%s'", aBuf);
|
{
|
||||||
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aMsg);
|
char aBuf[64];
|
||||||
continue;
|
|
||||||
|
// validate country code
|
||||||
|
int CountryCode = (long)rStart[i]["code"];
|
||||||
|
if(CountryCode < CODE_LB || CountryCode > CODE_UB)
|
||||||
|
{
|
||||||
|
str_format(aBuf, sizeof(aBuf), "country code '%i' not within valid code range [%i..%i]", CountryCode, CODE_LB, CODE_UB);
|
||||||
|
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aBuf);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// add entry
|
||||||
|
const char *pCountryName = rStart[i]["id"];
|
||||||
|
CCountryFlag CountryFlag;
|
||||||
|
CountryFlag.m_CountryCode = CountryCode;
|
||||||
|
str_copy(CountryFlag.m_aCountryCodeString, pCountryName, sizeof(CountryFlag.m_aCountryCodeString));
|
||||||
|
if(g_Config.m_ClLoadCountryFlags)
|
||||||
|
{
|
||||||
|
// load the graphic file
|
||||||
|
CImageInfo Info;
|
||||||
|
str_format(aBuf, sizeof(aBuf), "countryflags/%s.png", pCountryName);
|
||||||
|
if(!Graphics()->LoadPNG(&Info, aBuf, IStorage::TYPE_ALL))
|
||||||
|
{
|
||||||
|
char aMsg[64];
|
||||||
|
str_format(aMsg, sizeof(aMsg), "failed to load '%s'", aBuf);
|
||||||
|
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aMsg);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
CountryFlag.m_Texture = Graphics()->LoadTextureRaw(Info.m_Width, Info.m_Height, Info.m_Format, Info.m_pData, Info.m_Format, 0);
|
||||||
|
mem_free(Info.m_pData);
|
||||||
|
}
|
||||||
|
m_aCountryFlags.add_unsorted(CountryFlag);
|
||||||
|
|
||||||
|
// print message
|
||||||
|
if(g_Config.m_Debug)
|
||||||
|
{
|
||||||
|
str_format(aBuf, sizeof(aBuf), "loaded country flag '%s'", pCountryName);
|
||||||
|
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aBuf);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// add entry
|
|
||||||
CCountryFlag CountryFlag;
|
|
||||||
CountryFlag.m_CountryCode = CountryCode;
|
|
||||||
str_copy(CountryFlag.m_aCountryCodeString, aOrigin, sizeof(CountryFlag.m_aCountryCodeString));
|
|
||||||
if(g_Config.m_ClLoadCountryFlags)
|
|
||||||
{
|
|
||||||
CountryFlag.m_Texture = Graphics()->LoadTextureRaw(Info.m_Width, Info.m_Height, Info.m_Format, Info.m_pData, Info.m_Format, 0);
|
|
||||||
mem_free(Info.m_pData);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(g_Config.m_Debug)
|
|
||||||
{
|
|
||||||
str_format(aBuf, sizeof(aBuf), "loaded country flag '%s'", aOrigin);
|
|
||||||
Console()->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "countryflags", aBuf);
|
|
||||||
}
|
|
||||||
m_aCountryFlags.add_unsorted(CountryFlag);
|
|
||||||
}
|
}
|
||||||
io_close(File);
|
|
||||||
|
// clean up
|
||||||
|
json_value_free(pJsonData);
|
||||||
m_aCountryFlags.sort_range();
|
m_aCountryFlags.sort_range();
|
||||||
|
|
||||||
// find index of default item
|
// find index of default item
|
||||||
|
|
Loading…
Reference in a new issue