
    UHj                       d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	  ee
      j                         j                  d   Zedz  Zedz  Z ej                   d	      Zdd
ZefddZefddZefddZeefddZddZedk(  r e        yy)z:Export battle background tilemaps for the browser runtime.    )annotationsN)Path)	parse_map   extract_fldoutz^btl_([a-z])([0-9]+)$c                2    t        j                  | dd      S )NF),:)ensure_ascii
separators)jsondumps)datas    6/home/exedev/hwanse/tools/export_battle_backgrounds.pyjs_jsonr      s    ::d:FF    c                    d|  d}d|  d}|| dz  j                         sd}|| dz  j                         s|}||gS )Nmap_12z.cnsmap_a1)exists)familyextract_dirfirstseconds       r   battle_tilesetsr      s`    6(!EF81FUG4.(002VHD/)1136?r   c                n   i }t        | j                  d            D ]  }t        j                  |j                        }|s%|j                         \  }}t        ||j                        }t        ||       }|j                  d|t        |      |d   ||||gddg d g d       |||j                  <    |S )Nz	btl_*.cns)namezbattle-backgroundr   
row40_zerolayer1UnderSceneTilesets)kindr   varianttilesetlayerTilesetssceneTilesetsobservedSceneTilesetssceneTilesetVariantstileIndexMode
visualModeterrainBlockedTilespassableTilestransitions)
sortedglobBATTLE_MAP_RE	fullmatchstemgroupsr   r   updateint)r   backgroundssrcmatchr   r$   infotilesetss           r   build_indexr<   !   s    #%Kk&&{34 %''1,,.388,"6;7+ w<#A;!)!))1)1
!-8')!%!	
" !%CHH1%2 r   c                    |j                  dd       |dz  j                  t        j                  | dd      dz   d	       |d
z  j                  dt	        |       z   dz   d	       y )NT)parentsexist_okzbattle_backgrounds.jsonF   )r   indent
zutf-8)encodingbattle_backgrounds.jsz#window.HWANSE_BATTLE_BACKGROUNDS = z;
)mkdir
write_textr   r   r   )r7   out_dirs     r   write_outputsrH   ?   s{    MM$M.((44

;U1=D 5  &&22-
+
	
	 	 3 r   c                n    t        |      }t        ||        t        dt        |       d| dz          |S )Nzwrote z battle backgrounds -> rD   )r<   rH   printlen)rG   r   r7   s      r   export_battle_backgroundsrL   M   s?    k*K+w'	F3{#$$;GF]<];^
_`r   c                     t        j                         } | j                  dt        t               | j                  dt        t
               | j                         }t        |j                  |j                         y )Nz--extract-dir)typedefaultz	--out-dir)
argparseArgumentParseradd_argumentr   EXTRACT_FLDOUT
parse_argsrL   rG   r   )parserargss     r   mainrX   T   s\    $$&F
dKH
$<DdllD,<,<=r   __main__)returnstr)r   r[   r   r   rZ   z	list[str])r   r   rZ   dict[str, dict])r7   r\   rG   r   rZ   None)rG   r   r   r   rZ   r\   )rZ   r]   )__doc__
__future__r   rP   r   repathlibr   export_map_jsr   __file__resolver>   ROOTrS   rT   compiler1   r   r   r<   rH   rL   rX   __name__ r   r   <module>ri      s    @ "   	  # H~''*]"
Ul

34G 6A  %0 < AD  /2{ > zF r   