Repository URL to install this package:
|
Version:
2.5.0 ▾
|
]q (cpygments.token
_TokenType
qX CommentqX Singleqq
qq}q(X subtypesqcbuiltins
set
q ]q
qRqX parentq
hh
q
qq}q(hh ]q(hhX Preprocqq
qq}q(hh ]q
qRqh
hubhhX Multiqq
qq}q(hh ]q
q!Rq"h
hubhhX Hashbangq#q$
q%q&}q'(hh ]q(
q)Rq*h
hubhhhX
SingleLineq+q,
q-q.}q/(hh ]q0
q1Rq2h
hubhhX Docq3q4
q5q6}q7(hh ]q8
q9Rq:h
hubhhX Directiveq;q<
q=q>}q?(hh ]q@
qARqBh
hubhhX MultilineqCqD
qEqF}qG(hh ]qH
qIRqJh
hubhhX
SinglelineqKqL
qMqN}qO(hh ]qP
qQRqRh
hubhhX PreprocFileqSqT
qUqV}qW(hh ]qX
qYRqZh
hubhhX Specialq[q\
q]q^}q_(hh ]q`
qaRqbh
hube
qcRqdh
h)
qeqf}qg(hh ]qh(hX Escapeqi
qj
qkql}qm(hh ]qn
qoRqph
hfubhX Operatorqq
qr
qsqt}qu(hh ]qv(hhqX DBSqwqx
qyqz}q{(hh ]q|
q}Rq~h
htubhhqX Wordqq
qq}q(hh ]q
q
Rqh
htube
qRqh
hfhhhwhzubhX Nameq
q
qq}q(hh ]q(hhX Tagqq
qq}q(hh ]q
qRqh
hubhhX Entityqq
qq}q(hh ]qhhhhwq
qq}q (hh ]q¡
q¢Rq£h
huba
q¤Rq¥h
hhwhubhhX Exceptionq¦q§
q¨q©}qª(hh ]q«
q¬Rqh
hubhhX Decoratorq®q¯
q°q±}q²(hh ]q³
q´Rqµh
hubhhX Classq¶q·
q¸q¹}qº(hh ]q»(hhh¶hwq¼
q½q¾}q¿(hh ]qqÁRqÂh
h¹ubhhh¶X StartqÇqąqŁqÆ}qÇ(hh ]qȅqÉRqÊh
h¹ube
qËRqÌh
hhÃhÆhwh¾ubhhX Variableq͆q΅qρqÐ}qÑ(hh ]qÒ(hhhÍX AnonymousqӇqԅqՁqÖ}q×(hh ]qqÙRqÚh
hÐubhhhÍh¶qۅq܁qÝ}qÞ(hh ]q߅qàRqáh
hÐubhhhÍX Magicqâqã
qäqå}qæ(hh ]qç
qèRqéh
hÐubhhhÍX Globalqêqë
qìqí}qî(hh ]qï
qðRqñh
hÐubhhhÍX Instanceqòqó
qôqõ}qö(hh ]q÷
qøRqùh
hÐube
qúRqûh
hh¶hÝhêhíhòhõhâhåhÓhÖubhhX Attributeqüqý
qþqÿ}r (hh ]r hhhüh͇r
r r }r (hh ]r
r Rr h
hÿuba
r Rr
h
hhÍj ubhhX Namespacer r
r
r }r (hh ]r
r Rr h
hubhhX Propertyr r
r r }r (hh ]r
r Rr h
hubhhX Symbolr r
r r }r (hh ]r
r! Rr" h
hubhhX Classesr# r$
r% r& }r' (hh ]r(
r) Rr* h
hubhhX Pseudor+ r,
r- r. }r/ (hh ]r0
r1 Rr2 h
hubhhX Labelr3 r4
r5 r6 }r7 (hh ]r8
r9 Rr: h
hubhhhqr;
r< r= }r> (hh ]r?
r@ RrA h
hubhhX BuiltinrB rC
rD rE }rF (hh ]rG (hhjB j+ rH
rI rJ }rK (hh ]rL
rM RrN h
jE ubhhjB X TyperO rP
rQ rR }rS (hh ]rT
rU RrV h
jE ube
rW RrX h
hj+ jJ jO jR ubhhX FieldrY rZ
r[ r\ }r] (hh ]r^
r_ Rr` h
hubhhX Otherra rb
rc rd }re (hh ]rf hhja X Memberrg rh
ri rj }rk (hh ]rl
rm Rrn h
jd uba
ro Rrp h
hjg jj ubhhX Functionrq rr
rs rt }ru (hh ]rv hhjq hârw
rx ry }rz (hh ]r{
r| Rr} h
jt uba
r~ Rr h
hhâjy ubhhjO r
r r }r (hh ]r
r
Rr h
hubhhX Constantr r
r r }r (hh ]r
r Rr h
hube
r Rr h
hfhühÿjB jE h¶h¹j j h®h±hhh¦h©jq jt j j j3 j6 j j ja jd hhhÍhÐjY j\ j j j+ j. hqj= j# j& jO j ubhX Literalr
r
r r }r (hh ]r (hj ja r
r r }r (hh ]r
r Rr h
j ubhj X Charr r
r r¡ }r¢ (hh ]r£
r¤ Rr¥ h
j ubhj X Dater¦ r§
r¨ r© }rª (hh ]r«
r¬ Rr h
j ubhj X Scalarr® r¯
r° r± }r² (hh ]r³ hj j® X Plainr´ rµ
r¶ r· }r¸ (hh ]r¹
rº Rr» h
j± uba
r¼ Rr½ h
j j´ j· ubhj X Stringr¾ r¿
rÀ rÁ }r (hh ]rà (hj j¾ X InterpolrÄ rÅ
rÆ rÇ }rÈ (hh ]rÉ
rÊ RrË h
jÁ ubhj j¾ X DelimeterrÌ rÍ
rÎ rÏ }rÐ (hh ]rÑ
rÒ RrÓ h
jÁ ubhj j¾ j rÔ
rÕ rÖ }r× (hh ]rØ
rÙ RrÚ h
jÁ ubhj j¾ j rÛ
rÜ rÝ }rÞ (hh ]rß
rà Rrá h
jÁ ubhj j¾ hrâ
rã rä }rå (hh ]ræ
rç Rrè h
jÁ ubhj j¾ ja ré
rê rë }rì (hh ]rí
rî Rrï h
jÁ ubhj j¾ X Backtickrð rñ
rò ró }rô (hh ]rõ
rö Rr÷ h
jÁ ubhj j¾ hirø
rù rú }rû (hh ]rü
rý Rrþ h
jÁ ubhj j¾ X Regexrÿ r
r r }r (hh ]r
r Rr h
jÁ ubhj j¾ X Momentr r
r r
}r (hh ]r
r
Rr h
jÁ ubhj j¾ X Booleanr r
r r }r (hh ]r
r Rr h
jÁ ubhj j¾ X Characterr r
r r }r (hh ]r
r Rr h
jÁ ubhj j¾ X Delimiterr r
r! r" }r# (hh ]r$
r% Rr& h
jÁ ubhj j¾ h3r'
r( r) }r* (hh ]r+
r, Rr- h
jÁ ubhj j¾ hr.
r/ r0 }r1 (hh ]r2
r3 Rr4 h
jÁ ubhj j¾ X Affixr5 r6
r7 r8 }r9 (hh ]r:
r; Rr< h
jÁ ubhj j¾ X Heredocr= r>
r? r@ }rA (hh ]rB
rC RrD h
jÁ ubhj j¾ X DoublerE rF
rG rH }rI (hh ]rJ
rK RrL h
jÁ ubhj j¾ X InterprM rN
rO rP }rQ (hh ]rR
rS RrT h
jÁ ubhj j¾ X AtomrU rV
rW rX }rY (hh ]rZ
r[ Rr\ h
jÁ ube
r] Rr^ h
j j5 j8 jð jó j jÖ j j" h3j) jE jH hijú j= j@ jÄ jÇ ja jë jÿ j hjä j jÝ j j j j
jM jP j j jÌ jÏ jU jX hj0 ubhj X Numberr_ r`
ra rb }rc (hh ]rd (hj j_ X Floatre rf
rg rh }ri (hh ]rj
rk Rrl h
jb ubhj j_ X Decrm rn
ro rp }rq (hh ]rr
rs Rrt h
jb ubhj j_ X Radixru rv
rw rx }ry (hh ]rz
r{ Rr| h
jb ubhj j_ X Octr} r~
r r }r (hh ]r
r Rr h
jb ubhj j_ X Binr
r
r r }r (hh ]r
r Rr h
jb ubhj j_ hür
r r }r (hh ]r
r Rr h
jb ubhj j_ X Hexr r
r r }r (hh ]r
r Rr h
jb ubhj j_ X Integerr r
r r }r (hh ]r¡ h(j j_ j X Longr¢ tr£
r¤ r¥ }r¦ (hh ]r§
r¨ Rr© h
j uba
rª Rr« h
jb j¢ j¥ ubhj j_ X Decimalr¬ r
r® r¯ }r° (hh ]r±
r² Rr³ h
jb ube
r´ Rrµ h
j j
j je jh j j j j j} j ju jx hüj j¬ j¯ jm jp ube
r¶ Rr· h
hfj¾ jÁ j_ jb j¦ j© j® j± ja j j j¡ ubhX Genericr¸
r¹
rº r» }r¼ (hh ]r½ (hj¸ X Errorr¾ r¿
rÀ rÁ }r (hh ]rÃ
rÄ RrÅ h
j» ubhj¸ X
SubheadingrÆ rÇ
rÈ rÉ }rÊ (hh ]rË
rÌ RrÍ h
j» ubhj¸ X TracebackrÎ rÏ
rÐ rÑ }rÒ (hh ]rÓ
rÔ RrÕ h
j» ubhj¸ X OutputrÖ r×
rØ rÙ }rÚ (hh ]rÛ
rÜ RrÝ h
j» ubhj¸ X PromptrÞ rß
rà rá }râ (hh ]rã
rä Rrå h
j» ubhj¸ X Deletedræ rç
rè ré }rê (hh ]rë
rì Rrí h
j» ubhj¸ X Insertedrî rï
rð rñ }rò (hh ]ró
rô Rrõ h
j» ubhj¸ X Headingrö r÷
rø rù }rú (hh ]rû
rü Rrý h
j» ubhj¸ X Strongrþ rÿ
r r }r (hh ]r
r Rr h
j» ubhj¸ X Emphr r
r r }r
(hh ]r
r Rr
h
j» ube
r Rr h
hfjæ jé j j j¾ jÁ jö jù jî jñ jÖ jÙ jÞ já jþ j jÆ jÉ jÎ jÑ ubhj¾
r
r r }r (hh ]r
r Rr h
hfubhX Keywordr
r
r r }r (hh ]r (hj hr
r r }r (hh ]r!
r" Rr# h
j ubhj j r$
r% r& }r' (hh ]r(
r) Rr* h
j ubhj jO r+
r, r- }r. (hh ]r/
r0 Rr1 h
j ubhj X PreProcr2 r3
r4 r5 }r6 (hh ]r7
r8 Rr9 h
j ubhj X Controlr: r;
r< r= }r> (hh ]r?
r@ RrA h
j ubhj j rB
rC rD }rE (hh ]rF
rG RrH h
j ubhj j rI
rJ rK }rL (hh ]rM
rN RrO h
j ubhj j+ rP
rQ rR }rS (hh ]rT
rU RrV h
j ubhj X DeclarationrW rX
rY rZ }r[ (hh ]r\
r] Rr^ h
j ubhj X Reservedr_ r`
ra rb }rc (hh ]rd
re Rrf h
j ube
rg Rrh h
hfj jD jW jZ j jK j+ jR j_ jb jO j- j: j= j j& j2 j5 hj ubhja
ri
rj rk }rl (hh ]rm
rn Rro h
hfubhX Textrp
rq
rr rs }rt (hh ]ru (hjp X Rootrv rw
rx ry }rz (hh ]r{
r| Rr} h
js ubhjp j r~
r r }r (hh ]r
r Rr h
js ubhjp X Ragr
r
r r }r (hh ]r
r Rr h
js ubhjp X
Whitespacer r
r r }r (hh ]r
r Rr h
js ubhjp X Beerr r
r r }r (hh ]r
r Rr h
js ubhjp X Punctuationr r
r r }r¡ (hh ]r¢
r£ Rr¤ h
js ube
r¥ Rr¦ h
hfj j j j j j jv jy j j j
j ubhhj
r§
r¨ r© }rª (hh ]r« hj X Indicatorr¬ r
r® r¯ }r° (hh ]r±
r² Rr³ h
j© uba
r´ Rrµ h
hfj¬ j¯ ube
r¶ Rr· jp js hihlj¾ j ja jk j j hhj j j j© hqhthhj¸ j» X Tokenr¸ hfj¾ jÁ j_ jb ubh#h&hChFhhhShVhhh[h^h;h>h+h.h3h6hhhKhNububXN ;----------------------------------------------------------------------------;r¹ rº js X
r» r¼ hX2 ; Does A* pathfinding for rockraiders and vehiclesr½ r¾ js j» r¿ hX ;rÀ rÁ js j» r hX ; Copyright 2015 Ruben De Smetrà rÄ js j» rÅ hjÀ rÆ js j» rÇ hXD ; Redistribution and use in source and binary forms, with or withoutrÈ rÉ js j» rÊ hXH ; modification, are permitted provided that the following conditions arerË rÌ js j» rÍ hX ; met:rÎ rÏ js j» rÐ hX ; rÑ rÒ js j» rÓ hXH ; (1) Redistributions of source code must retain the above copyrightrÔ rÕ js j» rÖ hXH ; notice, this list of conditions and the following disclaimer. r× rØ js j» rÙ hX ; rÚ rÛ js j» rÜ hXK ; (2) Redistributions in binary form must reproduce the above copyrightrÝ rÞ js j» rß hXI ; notice, this list of conditions and the following disclaimer inrà rá js j» râ hXD ; the documentation and/or other materials provided with therã rä js j» rå hX ; distribution. ræ rç js j» rè hX
; ré rê js j» rë hX3 ; (3) The name of the author may not be used torì rí js j» rî hXH ; endorse or promote products derived from this software withoutrï rð js j» rñ hX, ; specific prior written permission.rò ró js j» rô hX ; rõ rö js j» r÷ hXF ; THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS ORrø rù js j» rú hX@ ; IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDrû rü js j» rý hXH ; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARErþ rÿ js j» r hXD ; DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,r r js j» r hXD ; INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGESr r js j» r hXD ; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS ORr r js j» r hXD ; SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)r
r js j» r hXE ; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,r
r js j» r hXG ; STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISINGr r js j» r hXD ; IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THEr r js j» r hX ; POSSIBILITY OF SUCH DAMAGE.r r js j» r hjÀ r js j» r hXN ;----------------------------------------------------------------------------;r r js j» r js j» r j X IDEALr r js j» r! j X P386r" r# js j» r$ j X MODELr% r& js X r' r( hÐX FLATr) r* j© X ,r+ r, js j' r- hÐX Cr. r/ js j» r0 j X ASSUMEr1 r2 js j' r3 jE X csr4 r5 j© X :r6 r7 hÐX _TEXTr8 r9 j© j+ r: jE X dsr; r< j© j6 r= hÐX FLATr> r? j© j+ r@ jE X esrA rB j© j6 rC hÐX FLATrD rE j© j+ rF jE X fsrG rH j© j6 rI hÐX FLATrJ rK j© j+ rL jE X gsrM rN j© j6 rO hÐX FLATrP rQ js X
rR rS j X INCLUDErT rU js j' rV jÁ X "ASTAR.INC"rW rX js j» rY j X INCLUDErZ r[ js j' r\ jÁ X
"READLVL.INC"r] r^ js j» r_ j X INCLUDEr` ra js j' rb jÁ X "DEBUG.INC"rc rd js X
re rf j X STRUCrg rh js j' ri hÐX TPriorityFieldrj rk js j» rl js X rm rn j X heuristicro rp jZ j' rq jZ X ddrr rs js j' rt hÐX ?ru rv js j» rw js X rx ry j X distancerz r{ jZ j' r| jZ X ddr} r~ js j' r hÐju r js j» r js X r r j X xr r
jZ j' r jZ X dbr r js j' r hÐju r js j» r js X r r j X yr r jZ j' r jZ X dbr r js j' r hÐju r js j» r js X r r j X fromxr r jZ j' r jZ X dbr r js j' r hÐju r js j» r js X r r¡ j X fromyr¢ r£ jZ j' r¤ jZ X dbr¥ r¦ js j' r§ hÐju r¨ js j» r© j X ENDSrª r« js X
r¬ r j X STRUCr® r¯ js j' r° hÐX TFieldr± r² js j» r³ js X r´ rµ j X distancer¶ r· jZ j' r¸ jZ X ddr¹ rº js j' r» hÐju r¼ js j» r½ js X r¾ r¿ j j rÀ jZ j' rÁ jZ X dbr rà js j' rÄ hÐju rÅ js j» rÆ js X rÇ rÈ j j rÉ jZ j' rÊ jZ X dbrË rÌ js j' rÍ hÐju rÎ js j» rÏ j X ENDSrÐ rÑ js X
rÒ rÓ j X CODESEGrÔ rÕ js j' rÖ js X
r× rØ j X PROCrÙ rÚ js j' rÛ hÐX getPathrÜ rÝ js j» rÞ js X rß rà j X USESrá râ js j' rã jE X ecxrä rå js j» ræ js X rç rè j X ARGré rê js j' rë hÐX @@tgtxrì rí j© j6 rî j- X dwordrï rð j© j+ rñ js j' rò js X \
ró rô js X rõ rö hÐX @@tgtyr÷ rø j© j6 rù j- X dwordrú rû js j' rü js X \
rý rþ js X rÿ r hÐX RETURNSr r js j' r jE X eaxr r j© j+ r js j' r jE X ebxr r js j' r
hX ; eax contains x, ebx contains yr r js X
r
r js X r r jt X callr r js j' r hÐX
getLevelWidthr r js j» r js X r r jt X imulr r js j' r jE X eaxr r j© j+ r js j' r j© X [r r! hÐX @@tgtyr" r# j© X ]r$ r% js j» r& js X r' r( jt X addr) r* js j' r+ jE X eaxr, r- j© j+ r. js j' r/ j© j r0 hÐX @@tgtxr1 r2 j© j$ r3 js j» r4 js X r5 r6 jt X imulr7 r8 js j' r9 jE X eaxr: r; j© j+ r< js j' r= jE X SIr> r? hÐX ZEr@ rA js j' rB hÐX TFieldrC rD js j» rE js X rF rG jt X addrH rI js j' rJ jE X eaxrK rL j© j+ rM js j' rN hÐX offsetrO rP js j' rQ hÐX backtraceGraphrR rS js X rT rU js j» rV js X rW rX jt X movrY rZ js j' r[ jE X ecxr\ r] j© j+ r^ js j' r_ jE X eaxr` ra js X
rb rc js X rd re jt X xorrf rg js j' rh jE X eaxri rj j© j+ rk js j' rl jE X eaxrm rn js j» ro js X rp rq jt X xorrr rs js j' rt jE X ebxru rv j© j+ rw js j' rx jE X ebxry rz js X
r{ r| js X r} r~ jt X movr r js j' r jE X alr r j© j+ r js j' r
j© X [(r r hÐX TFieldr r js j' r hÐX ptrr r js j' r jE X ecxr r j© X )r r hÐX .xr r j© j$ r js j» r js X r r jt X movr r js j' r jE X blr r j© j+ r js j' r j© X [(r r hÐX TFieldr¡ r¢ js j' r£ hÐX ptrr¤ r¥ js j' r¦ jE X ecxr§ r¨ j© j r© hÐX .yrª r« j© j$ r¬ js X
r r® js X r¯ r° jt X retr± r² js j» r³ j X ENDPr´ rµ js j' r¶ hÐX getPathr· r¸ js X
r¹ rº j X PROCr» r¼ js j' r½ hÐX findPathr¾ r¿ js j» rÀ js X rÁ r hX1 ; eax will contain a 1 when a path has been foundrà rÄ js j» rÅ js X rÆ rÇ hX! ; 0 otherwise.rÈ rÉ js j» rÊ js X rË rÌ j X ARGrÍ rÎ js j' rÏ hÐX @@srcxrÐ rÑ j© j6 rÒ j- X dwordrÓ rÔ j© j+ rÕ js j' rÖ js X \
r× rØ js X rÙ rÚ hÐX @@srcyrÛ rÜ j© j6 rÝ j- X dwordrÞ rß j© j+ rà js j' rá js X \
râ rã js X rä rå hÐX @@tgtxræ rç j© j6 rè j- X dwordré rê j© j+ rë js j' rì js X \
rí rî js X rï rð hÐX @@tgtyrñ rò j© j6 ró j- X dwordrô rõ j© j+ rö js j' r÷ js X \
rø rù js X rú rû hÐX @@typerü rý j© j6 rþ j- X dwordrÿ r js j' r js X \
r r js X r r hÐX RETURNSr r js j' r jE X eaxr r
js X
r r js X r
r hX1 ; Check whether the target field is "allowed" forr r js j» r js X r r hX% ; the selected vehicle or rock raiderr r js j» r js X r r jt X callr r js j' r hÐX getFieldr r j© j+ r js j' r j© j r hÐX @@tgtxr! r" j© X ],r# r$ js j' r% j© j r& hÐX @@tgtyr' r( j© j$ r) js j» r* js X r+ r, jt X movr- r. js j' r/ jE X alr0 r1 j© j+ r2 js j' r3 j© j r4 j- X byter5 r6 js j' r7 hÐX ptrr8 r9 js j' r: jE X eaxr; r< j© j$ r= js j» r> js X r? r@ jt X andrA rB js j' rC jE X eaxrD rE j© j+ rF js j' rG j X 0FFhrH rI js X
rJ rK js X rL rM jt X addrN rO js j' rP jE X eaxrQ rR j© j+ rS js j' rT hÐX offsetrU rV js j' rW hÐX actionTablerX rY js j» rZ js X r[ r\ jt X movr] r^ js j' r_ jE X eaxr` ra j© j+ rb js j' rc j© j rd jE X eaxre rf j© j$ rg js j» rh js X ri rj jt X andrk rl js j' rm jE X eaxrn ro j© j+ rp js j' rq j© j rr hÐX @@typers rt j© j$ ru js X rv rw hX* ; TODO: for now, rock raider is hard codedrx ry js j» rz js X r{ r| jt X jnzr} r~ js j' r hÐX @canGoToTargetr r js X
r r js X r r
jt X movr r js j' r jE X eaxr r j© j+ r js j' r j X 0r r js j» r js X r r jt X retr r js j» r j6 X @canGoToTarget:r r js j» r js j» r js X r r jt X callr r js j' r jE X clr r hÐX eanDatar r¡ js j» r¢ js X r£ r¤ jt X movr¥ r¦ js j' r§ jE X eaxr¨ r© j© j+ rª js j' r« j© j r¬ hÐX @@typer r® j© j$ r¯ js j» r° js X r± r² jt X movr³ r´ js j' rµ j© j r¶ hÐX currentTyper· r¸ j© X ],r¹ rº js j' r» jE X eaxr¼ r½ js X
r¾ r¿ js X rÀ rÁ jt X movr rà js j' rÄ jE X eaxrÅ rÆ j© j+ rÇ js j' rÈ j© j rÉ hÐX @@srcxrÊ rË j© j$ rÌ js j» rÍ js X rÎ rÏ jt X movrÐ rÑ js j' rÒ j© j rÓ hÐX
currentOpen.xrÔ rÕ j© X ],rÖ r× js j' rØ jE X alrÙ rÚ js j» rÛ js X rÜ rÝ jt X movrÞ rß js j' rà jE X eaxrá râ j© j+ rã js j' rä j© j rå hÐX @@srcyræ rç j© j$ rè js j» ré js X rê rë jt X movrì rí js j' rî j© j rï hÐX
currentOpen.yrð rñ j© X ],rò ró js j' rô jE X alrõ rö js X
r÷ rø js X rù rú jt X callrû rü js j' rý jE X dirþ rÿ hÐX stancer r j© j+ r js j' r j© j r hÐX @@srcxr r j© X ],r r js j' r j© j r
hÐX @@srcyr r j© X ],r
r js j' r j© j r hÐX @@tgtxr r j© X ],r r js j' r j© j r hÐX @@tgtyr r j© j$ r js j' r js j» r js X r r hX ; eax <- distancer r js j» r js X r! r" jt X callr# r$ js j' r% hÐX addOpenr& r' j© j+ r( js j' r) j© j r* hÐX @@srcxr+ r, j© X ],r- r. js j' r/ j© j r0 hÐX @@srcyr1 r2 j© X ],r3 r4 js j' r5 jE X eaxr6 r7 j© j+ r8 js j' r9 j j r: js X
r; r< j6 X @openListNotEmpty:r= r> js j» r? js X r@ rA jt X callrB rC js j' rD hÐX popOpenrE rF js j» rG js X rH rI jt X cmprJ rK js j' rL jE X eaxrM rN j© j+ rO js j' rP j j rQ js j» rR js X rS rT jt X jerU rV js j' rW hÐX @openListEmptyrX rY js X
rZ r[ js X r\ r] jt X callr^ r_ js j' r` hÐX addToMapra rb js X
rc rd js X re rf jt X callrg rh js j' ri hÐX addClosedrj rk js X
rl rm js X rn ro jt X movrp rq js j' rr jE X eaxrs rt j© j+ ru js j' rv j© j rw hÐX @@tgtxrx ry j© j$ rz js j» r{ js X r| r} jt X cmpr~ r js j' r j© j r hÐX
currentOpen.xr r j© X ],r r
js j' r jE X alr r js j» r js X r r jt X jner r js j' r hÐX @nextOpenr r js j» r js X r r jt X movr r js j' r jE X eaxr r j© j+ r js j' r j© j r hÐX @@tgtyr r j© j$ r js j» r js X r r¡ jt X cmpr¢ r£ js j' r¤ j© j r¥ hÐX
currentOpen.yr¦ r§ j© X ],r¨ r© js j' rª jE X alr« r¬ js j» r js X r® r¯ jt X jner° r± js j' r² hÐX @nextOpenr³ r´ js X
rµ r¶ js X r· r¸ jt X jmpr¹ rº js j' r» hÐX @routeFoundr¼ r½ js X
r¾ r¿ js X rÀ rÁ j6 X
@nextOpen:r rà js j» rÄ js X rÅ rÆ jt X callrÇ rÈ js j' rÉ hÐX
addNeighboursrÊ rË j© j+ rÌ js j' rÍ j© j rÎ hÐX @@tgtxrÏ rÐ j© X ],rÑ rÒ js j' rÓ j© j rÔ hÐX @@tgtyrÕ rÖ j© j$ r× js X
rØ rÙ js X rÚ rÛ jt X jmprÜ rÝ js j' rÞ hÐX @openListNotEmptyrß rà js X
rá râ j6 X @openListEmpty:rã rä js j» rå js X ræ rç jt X movrè ré js j' rê jE X eaxrë rì j© j+ rí js j' rî j j rï js j» rð js X rñ rò jt X retró rô js X
rõ rö j6 X @routeFound:r÷ rø js j» rù js X rú rû jt X movrü rý js j' rþ jE X eaxrÿ r j© j+ r js j' r j X 1r r js j» r js X r r jt X retr r js j» r
j X ENDPr r js j' r
hÐX findPathr r js X
r r j X PROCr r js j' r hÐX addToMapr r js j» r js X r r j X USESr r js j' r jE X eaxr r j© j+ r js j' r jE X ecxr! r" js X
r# r$ js X r% r& jt X callr' r( js j' r) hÐX
getLevelWidthr* r+ js j» r, js X r- r. jt X xorr/ r0 js j' r1 jE X ecxr2 r3 j© j+ r4 js j' r5 jE X ecxr6 r7 js j» r8 js X r9 r: jt X movr; r< js j' r= jE X clr> r? j© j+ r@ js j' rA j© j rB hÐX
currentOpen.yrC rD j© j$ rE js j» rF js X rG rH jt X imulrI rJ js j' rK jE X eaxrL rM j© j+ rN js j' rO jE X ecxrP rQ js j» rR js X rS rT jt X movrU rV js j' rW jE X clrX rY j© j+ rZ js j' r[ j© j r\ hÐX
currentOpen.xr] r^ j© j$ r_ js j» r` js X ra rb jt X addrc rd js j' re jE X eaxrf rg j© j+ rh js j' ri jE X ecxrj rk js j» rl js X rm rn jt X imulro rp js j' rq jE X eaxrr rs j© j+ rt js j' ru jE X SIrv rw hÐX ZErx ry js j' rz hÐX TFieldr{ r| js j» r} js X r~ r jt X addr r js j' r jE X eaxr r j© j+ r
js j' r hÐX offsetr r js j' r hÐX backtraceGraphr r js X
r r js X r r jt X movr r js j' r jE X ecxr r j© j+ r js j' r j© j r hÐX currentOpen.distancer r j© j$ r js j» r js X r r jt X cmpr r js j' r j© X [(r¡ r¢ hÐX TFieldr£ r¤ js j' r¥ hÐX ptrr¦ r§ js j' r¨ jE X eaxr© rª j© j r« hÐX .distancer¬ r j© X ],r® r¯ js j' r° jE X ecxr± r² js j» r³ js X r´ rµ jt X jber¶ r· js j' r¸ hÐX @dontAddr¹ rº js X
r» r¼ js X r½ r¾ jt X movr¿ rÀ js j' rÁ j© X [(r rà hÐX TFieldrÄ rÅ js j' rÆ hÐX ptrrÇ rÈ js j' rÉ jE X eaxrÊ rË j© j rÌ hÐX .distancerÍ rÎ j© X ],rÏ rÐ js j' rÑ jE X ecxrÒ rÓ js j» rÔ js X rÕ rÖ jt X movr× rØ js j' rÙ jE X clrÚ rÛ j© j+ rÜ js j' rÝ j© j rÞ hÐX currentOpen.fromxrß rà j© j$ rá js j» râ js X rã rä jt X movrå ræ js j' rç j© X [(rè ré hÐX TFieldrê rë js j' rì hÐX ptrrí rî js j' rï jE X eaxrð rñ j© j rò hÐX .xró rô j© X ],rõ rö js j' r÷ jE X clrø rù js j» rú js X rû rü jt X movrý rþ js j' rÿ jE X clr r j© j+ r js j' r j© j r hÐX currentOpen.fromyr r j© j$ r js j» r js X r r
jt X movr r js j' r
j© X [(r r hÐX TFieldr r js j' r hÐX ptrr r js j' r jE X eaxr r j© j r hÐX .yr r j© X ],r r js j' r jE X clr r js X
r r! j6 X @dontAdd:r" r# js j» r$ js X r% r& jt X retr' r( js j» r) j X ENDPr* r+ js j' r, hÐX addToMapr- r. js X
r/ r0 hX] ; Is closed checks whether the field considered is "closed" for being added to the open list.r1 r2 js j» r3 hX= ; So, it also checks whether we can go on the selected field.r4 r5 js j» r6 j X PROCr7 r8 js j' r9 hÐX isClosedr: r; js j» r< js X r= r> j X USESr? r@ js j' rA jE X ebxrB rC j© j+ rD js j' rE jE X ecxrF rG j© j+ rH js j' rI jE X edxrJ rK js j» rL js X rM rN j X ARGrO rP js j' rQ hÐX @@xrR rS j© j6 rT j- X dwordrU rV j© j+ rW js j' rX js X \
rY rZ js X r[ r\ hÐX @@yr] r^ j© j6 r_ j- X dwordr` ra js j' rb hÐX RETURNSrc rd js j' re jE X eaxrf rg js X
rh ri js X rj rk hX ; Check bounds first:rl rm js j» rn js j» ro js X rp rq jt X callrr rs js j' rt hÐX
getLevelWidthru rv js j» rw js X rx ry jt X cmprz r{ js j' r| j© j r} hÐX @@xr~ r j© X ],r r js j' r jE X eaxr r js j» r
js X r r jt X jar r js j' r hÐX notWithinBoundsr r js j' r hX ; ja considers -1 > 10r r js X
r r js X r r jt X callr r js j' r hÐX getLevelHeightr r js j» r js X r r jt X cmpr r js j' r j© j r hÐX @@yr r¡ j© X ],r¢ r£ js j' r¤ jE X eaxr¥ r¦ js j» r§ js X r¨ r© jt X jarª r« js j' r¬ hÐX notWithinBoundsr r® js X
r¯ r° js X r± r² hX+ ; Check whether this field is "allowed" forr³ r´ js j» rµ js X r¶ r· hX% ; the selected vehicle or rock raiderr¸ r¹ js j» rº js X r» r¼ jt X callr½ r¾ js j' r¿ e(hÐX getFieldrÀ rÁ j© j+ r js j' rà j© j rÄ hÐX @@xrÅ rÆ j© X ],rÇ rÈ js j' rÉ j© j rÊ hÐX @@yrË rÌ j© j$ rÍ js j» rÎ js X rÏ rÐ jt X movrÑ rÒ js j' rÓ jE X alrÔ rÕ j© j+ rÖ js j' r× j© j rØ j- X byterÙ rÚ js j' rÛ hÐX ptrrÜ rÝ js j' rÞ jE X eaxrß rà j© j$ rá js j» râ js X rã rä jt X andrå ræ js j' rç jE X eaxrè ré j© j+ rê js j' rë j X 0FFhrì rí js X
rî rï js X rð rñ jt X addrò ró js j' rô jE X eaxrõ rö j© j+ r÷ js j' rø hÐX offsetrù rú js j' rû hÐX actionTablerü rý js j» rþ js X rÿ r
jt X movr
r
js j' r
jE X eaxr
r
j© j+ r
js j' r
j© j r
jE X eaxr
r
j© j$ r
js j» r
js X r
r
jt X andr
r
js j' r
jE X eaxr
r
j© j+ r
js j' r
j© j r
hÐX currentTyper
r
j© j$ r
js X r
r
hX* ; TODO: for now, rock raider is hard codedr
r
js j» r
js X r
r
jt X jnzr!
r"
js j' r#
hÐX
@canGoHerer$
r%
js X
r&
r'
js X r(
r)
jt X incr*
r+
js j' r,
jE X eaxr-
r.
js j' r/
hX ; mov eax, 1r0
r1
js j» r2
js X r3
r4
jt X retr5
r6
js X
r7
r8
j6 X @canGoHere:r9
r:
js j» r;
js X r<
r=
js j» r>
js X r?
r@
hX>