1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Þ¨LZc@sôddlZddlZddlZddlZddlZddlZddlZddlmZe    Z
ddd„ƒYZ ddd„ƒYZ ddd„ƒYZ d    dd
„ƒYZd dd „ƒYZdad „Zd„ZedkrðndS(iÿÿÿÿN(tConfigIniReaderttagFLCOMMONHEADERScBs†eZdZdZdZdZdZdZdZdZ    dZ
dZ dZ d„Z ddd„Zd„Zd„Zd„Zd„ZRS(itcCs|jƒdS(N(tClear(tself((s$.\\Robot\DataReader\MapDataReader.pyt__init__ s
cCss|jƒtj||ƒ\|_}tj||ƒ\|_}tj||ƒ\|_}tj||dƒ\|_}tj||ƒ\|_    }tj||ƒ\|_
}tj||ƒ\|_ }tj||ƒ\|_ }tj||ƒ\|_ }tj||ƒ\|_}tj||dƒ\|_}|dkro||krotjdtj|ƒƒdS|S(Ni@iis!Error in tagFLCOMMONHEADERS : %s (RtCommFunct    ReadDWORDt    Signaturet    Numberingt    OSVersiont
ReadStringt    Copyrightt
ReadDoublet CreationTimet LastWriteTimet BuildVersiont    Ressourcet
ResVersiontAddonsResCounttReservedtLog4PtWarntbinasciitb2a_hex(Rt_lpDatat_post_Len((s$.\\Robot\DataReader\MapDataReader.pytReadData$s 
cCsgd|_d|_d|_d|_d|_d|_d|_d|_d|_d|_    d|_
dS(NiR( RR    R
R RRRRRRR(R((s$.\\Robot\DataReader\MapDataReader.pyR8s                                            cCsxd}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|d7}|S(Niii@ii((Rtlength((s$.\\Robot\DataReader\MapDataReader.pyt    GetLengthFs
 
 
 
 
 
 
 
 
 
 
cCs÷d}tj||jƒ}tj||jƒ}tj||jƒ}tj|d|jƒ}tj||jƒ}tj||j    ƒ}tj||j
ƒ}tj||j ƒ}tj||j ƒ}tj||j ƒ}tj|d|jƒ}|S(NRi@i(Rt
WriteDWORDRR    R
t WriteStringR t WriteDoubleRRRRRRR(Rtdata((s$.\\Robot\DataReader\MapDataReader.pyt    GetBufferUsc CsPd|j|j|j|j|j|j|j|j|j|j    |j
f }|S(Nsú:
                            Signature:%d,
                            Numbering:%d,
                            OSVersion:%d,
                            Copyright:%s,
                            CreationTime:%d,
                            LastWriteTime:%d,
                            BuildVersion:%d,
                            Ressource:%d,
                            ResVersion:%d,
                            AddonsResCount:%d,
                            Reserved:%s
                            ( RR    R
R RRRRRRR(Rt
DumpString((s$.\\Robot\DataReader\MapDataReader.pyt OutputStringds  (t__name__t
__module__RR    R
R RRRRRRRRRRRR#R%(((s$.\\Robot\DataReader\MapDataReader.pyRs"                t    tagMapObscBsPeZdZdZd„Zddd„Zd„Zd„Zd„Zd„Z    RS(icCs|jƒdS(N(R(R((s$.\\Robot\DataReader\MapDataReader.pyR‡s
cCsz|jƒtj||ƒ\|_}tj||ƒ\|_}|dkrv||krvtjdtj|ƒƒdS|S(NisError in tagMapObs : %s (    RRRtWidthtHeightRRRR(RRRR((s$.\\Robot\DataReader\MapDataReader.pyR‹s
cCsd|_d|_dS(Ni(R)R*(R((s$.\\Robot\DataReader\MapDataReader.pyR–s        cCsd}|d7}|d7}|S(Nii((RR((s$.\\Robot\DataReader\MapDataReader.pyR›s
 
cCs4d}tj||jƒ}tj||jƒ}|S(NR(RRR)R*(RR"((s$.\\Robot\DataReader\MapDataReader.pyR#¡scCsd|j|jf}|S(Nsj:
                            Width:%d,
                            Height:%d
                            (R)R*(RR$((s$.\\Robot\DataReader\MapDataReader.pyR%§s (
R&R'R)R*RRRRR#R%(((s$.\\Robot\DataReader\MapDataReader.pyR(„s                 tMapNameInfoTypecBs#eZd„Zd„Zd„ZRS(cCsd|_d|_d|_dS(NRi(t MapFileNametMapIDtMapName(R((s$.\\Robot\DataReader\MapDataReader.pyRµs        cCs4|d|_tj|dƒ|_|d|_dS(Niii(R,RtToIntDefR-R.(RtcurList((s$.\\Robot\DataReader\MapDataReader.pyt ReadFromListºs  cCs d|j|j|jf}|S(Ns"MapFileName:%s,MapID:%d,MapName:%s(R,R-R.(RR$((s$.\\Robot\DataReader\MapDataReader.pyt__str__Às
 (R&R'RR1R2(((s$.\\Robot\DataReader\MapDataReader.pyR+´s        tMapDatacBs>eZd„Zd„Zd„Zd„Zd„Zd„ZRS(cCs4tjƒ|_tƒ|_tƒ|_||_dS(N(t    IPY_AStart    aStarPathRt mapDataHeadR(tmapObstmapID(RR8((s$.\\Robot\DataReader\MapDataReader.pyRÎs  cCs|jS(N(R5(R((s$.\\Robot\DataReader\MapDataReader.pyt GetAStarPathÔsc
Cst|dƒ}|jƒ}|jj|ƒ}|jj||ƒ}|}g|_xst|jjƒD]_}|jjgƒxFt|jj    ƒD]2}t
j ||ƒ\}}|j|j|ƒqWqdWt
j ||t |ƒ|ƒ\}    }|jj|    |jj    |jjƒdS(Ntrb(topentreadR6RR7tDataListtrangeR*tappendR)RtReadBYTER tlenR5tSetMap(
RtfilepathtftbuftpostobsPostjtitcurValuet
mapObsData((s$.\\Robot\DataReader\MapDataReader.pyt ReadFromFile×s     %cCs&|j||ƒ}|stSd|kS(Ni(tGetMapFilePointValuetTrue(RtposXtposYR"((s$.\\Robot\DataReader\MapDataReader.pyt IsBlockPointíscCsd|j|jj|jjf}xftt|jƒƒD]O}x<tt|j|ƒƒD]!}|t|j||ƒ7}qXW|d7}q8W|S(Ns*MapDataDump:
 MapID:%d Width:%d Height:%d
s
(R8R7R)R*R>RAR=tstr(RR"tytx((s$.\\Robot\DataReader\MapDataReader.pyR2ôs cCsT||jjks$||jjkrEtjd|j||fƒdS|j||S(Ns"Out of Range in map:%d pos:(%d,%d)(R7R*R)tloggingtwarningR8tNoneR=(RRORP((s$.\\Robot\DataReader\MapDataReader.pyRMÿs
(R&R'RR9RLRQR2RM(((s$.\\Robot\DataReader\MapDataReader.pyR3Ís                      t MapDataReadercBsPeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z    RS(cCs@i|_i|_|||_||_|jƒ|jƒdS(N(t mapNameInfot mapDataDicttmapsPathtpostFixt ReadMapIDTxttReadAllMapData(Rt
PyBaseRootR[R\((s$.\\Robot\DataReader\MapDataReader.pyR
s              
cCs¢tjj|jdƒ}tjd|ƒt|ƒ}|jƒ}xZ|D]R}|jdƒ}t    ƒ}|j
|ƒ||j |j <tjdt |ƒƒqHWdS(Ns    MapID.txtsMapID.txt path:%ss    s
Dump....%s(tostpathtjoinR[RUtdebugtfilet    readlinestsplitR+R1RYR-RR(Rt mapIdTxtPathRDtmapTxttlineR0tinfoType((s$.\\Robot\DataReader\MapDataReader.pyR]s        cCs4x-|jjƒD]}|j|ƒ|j|<qWdS(N(RYtkeyst_MapDataReader__ReadMapDataRZ(RR8((s$.\\Robot\DataReader\MapDataReader.pyR^scCs]tjj|j|j|j|jƒ}tjd||fƒt    |ƒ}|j
|ƒ|S(Ns!MapFileReader: reading [%d]%s ...( R`RaRbR[RYR,R\RURcR3RL(RR8t
curMapPathR"((s$.\\Robot\DataReader\MapDataReader.pyt __ReadMapData#s
)  cCs |j|S(N(RZ(RR8((s$.\\Robot\DataReader\MapDataReader.pytGetMapDataByID*scCs|jS(N(RZ(R((s$.\\Robot\DataReader\MapDataReader.pyt GetAllMapData-scCs:|j|ƒ}ts*tjd|ƒtS|j||ƒS(NsNO DATA for map %d(RotmapListRURVRNRQ(RR8RORPtmapData((s$.\\Robot\DataReader\MapDataReader.pyRQ1s
cCs¢d|j}|d|j7}|d7}x8|jjƒD]'}|d|t|j|ƒf7}q8Wx8|jjƒD]'}|d|t|j|ƒf7}qsW|S(Ns MapPath:%s
sMapFilePostFix:%s
s MapNameInfo:
s%d:%s
(R[R\RYRkRRRZ(RR"R8((s$.\\Robot\DataReader\MapDataReader.pyR29s 
%%(
R&R'RR]R^RlRoRpRQR2(((s$.\\Robot\DataReader\MapDataReader.pyRX    s                                 cCsVtsRt|tjƒjƒtjƒjƒƒatrRtjdt    tƒƒqRndS(Ns%s(
t__gRobotsMapDataRXRt    GetConfigtGetMapFilePathtGetMapFilePostFixt DUMP_MAPDATARURcRR(R_((s$.\\Robot\DataReader\MapDataReader.pyt ReadMapDataGs
cCstS(N(Rs(((s$.\\Robot\DataReader\MapDataReader.pyt
GetMapDataPst__main__((((((tstringRRRR`RUR4tConfigurationReaderRtFalseRwRR(R+R3RXRWRsRxRyR&(((s$.\\Robot\DataReader\MapDataReader.pyt<module>s$       r0<<