
    aR                         S SK r S SKrS SKrS SK7  SSKJrJrJrJr  S r " S S\5      r	\R                  " \	" 5       5        g)    N)*   )EnabledSaveTypeOptionManagerSDKModHookc                  Z    [         R                  " 5       R                  S   R                  $ )Nr   )	unrealsdk	GetEngineGamePlayersActor     iZ:\mnt\Skyabridged\SteamLibrary\steamapps\common\Borderlands 2\sdk_mods\ConfigurableViewmodel\__init__.pyget_pcr   
   s"     ,,Q/555r   c                     ^  \ rS rSrSrSrSrSr\R                  r
\R                  R                  SSSSS/5      \R                  R                  S	S
SSS/5      \R                  R                  SSSSS/5      \R                  R                  SSSSSS5      \R                  R                  SSSSSS5      \R                  R                  SSSSSS5      \R                  R                  SSSSSS5      /r\R                   R#                  \R                   R%                  \5      5      rU 4S jrU 4S  jr\" S!5      S"\R2                  S#\R4                  S$\R6                  4S% j5       rS& rS' r0 rS( r S) r!S* r"S+r#U =r$$ ),	Viewmodel   CVMz<B><U><font size='18' color='#e8131d'>Configurable Viewmodel</font></U></B>
A mod that allows you to set your viewmodel the way you like it!Jusoz2.1Save current type to filez9Save the current configuration for the current WeaponTypeSaveSave same type to filez;Save the current configuration for all the same WeaponTypeszSave AllLoad from filesz$Loads your previously saved configs.LoadFirstPersonMeshFOVzChange the FirstPersonMeshFOV-   r   d      PlayerViewOffset.Xz#Change the PlayerViewOffset X Value   iPlayerViewOffset.Yz#Change the PlayerViewOffset Y Value   PlayerViewOffset.Zz#Change the PlayerViewOffset Z Valuer   c                 "   > [         TU ]  5         g N)superEnableself	__class__s    r   r(   Viewmodel.Enable&   s    r   c                 "   > [         TU ]  5         g r&   )r'   Disabler)   s    r   r.   Viewmodel.Disable)   s    r   z+WillowGame.WillowHUD.CreateWeaponScopeMoviecallerfunctionparamsc                 $    U R                  5         g)NT)load_from_files)r*   r0   r1   r2   s       r   apply_settingsViewmodel.apply_settings,   s    r   c                 P    U(       d  g Xl         [        5       R                  5         g r&   )r   r   UpdateForegroundFOV)r*   valueWTs      r   change_MeshFOVViewmodel.change_MeshFOV1   s     %$$&r   c                     US:X  a  X#R                   l        O-US:X  a  X#R                   l        OUS:X  a  X#R                   l        [	        5       R
                  nUR                  5         g )Nr    r"   r$   )PlayerViewOffsetXYZr   PawnSetArmPosition)r*   xyzr9   r:   pawns        r   change_ViewOffsetViewmodel.change_ViewOffset7   sX    &&$)!(($)!(($)!x}}r   c                    U R                   R                  5         U R                  SS  H&  nUR                  U R                   UR                  '   M(     [        [        R                  R                  U R                  [        U5      S-   5      S5       n[        R                  " U R                   U5        S S S 5        U R                   R                  5         [        [        R                  R                  U R                  S5      S5       n[        R                  " U R                   U5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N      .jsonwzSkeletalMeshSocket.json)saved_settingsclearOptionsCurrentValueCaptionopenospathjoinPATHstrjsondump)r*   obj_optionfiles       r   save_to_jsonViewmodel.save_to_jsonC   s    !!#||Aa(G3:3G3GD0 )"'',,tyy#c(W*<=sCtIId))40 D!!#"'',,tyy*CDcJdIId))40 KJ DC KJs   "D7"E7
E
Ec                    XR                   ;   Ga  [        5       (       a<  [        5       R                  (       a#  [        5       R                  R                  (       d  g [        5       R                  R                  R                  R
                  nUR                  S:X  a  U R                  X#5        g UR                  S:X  a  U R                  UR                  X#5        g UR                  S:X  a  U R                  UR                  X#5        g UR                  S:X  a  U R                  UR                  X#5        g UR                  S:X  a  U R                  U5        g UR                  S:X  aK  [        R                  " S5       H0  nUR                  UR                  :X  d  M  U R                  U5        M2     g UR                  S:X  a  U R                  5         g g g )	Nr   r    r"   r$   r   r   WeaponTypeDefinitionr   )rO   r   rB   WeaponDefinitionDatar`   rQ   r;   rF   r]   r
   FindAllBodyWeaponHoldNamer4   )r*   option	new_value
WeaponTypewts        r   ModOptionChangedViewmodel.ModOptionChangedM   sM   \\!8868==8L8L--<<QQJ~~!55##I:#77&&v~~yM#77&&v~~yM#77&&v~~yM#>>!!*-#;;#++,BCB,,
0M0MM))"- D #44$$& 5/ "r   c           	         [         R                  " U R                  5       GH@  u  pnU GH2  nUR                  S5      (       d  M  [	        UR                  5       5      S:  d  M;  [        UR                  5       S   5      n[         R                  R                  [        UR                  5       S   5      5      S   n[        R                  " XV5      n[        [         R                  R                  X5      S5       n[        R                  " U5      n	U R                  U	S   U5        U	R!                  5        H  u  p U R#                  XU5        M     S S S 5        GM5     GMC     g !    M4  = f! , (       d  f       GMU  = f)NrK   r   r   rr   )rS   walkrV   endswithlensplitrW   rT   splitextr
   
FindObjectrR   rU   rX   loadr;   itemsrF   )r*   rootdirsfilesr\   clsrZ   rg   fsettingsattrr9   s               r   r4   Viewmodel.load_from_filesh   s   !#!3D==))4::<(1,!$**,q/2 gg..s4::<?/CDQG%.%9%9#%C
!"'',,t":C@A'+yy|H //9M0NPZ[/7~~/?!)$($:$:4
$S 0@ A@  "4!)$( A@s%   <AE/>E'E/'E,)E//
E?r   )%__name__
__module____qualname____firstlineno__NameDescriptionAuthorVersionr   LoadWithSettingsSaveEnabledStater   rO   SpinnerSliderrS   rT   dirnamerealpath__file__rV   r(   r.   r   r
   UObject	UFunctionFStructr5   r;   rF   rM   r]   ri   r4   __static_attributes____classcell__)r+   s   @r   r   r      s   DUKFG&77%%&A D]^dgmoufv	x%%&> A\]g'1:&>	@ 	%%&79_ag'-v&6	8 	$$%9;Z\^`acfhij$$%9;`bdfjloqrs$$%9;`bceiknpqr$$%9;`bceiknpqrG 77??277++H56D 

78Y%6%6 )BUBU _h_p_p  9' N1'6) )r   r   )rX   rS   r
   ModMenur   r   r   r   r   r   RegisterModr   r   r   <module>r      s=     	   B B6i) i)X 
  ik "r   