RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    WebtroPie

    Scheduled Pinned Locked Moved Projects and Themes
    retropieweb interfacewebtropie
    157 Posts 27 Posters 67.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kixut @darknior
      last edited by kixut

      @darknior please git pull, hard refresh as above

      Edit: Regarding the game counts I set my system up with your game counts and the latest version matches all of the game counts except for PSX which contains 27 duplicates, so, WebtroPie was showing more games than EmulationStation.
      I've written something which finds the duplicates and shows them on the console.

      Edit 2: just tried your theme, looking great! - except I see what you mean about meta positioning
      0_1510528555623_DarkSteele.png

      darkniorD 1 Reply Last reply Reply Quote 0
      • darkniorD
        darknior @kixut
        last edited by

        @kixut I have read your Install script and i see now you use app/#!/ and not ROM in URL, ok it's better.

        The source are Ok and i have install again.

        # git pull
        Already up-to-date.
        

        I have refresh like you write, but i also have a good CHROME PLUGIN to do it from years ;)
        I have try on IE same result.

        Now i see your script in console, i have 0 games and 0 duplicate. I can see nothing. Zero menu now :(
        On the PI all is working perfectly.

        • Config.php works fine :
        {"app":{"LoadAllSystems":false,"ScanAtStartup":false,"ShowEmptySystems":false,"ShowEmptyDirectories":false,"ShowAddFields":true,"ShowGameCounts":true,"ShowThemeSelect":true,"ShowViewSelect":true,"LogSystemTotals":true,"ThemeSet":"carbon","Language":"en","DateFormat":"DD\/MM\/YYYY","ViewTransitions":"Slide","ViewStyle":""},"env":{"has_gd":1,"has_launch":1,"read_only":0},"lang":{"md_labels":{"name":"Name","rating":"Rating","releasedate":"Released","developer":"Developer","publisher":"Publisher","genre":"Genre","players":"Players","lastplayed":"Last Played","playcount":"Times Played","human_size":"Size","image":"Image","marquee":"Marquee","video":"Video","year":"Year","hidden":"Hidden","kidgame":"Kid","favorite":"Favourite","stars":"Stars","description":"Description"},"buttons":{"launch":"Launch","scrape":"Scrape","save":"Save","cancel":"Cancel","reset":"Reset","delete":"Delete","move":"Move","options":"Options","menu":"Menu","search":"Search","back":"Back","system":"system","choose":"choose","edit":"Edit","open":"Open","select":"Select"},"languages":{"en":"English (UK)","en-us":"English (US)"}},"es":{"BackgroundJoystickInput":false,"CaptionsCompatibility":true,"DrawFramerate":false,"EnableSounds":true,"MoveCarousel":true,"ParseGamelistOnly":false,"QuickSystemSelect":true,"SaveGamelistsOnExit":false,"ScrapeRatings":true,"ScreenSaverControls":true,"ScreenSaverOmxPlayer":true,"ShowHelpPrompts":true,"ShowHiddenFiles":false,"SlideshowScreenSaverCustomImageSource":false,"SlideshowScreenSaverRecurse":false,"SlideshowScreenSaverStretch":false,"SortAllSystems":false,"StretchVideoOnScreenSaver":false,"UseCustomCollectionsSystem":true,"VideoAudio":true,"VideoOmxPlayer":true,"hideQuitMenuOnKidUI":false,"MaxVRAM":"100","ScraperResizeHeight":"0","ScraperResizeWidth":"400","ScreenSaverSwapImageTimeout":"5000","ScreenSaverSwapVideoTimeout":"35000","ScreenSaverTime":"300000","AudioDevice":"PCM","CollectionSystemsAuto":"all,favorites,recent","CollectionSystemsCustom":"","GamelistViewStyle":"automatic","Local":"fr_FR.UTF-8","OMXAudioDev":"both","PowerSaverMode":"default","Scraper":"TheGamesDB","ScreenSaverBehavior":"random video","ScreenSaverGameInfo":"always","SlideshowScreenSaverBackgroundAudioFile":"\/home\/pi\/.emulationstation\/slideshow\/audio\/slideshow_bg.wav","SlideshowScreenSaverImageDir":"\/home\/pi\/.emulationstation\/slideshow\/image","SlideshowScreenSaverImageFilter":".png,.jpg","StartupSystem":"","ThemeSet":"dark-steel","TransitionStyle":"fade","UIMode":"Full","UIMode_passkey":"uuddlrlrba"},"themes":{"stretch-carbon":true,"stretch-clean-look":true,"stretch-crt":true,"stretch-cygnus":true,"stretch-material":true,"stretch-tronkyfran":true},"systems":[],"themes_list":[{"name":"famicom-mini"},{"name":"carbon"},{"name":"pixel"},{"name":"ComicBook"},{"name":"workbench"},{"name":"snes-mini"},{"name":"art-book"},{"name":"dark-steel"},{"name":"ComicBook_SE-Wheelart"},{"name":"nes-mini"},{"name":"material"},{"name":"mini-psx"}]}
        
        • theme.php works fine too.

        • gamelist.php
          http://192.168.1.62/app/svr/gamelist.php?getlist=1&system=default
          Satus 200 ok but no valid response from the PI.

        HTTP/1.1 200 OK
        Date: Mon, 13 Nov 2017 13:55:16 GMT
        Server: Apache/2.4.10 (Raspbian)
        Content-Length: 0
        Keep-Alive: timeout=5, max=95
        Connection: Keep-Alive
        Content-Type: text/html; charset=UTF-8
        

        Tell me what i can try to help please.

        Life is game, just play it !

        K 1 Reply Last reply Reply Quote 0
        • K
          kixut @darknior
          last edited by

          @darknior yes I did change the link but since the old symlink would still be there it would still work.

          Thanks for the info your config is not returning any systems, which is my fault as a while ago I had commented out a little code that is still needed regarding where it looks for gamelists, sorry about that, please try a new pull.

          1 Reply Last reply Reply Quote 0
          • darkniorD
            darknior
            last edited by

            @kixut said in WebtroPie WIP:

            I had commented out a little code that is still needed regarding where it looks for gamelists

            I have make the GIT PULL and see you update the app/svr/config.php file.

            HTTP/1.1 200 OK
            Date: Mon, 13 Nov 2017 20:23:04 GMT
            Server: Apache/2.4.10 (Raspbian)
            Content-Length: 0
            Keep-Alive: timeout=5, max=90
            Connection: Keep-Alive
            Content-Type: text/html; charset=UTF-8
            

            And always same, it found nothing, no gamelist ?

             +            file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
             +            file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
             +            file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
            

            And it's good, i don't understand :(

            /opt/retropie/configs/all/emulationstation/gamelists

            Life is game, just play it !

            K 1 Reply Last reply Reply Quote 0
            • K
              kixut @darknior
              last edited by kixut

              @darknior Thanks for your patience, it's a challenge to debug in this situation, I've tried to replicate what you describe as best I can and noticed that it doesn't behave nicely if the roms directories do not exist but should do now, so I've pushed this and a few other minor changes.

              1 Reply Last reply Reply Quote 1
              • darkniorD
                darknior
                last edited by darknior

                @kixut said in WebtroPie WIP:

                Thanks for your patience, it's a challenge to debug in this situation

                It's me, i'am so sad because i can't really help you more :(
                I have see all your updates, 12 files. make the force refresh and again nothing :(
                And now nothing in the console. It not search gamelist with PHP, only Config n Theme.

                Maybe you can explain me how to debug for you ? In what file i must search to found why it not load my gamelist files.
                Because now the real problem was it not load lists.

                angular.js:14642 TypeError: Cannot read property 'substring' of undefined
                    at service.getGamelist (game.service.js:197)
                    at system.view.js:101
                    at processQueue (angular.js:17000)
                    at angular.js:17044
                    at Scope.$digest (angular.js:18182)
                    at Scope.$apply (angular.js:18480)
                    at done (angular.js:12501)
                    at completeRequest (angular.js:12727)
                    at XMLHttpRequest.requestLoaded (angular.js:12655) "Possibly unhandled rejection: {}"
                

                Yes some systemes can be installed like SATURN but without any games, ES is not loading a system if his rom dir is empty.

                Life is game, just play it !

                1 Reply Last reply Reply Quote 0
                • darkniorD
                  darknior
                  last edited by

                          // get either a specific gamelist for a system or all systems
                          function getGamelist(system_name)
                          {
                              var promise;
                  			console.log(system_name);
                              if (system_name.substring(0,4)=='auto' //||
                                   //system.name.substring(0,6)=='custom'
                                  )      // get all systems
                              {
                  
                  

                  I don't know why it append, i have console.log and it crash when the system_name is undefined

                  Life is game, just play it !

                  K 1 Reply Last reply Reply Quote 0
                  • darkniorD
                    darknior
                    last edited by

                    I see you comit a debug for console.log, it write me :

                    config.service.js:47 systems
                    config.service.js:48 []auto-allgames: {name: "auto-allgames", fullname: "all", theme: "auto-allgames", has_games: true}auto-favorites: {name: "auto-favorites", fullname: "favorites", theme: "auto-favorites", has_games: true}auto-lastplayed: {name: "auto-lastplayed", fullname: "recent", theme: "auto-lastplayed", has_games: true}length: 0__proto__: Array(0)
                    system.view.js:95 {name: "carbon", path: "svr/themes/carbon", has_gd: 1, includes: {…}, fonts: {…}, …}carousel_systems: {}carousel_systems_list: []fonts: {carbon_._art_Cabin_Bold: {…}, carbon__art_Cabin_Bold: {…}}has_gd: 1includes: {././carbon.xml: {…}, auto-allgames/../carbon.xml: {…}, auto-favorites/../carbon.xml: {…}, auto-lastplayed/../carbon.xml: {…}, custom-collections/../carbon.xml: {…}}mid_index: 0name: "carbon"path: "svr/themes/carbon"systems: {default: {…}, auto-allgames: {…}, auto-favorites: {…}, auto-lastplayed: {…}, custom-collections: {…}}__proto__: Object
                    angular.js:14642 TypeError: Cannot read property 'substring' of undefined
                        at service.getGamelist (game.service.js:197)
                        at system.view.js:101
                        at processQueue (angular.js:17000)
                        at angular.js:17044
                        at Scope.$digest (angular.js:18182)
                        at Scope.$apply (angular.js:18480)
                        at done (angular.js:12501)
                        at completeRequest (angular.js:12727)
                        at XMLHttpRequest.requestLoaded (angular.js:12655) "Possibly unhandled rejection: {}"
                    (anonymous) @ angular.js:14642
                    (anonymous) @ angular.js:11102
                    processChecks @ angular.js:17026
                    $digest @ angular.js:18182
                    $apply @ angular.js:18480
                    done @ angular.js:12501
                    completeRequest @ angular.js:12727
                    requestLoaded @ angular.js:12655
                    XMLHttpRequest.send (async)
                    (anonymous) @ angular.js:12701
                    sendReq @ angular.js:12446
                    serverRequest @ angular.js:12198
                    processQueue @ angular.js:17000
                    (anonymous) @ angular.js:17044
                    $digest @ angular.js:18182
                    $apply @ angular.js:18480
                    done @ angular.js:12501
                    completeRequest @ angular.js:12727
                    requestLoaded @ angular.js:12655
                    XMLHttpRequest.send (async)
                    (anonymous) @ angular.js:12701
                    sendReq @ angular.js:12446
                    serverRequest @ angular.js:12198
                    processQueue @ angular.js:17000
                    (anonymous) @ angular.js:17044
                    $digest @ angular.js:18182
                    $apply @ angular.js:18480
                    bootstrapApply @ angular.js:1952
                    invoke @ angular.js:5040
                    doBootstrap @ angular.js:1950
                    bootstrap @ angular.js:1970
                    angularInit @ angular.js:1855
                    (anonymous) @ angular.js:33826
                    trigger @ angular.js:3468
                    
                    

                    Life is game, just play it !

                    1 Reply Last reply Reply Quote 0
                    • K
                      kixut @darknior
                      last edited by kixut

                      @darknior I think that the problem is that the config.php although it returns all of the other config it is not returning the list of active systems, (my guess)

                      so, if you want to have a little dabble with that php script (browse 192.168.1.31/app/svr/config.php?get=255 ) you could debug that loop in a browser and work out why below is not evaluating to true, ... maybe echo those values ?

                      file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
                       +            file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
                       +            file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
                      

                      I've added a console.log to list systems, I'm guessing they will be blank
                      The other logging is more for later with your game counts, I believe when you are back working again that the counts should be better, and will show duplicates in your psx game list, I made that a config option as it seemed a little slower with it switched on.

                      Edit: ok my guess wrong, ... oh I mean no I was right, yes you should have more than auto systems so please, if you could evaluate the php file_exists check for which gamelists exist. thanks

                      Oh, and of course I should add checks and nice message for if there really are no systems :)

                      ... could it be that for some reason there is a permission problem now reading if the file exists?

                      1 Reply Last reply Reply Quote 0
                      • darkniorD
                        darknior
                        last edited by

                        System is empty

                        Toggle Collapsed | use cfdump format: 
                        Query:
                         - JSONQuery
                        {
                        -app: {
                        LoadAllSystems: false
                        ScanAtStartup: false
                        ShowEmptySystems: false
                        ShowEmptyDirectories: false
                        ShowAddFields: true
                        ShowGameCounts: true
                        ShowThemeSelect: true
                        ShowViewSelect: true
                        LogSystemTotals: false
                        ThemeSet: "carbon"
                        Language: "en"
                        DateFormat: "DD/MM/YYYY"
                        ViewTransitions: "Slide"
                        ViewStyle: ""
                        }
                        -env: {
                        has_gd: 1
                        has_launch: 1
                        read_only: 0
                        }
                        -lang: {
                        -md_labels: {
                        name: "Name"
                        rating: "Rating"
                        releasedate: "Released"
                        developer: "Developer"
                        publisher: "Publisher"
                        genre: "Genre"
                        players: "Players"
                        lastplayed: "Last Played"
                        playcount: "Times Played"
                        human_size: "Size"
                        image: "Image"
                        marquee: "Marquee"
                        video: "Video"
                        year: "Year"
                        hidden: "Hidden"
                        kidgame: "Kid"
                        favorite: "Favourite"
                        stars: "Stars"
                        description: "Description"
                        }
                        -buttons: {
                        launch: "Launch"
                        scrape: "Scrape"
                        save: "Save"
                        cancel: "Cancel"
                        reset: "Reset"
                        delete: "Delete"
                        move: "Move"
                        options: "Options"
                        menu: "Menu"
                        search: "Search"
                        back: "Back"
                        system: "system"
                        choose: "choose"
                        edit: "Edit"
                        open: "Open"
                        select: "Select"
                        }
                        -languages: {
                        en: "English (UK)"
                        en-us: "English (US)"
                        }
                        }
                        -es: {
                        BackgroundJoystickInput: false
                        CaptionsCompatibility: true
                        DrawFramerate: false
                        EnableSounds: true
                        MoveCarousel: true
                        ParseGamelistOnly: false
                        QuickSystemSelect: true
                        SaveGamelistsOnExit: false
                        ScrapeRatings: true
                        ScreenSaverControls: true
                        ScreenSaverOmxPlayer: true
                        ShowHelpPrompts: true
                        ShowHiddenFiles: false
                        SlideshowScreenSaverCustomImageSource: false
                        SlideshowScreenSaverRecurse: false
                        SlideshowScreenSaverStretch: false
                        SortAllSystems: false
                        StretchVideoOnScreenSaver: false
                        UseCustomCollectionsSystem: true
                        VideoAudio: true
                        VideoOmxPlayer: true
                        hideQuitMenuOnKidUI: false
                        MaxVRAM: "100"
                        ScraperResizeHeight: "0"
                        ScraperResizeWidth: "400"
                        ScreenSaverSwapImageTimeout: "5000"
                        ScreenSaverSwapVideoTimeout: "35000"
                        ScreenSaverTime: "300000"
                        AudioDevice: "PCM"
                        CollectionSystemsAuto: "all,favorites,recent"
                        CollectionSystemsCustom: ""
                        GamelistViewStyle: "automatic"
                        Local: "fr_FR.UTF-8"
                        OMXAudioDev: "both"
                        PowerSaverMode: "default"
                        Scraper: "TheGamesDB"
                        ScreenSaverBehavior: "random video"
                        ScreenSaverGameInfo: "always"
                        SlideshowScreenSaverBackgroundAudioFile: "/home/pi/.emulationstation/slideshow/audio/slideshow_bg.wav"
                        SlideshowScreenSaverImageDir: "/home/pi/.emulationstation/slideshow/image"
                        SlideshowScreenSaverImageFilter: ".png,.jpg"
                        StartupSystem: ""
                        ThemeSet: "dark-steel"
                        TransitionStyle: "fade"
                        UIMode: "Full"
                        UIMode_passkey: "uuddlrlrba"
                        }
                        -themes: {
                        stretch-carbon: true
                        stretch-clean-look: true
                        stretch-crt: true
                        stretch-cygnus: true
                        stretch-material: true
                        stretch-tronkyfran: true
                        }
                        systems: [ ]
                        -themes_list: [
                        -{
                        name: "famicom-mini"
                        }
                        -{
                        name: "carbon"
                        }
                        -{
                        name: "pixel"
                        }
                        -{
                        name: "ComicBook"
                        }
                        -{
                        name: "workbench"
                        }
                        -{
                        name: "snes-mini"
                        }
                        -{
                        name: "art-book"
                        }
                        -{
                        name: "dark-steel"
                        }
                        -{
                        name: "ComicBook_SE-Wheelart"
                        }
                        -{
                        name: "nes-mini"
                        }
                        -{
                        name: "material"
                        }
                        -{
                        name: "mini-psx"
                        }
                        ]
                        }
                        
                        

                        Life is game, just play it !

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          kixut @darknior
                          last edited by

                          @darknior thanks, I think it's going to turn out to be a permissions problem, does your web server run as a user that can read the gamelists files ?

                          darkniorD 1 Reply Last reply Reply Quote 0
                          • darkniorD
                            darknior @kixut
                            last edited by darknior

                            @kixut It's work before ... i don't know. I supose Apache use root user, how can i verify this ? i use you script copy from here.

                            And i install your script i think at good place in : /opt/retropie/supplementary/WebtroPie/ with root user

                            Life is game, just play it !

                            K 1 Reply Last reply Reply Quote 0
                            • darkniorD
                              darknior
                              last edited by darknior

                              if ($_GET['get'] & SYSTEMS)
                              {
                              	echo($_GET['get']);
                              	echo(SYSTEMS);
                              

                              result :

                              • 25532
                              • ... systems":[]," ....

                              It is strange because your application is installed by part as ROOT and some other files PI
                              I always have execute it with root user for installation, maybe it's bad ?
                              But /opt/retropie/supplementary/ is a user root directory.

                              Life is game, just play it !

                              1 Reply Last reply Reply Quote 0
                              • K
                                kixut @darknior
                                last edited by kixut

                                @darknior it should work from anywhere, there is no hard coded path to where it's installed.
                                I would just open a tab to http://192.168.1.31/app/svr/config.php?get=255 and edit the config.php and temporarily add some echo commands (see below), then refresh your tab, the list of systems should be every system from your es_systems.cfg, and the ones that have a true file_exists are the ones that go back to the client, if the path look right and the ones that you know exist say that they don't exist then it would be permissions, but maybe it's not getting the list from es_systems, or maybe there something wrong with the paths

                                    echo "<pre>\n";
                                    print_r($systems['system']);
                                    echo "</pre>";
                                
                                    for($i=0; $i<count($systems['system']);$i++)
                                    {
                                
                                        $system_name = $systems['system'][$i]['name'];
                                
                                        echo "<pre>\n";
                                        echo $system_name."\n";
                                        echo "[".$systems['system'][$i]['path']."/gamelist.xml"."]";
                                        echo file_exists($systems['system'][$i]['path']."/gamelist.xml")."\n";
                                        echo "[".ROMSPATH.'/'.$system_name."/gamelist.xml"."]";
                                        echo file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml")."\n";
                                        echo "[".HOME_ES."/gamelists/".$system_name."/gamelist.xml"."]";
                                        echo file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml")."\n";
                                        echo "[".ES_PATH."/gamelists/".$system_name."/gamelist.xml"."]";
                                        echo file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")."\n";
                                        echo "</pre>";
                                
                                        if (file_exists($systems['system'][$i]['path']."/gamelist.xml") ||
                                            file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
                                            file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
                                            file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
                                            )
                                        {
                                            $systems['system'][$i]['has_gamelist'] = true;
                                            if (filesize($systems['system'][$i]['path']."/gamelist.xml") > 40 ||
                                                filesize(ROMSPATH.'/'.$system_name."/gamelist.xml") > 40 ||
                                                filesize(HOME_ES."/gamelists/".$system_name."/gamelist.xml") > 40 ||
                                                filesize(ES_PATH."/gamelists/".$system_name."/gamelist.xml") > 40
                                                )
                                                $systems['system'][$i]['has_games'] = true;
                                        }
                                       $config['systems'][$system_name] = $systems['system'][$i];
                                    }
                                exit; // this is all we're interested in at the moment
                                

                                ... never mind ... lets add another last one "/opt/retropie/configs/all/emulationstation/"

                                Edit: Ive added /opt/retropie/configs/all/emulationstation and pushed, I feel dumb now

                                1 Reply Last reply Reply Quote 0
                                • darkniorD
                                  darknior
                                  last edited by

                                  If i understand fine :

                                  if ($_GET['get'] & SYSTEMS)
                                  {
                                      $array_types = array('system'=>true);
                                      if (file_exists(HOME_ES."/es_systems.cfg"))
                                          $systems = load_file_xml_as_array(HOME_ES."/es_systems.cfg");
                                      else
                                          $systems = load_file_xml_as_array(ES_PATH."/es_systems.cfg");
                                      $config['systems'] = array();
                                  
                                      echo "<pre>\n";
                                      print_r($systems['system']);
                                      echo "</pre>";
                                  
                                      for($i=0; $i<count($systems['system']);$i++)
                                      {
                                  
                                          $system_name = $systems['system'][$i]['name'];
                                  
                                          echo "<pre>\n";
                                          echo $system_name."\n";
                                          echo "[".$systems['system'][$i]['path']."/gamelist.xml"."]";
                                          echo file_exists($systems['system'][$i]['path']."/gamelist.xml")."\n";
                                          echo "[".ROMSPATH.'/'.$system_name."/gamelist.xml"."]";
                                          echo file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml")."\n";
                                          echo "[".HOME_ES."/gamelists/".$system_name."/gamelist.xml"."]";
                                          echo file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml")."\n";
                                          echo "[".ES_PATH."/gamelists/".$system_name."/gamelist.xml"."]";
                                          echo file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")."\n";
                                          echo "</pre>";
                                  
                                          if (file_exists($systems['system'][$i]['path']."/gamelist.xml") ||
                                              file_exists(ROMSPATH.'/'.$system_name."/gamelist.xml") ||
                                              file_exists(HOME_ES."/gamelists/".$system_name."/gamelist.xml") ||
                                              file_exists(ES_PATH."/gamelists/".$system_name."/gamelist.xml")
                                              )
                                          {
                                              $systems['system'][$i]['has_gamelist'] = true;
                                              if (filesize($systems['system'][$i]['path']."/gamelist.xml") > 40 ||
                                                  filesize(ROMSPATH.'/'.$system_name."/gamelist.xml") > 40 ||
                                                  filesize(HOME_ES."/gamelists/".$system_name."/gamelist.xml") > 40 ||
                                                  filesize(ES_PATH."/gamelists/".$system_name."/gamelist.xml") > 40
                                                  )
                                                  $systems['system'][$i]['has_games'] = true;
                                          }
                                         $config['systems'][$system_name] = $systems['system'][$i];
                                      }
                                  exit; // this is all we're interested in at the moment
                                  }
                                  

                                  I have an empty page :(

                                  <pre>
                                  </pre>
                                  

                                  I don't understand fine for /opt/retropie/configs/all/emulationstation ?

                                  Life is game, just play it !

                                  1 Reply Last reply Reply Quote 0
                                  • darkniorD
                                    darknior
                                    last edited by

                                    /opt/retropie/configs/all/emulationstation is PI user
                                    /opt/retropie/configs/all/emulationstation/gamelists PI
                                    Each system and gamelist.xml PI user too.

                                    Life is game, just play it !

                                    1 Reply Last reply Reply Quote 0
                                    • darkniorD
                                      darknior
                                      last edited by

                                      No right problem, i have finally found :)
                                      It's my fault, but i think you must upgrade a little your XML PARSER for guy"s that write code it don't like.
                                      Now you can remove the code you add yesterday for me, and put again the game counter to show duplicate (PSX) games in console.log.

                                      Explanations :

                                      I have add error_reporting(E_ERROR | E_WARNING); to your svr/config.php file.
                                      And i think you should add it too, for the moment we are not in production mode but most dev mode :p
                                      I read my Apache error.log and then found :

                                      [Tue Nov 14 13:51:48.686359 2017] [:error] [pid 26599] [client 192.168.1.11:58586] PHP Warning:  SimpleXMLElement::__construct(): Entity: line 406: parser error : xmlParseEntityRef: no name in /opt/retropie/supplementary/WebtroPie/app/svr/xml_util.php on line 154
                                      [Tue Nov 14 13:51:48.686442 2017] [:error] [pid 26599] [client 192.168.1.11:58586] PHP Warning:  SimpleXMLElement::__construct():     &lt;command&gt;cd /opt/retropie/ports/openbor/ &amp;&amp; ./OpenBOR %ROM%&lt;/command&gt;  in /opt/retropie/supplementary/WebtroPie/app/svr/xml_util.php on line 154
                                      [Tue Nov 14 13:51:48.686519 2017] [:error] [pid 26599] [client 192.168.1.11:58586] PHP Warning:  SimpleXMLElement::__construct():                                                ^ in /opt/retropie/supplementary/WebtroPie/app/svr/xml_util.php on line 154
                                      

                                      Then i remember in my es_systems.cfg i have add a command line for OpenBOR, i give it to you, with :

                                      <command>cd /opt/retropie/ports/openbor/ && ./OpenBOR %ROM% > /dev/null 2>&1</command>

                                      I know it is not fine to not escape in XML, but ES is cool and understand it without crashing.
                                      I have replace now by :

                                      <command>cd /opt/retropie/ports/openbor/ &amp;&amp; ./OpenBOR %ROM% &lt; /dev/null 2&lt;&amp;1</command>

                                      And all is working fine :)

                                      Life is game, just play it !

                                      1 Reply Last reply Reply Quote 0
                                      • darkniorD
                                        darknior
                                        last edited by

                                        Game Show / Counter :

                                        Lynx : 44 same
                                        Jaguar : 42 same
                                        Atari800 : Not showed !
                                        Atari7800 : 40 you show 35
                                        Atari 5200 : Not showed !
                                        Atari 2600 : 130 you show 100
                                        Arcade : 436 you show 500 (i know it is because i have move my CPS games)

                                        If i understand fine, it's because ES also count games on HDD not on gamelist.xml and add them.
                                        For the not showed systems, it's because there is no gamelist, only file in directory to test games.

                                        • It's really cool to see this difference, to fix it if we forgot a game.
                                        • But it is also a problem to add a new game, we must first add it on PI, and restart ES to save the change.

                                        Do you think it is possible for you to show files not in XML ? It is complicate because you must scan the directory with PHP, and it will take time to compare with XML games, but maybe you can do it only on demand. With a SCAN button in the bottom menu when we are on a system we want to work on.
                                        And on the game list view, add a TAG we can show with filter, that show us if a game in the XML is on the HDD or not.

                                        User interface

                                        I have multiple bugs ... not same from the different skins ... i know it will be hard/long/impossible for you to fix them all ...
                                        And for some i know you can't do nothing because a theme use % placement, it's cool, but it is made for a resolution, 1080p, 720p, 4/3, 16/9 ... and on PC we have other resolutions ... I assume skinner are not real coder and don't take the good origin point to place elements.
                                        But the most important bugs are not many more :

                                        • The first is more a question than a bug, how do you choose the z-index of an element ?
                                          My friend made it :
                                        		<image name="logo2" extra="true">
                                        			<path>./art/controller.svg</path>
                                                    <maxSize>0.270 0.427</maxSize>
                                        			<pos>0.335 0.100</pos>
                                        			<origin>0 0</origin>
                                        			<color>bbbbbb</color>
                                        		</image>
                                        

                                        And you put the element with z-index 200 in front of the video.
                                        ES if i understand fine, show elements in order it read them, we declare them, but we can also add a z-index now.
                                        My friend for sure has make the error to not use s-index to prevent bugs.

                                        0_1510670904260_Sans titre-1.jpg

                                        • The BOXART image, change the z-Index to show it under the video.
                                          You can see it on PIXEL theme, in front of the video.

                                        0_1510670929891_Sans titre-2.jpg

                                        • The LOGO it is in front of the VIDEO too, and it is normal when you use VLC. But maybe you can add a switch to show it behind when the guy using OMXPlayer and you can see it in the ES settings from config.php

                                        VideoOmxPlayer: true

                                        • Always the Last player at bad place, but i see no other skin showing it to compare...

                                        MAYBE SKIN CODING PROBLEM :

                                        • In the NES MINI it use a caroussel_bar.png that have a z-index 100 in front of all other. We can't see the text and we can't use the menu. When i remove the ZINDEX all is fine.

                                        0_1510674317724_Sans titre-3.jpg

                                        • Same with SNES MINI. On home screen we can't see system images because he can't found them, on game list same than NES, an effect is in front of the menu and we can't use it.

                                        0_1510675166875_Sans titre-4.jpg
                                        0_1510675174144_Sans titre-5.jpg

                                        I don't read the skin code for the moment, but i think it is not your fault. They must better code the skins. Or it is also because you don't use the same ES element default oder.

                                        IMPROVEMENT :

                                        • Not a bug but only an improvement, is it possible to PAUSE the video preview when we EDIT a game, because with time the music will take us silly lol Especially on Coleco Vision where the sound is crappy :p
                                        • Or/And is it possible to have a MUTE button on the bottom menu ?

                                        Editing interface :

                                        • When we already have the image, you don't show the button/dragndrop to change/update it. Maybe you can let us clic the image to update it ?

                                        • When we don't have it i see the buttons, but the DragnDrop is not working for me on Chrome, and when i browse it don't upload the image to pi.

                                        • When i modify a text like a description, it don't save on pi too.

                                        • When do you save on gamelist.xml ?

                                        • Where do you upload images/video ? Are you using the default or my MEDIA path ? Because you can't know it on upload if we can't set it somewhere.

                                        Life is game, just play it !

                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          kixut @darknior
                                          last edited by kixut

                                          @darknior I'm so glad that you found the problem, when I tested I was using the earlier es_systems.cfg file that you posted and unless I've got them mixed up it didn't have the invalid code.

                                          I think a priority must be for me to make that area more robust, it needs the es_systems config for the correct paths, rom extensions and system theme so it's important that it is loaded.

                                          If scanning is switched on it will search for roms that aren't in the game list file, also the logging console mod that I made can be switched on in the settings.cfg (it's not in the app menu).

                                          Edit: You can switch on scanning for all systems or as you say you can scan an individual directory, these show in the list with "New: " at the start of the name, you are right, it would be useful to be able to filter on that.

                                          Edit: Regarding test system not in es_systems file, the old way I used to do it was to scan rom folder for folders with a game list, I could have it work that way but if you scan that directory it will not know what extension to look for but it's better maybe to show it and scan fail than not to show it at all ..

                                          I know I have a problem with z-index, I need to understand properly how ES does it, the docs say that when extra is true that the elements are rendered in order that they appear in the file, and this what I try to do - unless z-index has been explicitly set, however, a theme can include other files, views may be combined, different elements can have different attributes from many files so when parts of themes can be in different included multiple files it gets hard to know what the element order really is. I know I should just put time aside to study the source code, but if someone could explain the algorithm in plain english I would be very happy :)

                                          ... I will have a read through the rest of the issues, and am happy to tackle them,

                                          1 Reply Last reply Reply Quote 1
                                          • darkniorD
                                            darknior
                                            last edited by

                                            Ok cool, i will stand you read me :)

                                            I think a priority must be for me to make that area more robust, it needs the es_systems config for the correct paths, rom extensions and system theme so it's important that it is loaded.

                                            You are right because i have 2 problems after that. My 3DO and PCEngine CD are not loaded. 0 games.
                                            And when i search in the XML i found two "&" in description. I replace them and it's rock again. Now i know, but some other can not understand why that don't load.

                                            If scanning is switched on it will search for roms that aren't in the game list file, also the logging console mod that I made can be switched on in the settings.cfg (it's not in the app menu).

                                            I have try without success this option. When i enter AMIGA i have 10 roms and it show me only 3 title. And on the 3 titles 2 roms are removed and it not hide them.
                                            <bool name="ScanAtStartup" value="true"/>
                                            It works perfectly for LOG, i love this option <3 I will remove my duplicate entry lol
                                            <bool name="LogSystemTotals" value="true"/>

                                            Edit: Regarding test system not in es_systems file

                                            I don't have test system not in the es_system file, You not understand me but what where, i don't know what about you speak ? Maybe you speak about my SCAN option with a game TAG. It is es_system directories, i speak to scan real rom file to show or hide them from gamelist.xml . Like this the count will be same than on ES, and we can work on new games to add them to our gamelist.xml

                                            I know I have a problem with z-index

                                            Ok it's what's i understand to, ES read a CFG and show the element, the last element read is on the top.
                                            I think with time more skinner will use z-index, i wish, because it is a problem and can make some bugs in ES too.

                                            I stand you answer le last questions about Editing inferfase lol

                                            Life is game, just play it !

                                            K 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.