
    7PiW                     n    d dl Z d dlZd dlZd dlZdZdZdZd Zd Zd Z	d Z
ed	k    r e
             dS dS )
    Nz_/var/lib/pterodactyl/volumes/cc7ccc03-03bd-4bde-8488-3057d3803420/world/mtr/minecraft/overworldzZ/var/lib/pterodactyl/volumes/cc7ccc03-03bd-4bde-8488-3057d3803420/squaremap/web/rails.json   c           	      D    ddddddddd	}|                     | d
          S )u9   Zamienia tekst kąta (N, SE, itp.) na wektor matematyczny)r   )r      )r   r   )r   r   )r   r   )r   r   )r   r   )r   r   )NSEWNENWSESW)r   r   )get)	angle_strvectorss     (/root/ciapongi-mapa/generate_rails_v2.pyget_vector_from_angler      s:     VWXW	 G ;;y&)))    c                     d| z
  dz  |d         z  dd| z
  z  | z  |d         z  z   | dz  |d         z  z   }d| z
  dz  |d         z  dd| z
  z  | z  |d         z  z   | dz  |d         z  z   }||gS )z>Oblicza punkt na krzywej kwadratowej Beziera dla czasu t (0-1)r      r    )tp0p1p2xzs         r   get_bezier_pointr      s     
1q2a51ac719r!u,,q!tbe|;A	
1q2a51ac719r!u,,q!tbe|;Aq6Mr   c                 D   t          |          }t          |          }| d         | d         f}|d         |d         f}t          j        |d         |d         z
  dz  |d         |d         z
  dz  z             }|dz  }	|d         |d         |	z  z   }
|d         |d         |	z  z   }g }t          t          dz             D ]_}|t          z  }t          |||
|f|          }|                    t          |d         d          t          |d         d          g           `|S )u9   Generuje listę punktów tworzących łuk między p1 a p2r   r   r   r   r   g      ?)r   mathsqrtrangeSEGMENTS_PER_RAILr   appendround)r   angle1r   angle2v1v2startenddistoffsetcp_xcp_zpointsir   pts                   r   generate_curver3      s.    
v	&	&B	v	&	&BWbgEc7BsG
C 9c!fU1Xo)SVE!H_q,@@AADCZF 8befn$D8befn$D F$q()) : :!!atc::uRUAbeQ89999Mr   c            	      <   t          d           t          j                            t          d          } g }d}t          j                            |           st          d           d S t          j        |           D ]*\  }}}|D ]}	 t          t          j                            ||          d          5 }t          j	        |d          }|
                    d          d	k    r	 d d d            o|
                    d
          }	|
                    d          }
|
                    d          }|
                    d          }|	r2|
r0|r.|r,t          |	||
|          }|                    |           |dz  }d d d            n# 1 swxY w Y   # t          $ r Y w xY w,t          dt          |           d           t          t          dd          5 }t!          j        ||           d d d            n# 1 swxY w Y   t          d           d S )Nu.   --- Start Generowania Łuków (Bézier v2) ---railsr   u"   Błąd: Folder rails nie istnieje!rbF)rawtransportModeTRAIN	position1	position2r&   r'   r   z[*] Zapisywanie u    wygładzonych torów...wzutf-8)encodingu*   SUKCES! Wygenerowano rails.json z łukami.)printospathjoinMTR_DATA_PATHexistswalkopenmsgpackunpackr   r3   r$   	ExceptionlenOUTPUT_FILEjsondump)
rails_path	all_railscountrootdirsfilesfilenamefdatar   r   a1a2curve_pointss                 r   mainrY   ?   s   	
:;;;mW55JIE7>>*%% 2333WZ00  dE 	 	H"',,tX66== #">!777Dxx00G;;X# # # # # # #
 +..B+..B(++B(++B #b #R #B #'5b"b"'E'E!((666
# # # # # # # # # # # # # # #     %	* 

ES^^
E
E
EFFF	k3	1	1	1  Q	)Q                              

677777sU   
.F81F	)F5BF	=F	FFFF
F$#F$ HH	H__main__)r?   rF   rK   r    rB   rJ   r#   r   r   r3   rY   __name__r   r   r   <module>r\      s    				    rj  	* 	* 	*    @&8 &8 &8P zDFFFFF r   