Advertisement
Guest User

Untitled

a guest
Jan 4th, 2017
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.46 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. ################################################################################
  4. # This file is part of OpenELEC - http://www.openelec.tv
  5. # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
  6. #
  7. # OpenELEC is free software: you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation, either version 2 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # OpenELEC is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
  19. ################################################################################
  20.  
  21. . /etc/profile
  22.  
  23. oe_setup_addon emulator.tools.retroarch
  24.  
  25. RETROARCH_CONFIG_DIR="$ADDON_HOME/config"
  26. RETROARCH_CONFIG_FILE="$RETROARCH_CONFIG_DIR/retroarch.cfg"
  27. RETROARCH_SAVEFILES_DIR="$ADDON_HOME/savefiles"
  28. #RETROARCH_SYSTEM_DIR="$ADDON_HOME/system"
  29. LIBS32BIT_ADDON_DIR="$ADDON_DIR/../emulator.tools.32bitlibs"
  30.  
  31. chmod a+x $ADDON_DIR/bin/*
  32.  
  33. if [ ! -f "$RETROARCH_CONFIG_FILE" ]; then
  34. mkdir -p "$RETROARCH_CONFIG_DIR"
  35. if [ -f "$ADDON_DIR/config/retroarch.cfg" ]; then
  36. cp "$ADDON_DIR/config/retroarch.cfg" "$RETROARCH_CONFIG_FILE"
  37. fi
  38. fi
  39.  
  40. if [ ! -f "$RETROARCH_SAVEFILES_DIR" ]; then
  41. mkdir -p "$RETROARCH_SAVEFILES_DIR"
  42. fi
  43.  
  44. #if [ ! -f "$RETROARCH_SYSTEM_DIR" ]; then
  45. # mkdir -p $RETROARCH_SYSTEM_DIR
  46. #fi
  47.  
  48. ## Added by JoKeRzBoX Oct-2016:
  49. #### Handle defaults folders from addon settings: create and set in retroarch.cfg
  50. RETROARCH_SYSTEM_DIR="/storage/emulators/retroarch/system"
  51. RETROARCH_SCREENSHOTS_DIR="/storage/emulators/retroarch/screenshots"
  52. TMPFILE="/tmp/.retroarchtemp$$"
  53. if [ "$retroarch_system_folder" != "" ]; then
  54. RETROARCH_SYSTEM_DIR="$retroarch_system_folder"
  55. fi
  56. if [ "$retroarch_screenshots_folder" != "" ]; then
  57. RETROARCH_SYSTEM_DIR="$retroarch_screenshots_folder"
  58. fi
  59. if [ ! -d "$RETROARCH_SYSTEM_DIR" ]; then
  60. mkdir -p "$RETROARCH_SYSTEM_DIR"
  61. fi
  62. if [ ! -d "$RETROARCH_SCREENSHOTS_DIR" ]; then
  63. mkdir -p "$RETROARCH_SCREENSHOTS_DIR"
  64. fi
  65.  
  66. sed -i "s@system_directory[ ]*=.*@system_directory = \"$RETROARCH_SYSTEM_DIR\"@" "$RETROARCH_CONFIG_FILE"
  67. sed -i "s@screenshot_directory[ ]*=.*@screenshot_directory = \"$RETROARCH_SCREENSHOTS_DIR\"@" "$RETROARCH_CONFIG_FILE"
  68.  
  69. if [ "$retroarch_audio_out_rate" != "" ]; then
  70. sed -i "s@audio_out_rate[ ]*=.*@audio_out_rate = \"$retroarch_audio_out_rate\"@" "$RETROARCH_CONFIG_FILE"
  71. fi
  72.  
  73. if [ "$retroarch_audio_driver" != "" ]; then
  74. sed -i "s@audio_driver[ ]*=.*@audio_driver = \"$retroarch_audio_driver\"@" "$RETROARCH_CONFIG_FILE"
  75. fi
  76.  
  77. if [ "$retroarch_audio_device" != "" ]; then
  78. sed -i "s@audio_device[ ]*=.*@audio_device = \"$retroarch_audio_device\"@" "$RETROARCH_CONFIG_FILE"
  79. fi
  80.  
  81. if [ "$retroarch_video_threaded" != "" ]; then
  82. sed -i "s@video_threaded[ ]*=.*@video_threaded = \"$retroarch_video_threaded\"@" "$RETROARCH_CONFIG_FILE"
  83. fi
  84.  
  85. if [ "$retroarch_menu_driver" != "" ]; then
  86. sed -i "s@menu_driver[ ]*=.*@menu_driver = \"$retroarch_menu_driver\"@" "$RETROARCH_CONFIG_FILE"
  87. fi
  88.  
  89. if [ "$retroarch_rewind_enable" != "" ]; then
  90. sed -i "s@rewind_enable[ ]*=.*@rewind_enable = \"$retroarch_rewind_enable\"@" "$RETROARCH_CONFIG_FILE"
  91. fi
  92.  
  93. if [ "$retroarch_fps_show" != "" ]; then
  94. sed -i "s@fps_show[ ]*=.*@fps_show = \"$retroarch_fps_show\"@" "$RETROARCH_CONFIG_FILE"
  95. fi
  96. ### END of configuration changes
  97.  
  98.  
  99. # Fixes problem with symbolic links on libs provided by "32 bits libs for RetroArch" addon (if installed)
  100. if [ -d "$LIBS32BIT_ADDON_DIR" ]; then
  101. PREV_DIR=`pwd`
  102. cd "$LIBS32BIT_ADDON_DIR/lib"
  103. if [ ! -h "$LIBS32BIT_ADDON_DIR/lib/libEGL.so" ]; then
  104. rm -f libEGL.so
  105. ln -s libMali.so libEGL.so
  106. fi
  107. if [ ! -h "$LIBS32BIT_ADDON_DIR/lib/libGLESv2.so" ]; then
  108. rm -f libGLESv2.so
  109. ln -s libMali.so libGLESv2.so
  110. fi
  111. cd "$PREV_DIR"
  112. fi
  113.  
  114. # Determine if this system has required library /lib/ld-linux-armhf.so.3, and use that to define what binary to use
  115. if [ -f "/lib/ld-linux-armhf.so.3" ]; then
  116. RETROARCH_EXE="$ADDON_DIR/bin/retroarch"
  117. else
  118. RETROARCH_EXE="$ADDON_DIR/bin/retroarch_mod"
  119. # to make sure we are on bin folder when we start the modified retroarch_mod and interpreter can be executed
  120. chmod 755 "$ADDON_DIR/lib/ld-linux-armhf.so"
  121. cd "$ADDON_DIR/bin"
  122. fi
  123.  
  124. if [ "$force_32bit_libs" == "true" ]; then
  125. RETROARCH_EXE="$ADDON_DIR/bin/retroarch_mod"
  126. LD_LIBRARY_PATH="$LIBS32BIT_ADDON_DIR/lib:$LD_LIBRARY_PATH"
  127. # to make sure we are on bin folder when we start the modified retroarch_mod and interpreter can be executed
  128. chmod 755 "$ADDON_DIR/lib/ld-linux-armhf.so"
  129. cd "$ADDON_DIR/bin"
  130. else
  131. LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$LIBS32BIT_ADDON_DIR/lib"
  132. fi
  133.  
  134. if [ "$launch_method" -ne 0 ]; then
  135. systemctl stop kodi
  136. if [ "$2" != "" ]; then
  137. $RETROARCH_EXE -c $RETROARCH_CONFIG_FILE -L $ADDON_DIR/lib/libretro/$1_libretro.so "$2"
  138. else
  139. $RETROARCH_EXE -c $RETROARCH_CONFIG_FILE --menu
  140. fi
  141. systemctl start kodi
  142. else
  143. pgrep kodi.bin | xargs kill -SIGSTOP
  144. if [ "$2" != "" ]; then
  145. $RETROARCH_EXE -c $RETROARCH_CONFIG_FILE -L $ADDON_DIR/lib/libretro/$1_libretro.so "$2"
  146. else
  147. $RETROARCH_EXE -c $RETROARCH_CONFIG_FILE --menu
  148. fi
  149. pgrep kodi.bin | xargs kill -SIGCONT
  150. fi
  151.  
  152. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement