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

    Updated EmulationStation for Windows

    Scheduled Pinned Locked Moved Projects and Themes
    emulationstatiowindows
    741 Posts 97 Posters 592.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.
    • dukebloodersD
      dukeblooders @f.caruso
      last edited by

      @f-caruso
      OK I managed to make it work, thanks.

      1 Reply Last reply Reply Quote 0
      • M
        maxiducoli @f.caruso
        last edited by

        @f-caruso

        Can you send me the source code of Cemu Launcher and maybe i could help or do some executable for ous.
        i have Discord but i dont know how to use jja my user is maxiducoli too.

        I see PCSX2 source and have a plugin named OnePAD. This plugin use gamecontrollerdb.txt and is like joysticks out the box of batocera or autoconfig of RetroArch. Can you compile this source for windows? Just the DLL. I can´t undertand too much of C++ and my HDD its only os 160GB and Visual Studio is too large for all my programs + Visual Studio Community. I can´t install for now.

        See that.

        /* OnePAD - author: arcum42(@gmail.com)

        • Copyright (C) 2009
        • Based on ZeroPAD, author zerofrog@gmail.com
        • Copyright (C) 2006-2007
        • This program is free software; you can redistribute it and/or modify
        • it under the terms of the GNU General Public License as published by
        • the Free Software Foundation; either version 2 of the License, or
        • (at your option) any later version.
        • This program is distributed in the hope that it will be useful,
        • but WITHOUT ANY WARRANTY; without even the implied warranty of
        • MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
        • GNU General Public License for more details.
        • You should have received a copy of the GNU General Public License
        • along with this program; if not, write to the Free Software
        • Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
          */

        #include "joystick.h"
        #include "resources.h"
        #include <signal.h> // sigaction

        //////////////////////////
        // Joystick definitions //
        //////////////////////////

        // opens handles to all possible joysticks
        void JoystickInfo::EnumerateJoysticks(std::vector<std::unique_ptr<GamePad>> &vjoysticks)
        {
        uint32_t flag = SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC | SDL_INIT_EVENTS | SDL_INIT_GAMECONTROLLER;

        if ((SDL_WasInit(0) & flag) != flag) {
            // Tell SDL to catch event even if the windows isn't focussed
            SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1");
        
            if (SDL_Init(flag) < 0)
                return;
        
            // WTF! Give me back the control of my system
            struct sigaction action = {};
            action.sa_handler = SIG_DFL;
            sigaction(SIGINT, &action, nullptr);
            sigaction(SIGTERM, &action, nullptr);
        
            SDL_JoystickEventState(SDL_QUERY);
            SDL_GameControllerEventState(SDL_QUERY);
            SDL_EventState(SDL_CONTROLLERDEVICEADDED, SDL_ENABLE);
            SDL_EventState(SDL_CONTROLLERDEVICEREMOVED, SDL_ENABLE);
        
            { // Support as much Joystick as possible
                GBytes *bytes = g_resource_lookup_data(onepad_res_get_resource(), "/onepad/res/game_controller_db.txt", G_RESOURCE_LOOKUP_FLAGS_NONE, nullptr);
        
                size_t size = 0;
                // SDL forget to add const for SDL_RWFromMem API...
                void *data = const_cast<void *>(g_bytes_get_data(bytes, &size));
        
                SDL_GameControllerAddMappingsFromRW(SDL_RWFromMem(data, size), 1);
        
                g_bytes_unref(bytes);
        
                // Add user mapping too
                for (auto const &map : g_conf.sdl2_mapping)
                    SDL_GameControllerAddMapping(map.c_str());
            }
        }
        
        vjoysticks.clear();
        
        for (int i = 0; i < SDL_NumJoysticks(); ++i) {
            vjoysticks.push_back(std::unique_ptr<GamePad>(new JoystickInfo(i)));
            // Something goes wrong in the init, let's drop it
            if (!vjoysticks.back()->IsProperlyInitialized())
                vjoysticks.pop_back();
        }
        

        }

        void JoystickInfo::Rumble(unsigned type, unsigned pad)
        {
        if (type >= m_effects_id.size())
        return;

        if (!(g_conf.pad_options[pad].forcefeedback))
            return;
        
        if (m_haptic == nullptr)
            return;
        
        int id = m_effects_id[type];
        if (SDL_HapticRunEffect(m_haptic, id, 1) != 0) {
            fprintf(stderr, "ERROR: Effect is not working! %s, id is %d\n", SDL_GetError(), id);
        }
        

        }

        JoystickInfo::~JoystickInfo()
        {
        // Haptic must be closed before the joystick
        if (m_haptic != nullptr) {
        for (const auto &eid : m_effects_id) {
        if (eid >= 0)
        SDL_HapticDestroyEffect(m_haptic, eid);
        }

            SDL_HapticClose(m_haptic);
        }
        
        if (m_controller != nullptr) {
        

        #if SDL_MINOR_VERSION >= 4
        // Version before 2.0.4 are bugged, JoystickClose crashes randomly
        // Note: GameControllerClose calls JoystickClose)
        SDL_GameControllerClose(m_controller);
        #endif
        }
        }

        JoystickInfo::JoystickInfo(int id)
        : GamePad()
        , m_controller(nullptr)
        , m_haptic(nullptr)
        , m_unique_id(0)
        {
        SDL_Joystick *joy = nullptr;
        m_effects_id.fill(-1);
        // Values are hardcoded currently but it could be later extended to allow remapping of the buttons
        m_pad_to_sdl[PAD_L2] = SDL_CONTROLLER_AXIS_TRIGGERLEFT;
        m_pad_to_sdl[PAD_R2] = SDL_CONTROLLER_AXIS_TRIGGERRIGHT;
        m_pad_to_sdl[PAD_L1] = SDL_CONTROLLER_BUTTON_LEFTSHOULDER;
        m_pad_to_sdl[PAD_R1] = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER;
        m_pad_to_sdl[PAD_TRIANGLE] = SDL_CONTROLLER_BUTTON_Y;
        m_pad_to_sdl[PAD_CIRCLE] = SDL_CONTROLLER_BUTTON_B;
        m_pad_to_sdl[PAD_CROSS] = SDL_CONTROLLER_BUTTON_A;
        m_pad_to_sdl[PAD_SQUARE] = SDL_CONTROLLER_BUTTON_X;
        m_pad_to_sdl[PAD_SELECT] = SDL_CONTROLLER_BUTTON_BACK;
        m_pad_to_sdl[PAD_L3] = SDL_CONTROLLER_BUTTON_LEFTSTICK;
        m_pad_to_sdl[PAD_R3] = SDL_CONTROLLER_BUTTON_RIGHTSTICK;
        m_pad_to_sdl[PAD_START] = SDL_CONTROLLER_BUTTON_START;
        m_pad_to_sdl[PAD_UP] = SDL_CONTROLLER_BUTTON_DPAD_UP;
        m_pad_to_sdl[PAD_RIGHT] = SDL_CONTROLLER_BUTTON_DPAD_RIGHT;
        m_pad_to_sdl[PAD_DOWN] = SDL_CONTROLLER_BUTTON_DPAD_DOWN;
        m_pad_to_sdl[PAD_LEFT] = SDL_CONTROLLER_BUTTON_DPAD_LEFT;
        m_pad_to_sdl[PAD_L_UP] = SDL_CONTROLLER_AXIS_LEFTY;
        m_pad_to_sdl[PAD_L_RIGHT] = SDL_CONTROLLER_AXIS_LEFTX;
        m_pad_to_sdl[PAD_L_DOWN] = SDL_CONTROLLER_AXIS_LEFTY;
        m_pad_to_sdl[PAD_L_LEFT] = SDL_CONTROLLER_AXIS_LEFTX;
        m_pad_to_sdl[PAD_R_UP] = SDL_CONTROLLER_AXIS_RIGHTY;
        m_pad_to_sdl[PAD_R_RIGHT] = SDL_CONTROLLER_AXIS_RIGHTX;
        m_pad_to_sdl[PAD_R_DOWN] = SDL_CONTROLLER_AXIS_RIGHTY;
        m_pad_to_sdl[PAD_R_LEFT] = SDL_CONTROLLER_AXIS_RIGHTX;

        if (SDL_IsGameController(id)) {
            m_controller = SDL_GameControllerOpen(id);
            joy = SDL_GameControllerGetJoystick(m_controller);
        } else {
            joy = SDL_JoystickOpen(id);
        }
        
        if (joy == nullptr) {
            fprintf(stderr, "onepad:failed to open joystick %d\n", id);
            return;
        }
        
        // Collect Device Information
        char guid[64];
        SDL_JoystickGetGUIDString(SDL_JoystickGetGUID(joy), guid, 64);
        const char *devname = SDL_JoystickNameForIndex(id);
        
        if (m_controller == nullptr) {
            fprintf(stderr, "onepad: Joystick (%s,GUID:%s) isn't yet supported by the SDL2 game controller API\n"
                            "Fortunately you can use AntiMicro (https://github.com/AntiMicro/antimicro) or Steam to configure your joystick\n"
                            "The mapping can be stored in OnePAD2.ini as 'SDL2 = <...mapping description...>'\n"
                            "Please report it to us (https://github.com/PCSX2/pcsx2/issues) so we can add your joystick to our internal database.",
                    devname, guid);
        

        #if SDL_MINOR_VERSION >= 4 // Version before 2.0.4 are bugged, JoystickClose crashes randomly
        SDL_JoystickClose(joy);
        #endif

            return;
        }
        
        std::hash<std::string> hash_me;
        m_unique_id = hash_me(std::string(guid));
        
        // Default haptic effect
        SDL_HapticEffect effects[NB_EFFECT];
        for (int i = 0; i < NB_EFFECT; i++) {
            SDL_HapticEffect effect;
            memset(&effect, 0, sizeof(SDL_HapticEffect)); // 0 is safe default
            SDL_HapticDirection direction;
            direction.type = SDL_HAPTIC_POLAR; // We'll be using polar direction encoding.
            direction.dir[0] = 18000;
            effect.periodic.direction = direction;
            effect.periodic.period = 10;
            effect.periodic.magnitude = (Sint16)(g_conf.get_ff_intensity()); // Effect at maximum instensity
            effect.periodic.offset = 0;
            effect.periodic.phase = 18000;
            effect.periodic.length = 125; // 125ms feels quite near to original
            effect.periodic.delay = 0;
            effect.periodic.attack_length = 0;
            /* Sine and triangle are quite probably the best, don't change that lightly and if you do
             * keep effects ordered by type
             */
            if (i == 0) {
                /* Effect for small motor */
                /* Sine seems to be the only effect making little motor from DS3/4 react
                 * Intensity has pretty much no effect either(which is coherent with what is explain in hid_sony driver
                 */
                effect.type = SDL_HAPTIC_SINE;
            } else {
                /** Effect for big motor **/
                effect.type = SDL_HAPTIC_TRIANGLE;
            }
        
            effects[i] = effect;
        }
        
        if (SDL_JoystickIsHaptic(joy)) {
            m_haptic = SDL_HapticOpenFromJoystick(joy);
        
            for (auto &eid : m_effects_id) {
                eid = SDL_HapticNewEffect(m_haptic, &effects[0]);
                if (eid < 0) {
                    fprintf(stderr, "ERROR: Effect is not uploaded! %s\n", SDL_GetError());
                    return;
                }
            }
        }
        
        fprintf(stdout, "onepad: controller (%s) detected%s, GUID:%s\n",
                devname, m_haptic ? " with rumble support" : "", guid);
        
        m_no_error = true;
        

        }

        const char *JoystickInfo::GetName()
        {
        return SDL_JoystickName(SDL_GameControllerGetJoystick(m_controller));
        }

        size_t JoystickInfo::GetUniqueIdentifier()
        {
        return m_unique_id;
        }

        bool JoystickInfo::TestForce(float strength = 0.60)
        {
        // This code just use standard rumble to check that SDL handles the pad correctly! --3kinox
        if (m_haptic == nullptr)
        return false; // Otherwise, core dump!

        SDL_HapticRumbleInit(m_haptic);
        
        // Make the haptic pad rumble 60% strength for half a second, shoudld be enough for user to see if it works or not
        if (SDL_HapticRumblePlay(m_haptic, strength, 400) != 0) {
            fprintf(stderr, "ERROR: Rumble is not working! %s\n", SDL_GetError());
            return false;
        }
        
        return true;
        

        }

        int JoystickInfo::GetInput(gamePadValues input)
        {
        float k = g_conf.get_sensibility() / 100.0; // convert sensibility to float

        // Handle analog inputs which range from -32k to +32k. Range conversion is handled later in the controller
        if (IsAnalogKey(input)) {
            int value = SDL_GameControllerGetAxis(m_controller, (SDL_GameControllerAxis)m_pad_to_sdl[input]);
            value *= k;
            return (abs(value) > m_deadzone) ? value : 0;
        }
        
        // Handle triggers which range from 0 to +32k. They must be converted to 0-255 range
        if (input == PAD_L2 || input == PAD_R2) {
            int value = SDL_GameControllerGetAxis(m_controller, (SDL_GameControllerAxis)m_pad_to_sdl[input]);
            return (value > m_deadzone) ? value / 128 : 0;
        }
        
        // Remain buttons
        int value = SDL_GameControllerGetButton(m_controller, (SDL_GameControllerButton)m_pad_to_sdl[input]);
        return value ? 0xFF : 0; // Max pressure
        

        }

        void JoystickInfo::UpdateGamePadState()
        {
        SDL_GameControllerUpdate();
        }

        SDL and load allmost all joysticks.

        I hope you can understandme.

        Bye!

        1 Reply Last reply Reply Quote 0
        • M
          maxiducoli @f.caruso
          last edited by

          @f-caruso

          This is the Xinput Lillypad.ini CFG for ALL Xinput controllers (if you install SCP Toolkit you can use every controller for PCSX2 with out config the buttons.

          M 1 Reply Last reply Reply Quote 0
          • M
            maxiducoli @maxiducoli
            last edited by

            @maxiducoli said in Updated EmulationStation for Windows:

            @f-caruso

            This is the Xinput Lillypad.ini CFG for ALL Xinput controllers (if you install SCP Toolkit you can use every controller for PCSX2 with out config the buttons.

            [General Settings]

            Last Config Path=inis

            Last Config Name=LilyPad.lily

            Force Cursor Hide=0

            Mouse Unfocus=1

            Background=1

            Multiple Bindings=0

            DirectInput Game Devices=1

            XInput=1

            DualShock 3=0

            Multitap 1=0

            Multitap 2=0

            Escape Fullscreen Hack=0

            Disable Screen Saver=0

            Logging=0

            Save State in Title=0

            GH2=0

            Turbo Key Hack=0

            Vista Volume=1

            Close Hacks=0

            Keyboard Mode=2

            Mouse Mode=0

            Volume=100

            [Pad 0 0]

            Mode=1

            Auto Analog=0

            [Pad 0 1]

            Mode=1

            Auto Analog=0

            [Pad 0 2]

            Mode=1

            Auto Analog=0

            [Pad 0 3]

            Mode=1

            Auto Analog=0

            [Pad 1 0]

            Mode=1

            Auto Analog=0

            [Pad 1 1]

            Mode=1

            Auto Analog=0

            [Pad 1 2]

            Mode=1

            Auto Analog=0

            [Pad 1 3]

            Mode=1

            Auto Analog=0

            [Device 0]

            Display Name=XInput Pad 0

            Instance ID=XInput Pad 0

            API=4

            Type=3

            Binding 0=0x00040000, 0, 20, 65536, 0, 0, 0

            Binding 1=0x00040001, 0, 22, 65536, 0, 0, 0

            Binding 2=0x00040002, 0, 23, 65536, 0, 0, 0

            Binding 3=0x00040003, 0, 21, 65536, 0, 0, 0

            Binding 4=0x00040004, 0, 19, 65536, 0, 0, 0

            Binding 5=0x00040005, 0, 16, 65536, 0, 0, 0

            Binding 6=0x00040006, 0, 17, 65536, 0, 0, 0

            Binding 7=0x00040007, 0, 18, 65536, 0, 0, 0

            Binding 8=0x00040008, 0, 26, 65536, 0, 0, 0

            Binding 9=0x00040009, 0, 27, 65536, 0, 0, 0

            Binding 10=0x0004000C, 0, 30, 65536, 0, 0, 0

            Binding 11=0x0004000D, 0, 29, 65536, 0, 0, 0

            Binding 12=0x0004000E, 0, 31, 65536, 0, 0, 0

            Binding 13=0x0004000F, 0, 28, 65536, 0, 0, 0

            Binding 14=0x00200010, 0, 24, 65536, 0, 0, 1

            Binding 15=0x00200011, 0, 25, 65536, 0, 0, 1

            Binding 16=0x01020012, 0, 33, 87183, 0, 0, 13172

            Binding 17=0x02020012, 0, 35, 87183, 0, 0, 13172

            Binding 18=0x01020013, 0, 32, 87183, 0, 0, 13172

            Binding 19=0x02020013, 0, 34, 87183, 0, 0, 13172

            Binding 20=0x01020014, 0, 37, 87183, 0, 0, 13172

            Binding 21=0x02020014, 0, 39, 87183, 0, 0, 13172

            Binding 22=0x01020015, 0, 36, 87183, 0, 0, 13172

            Binding 23=0x02020015, 0, 38, 87183, 0, 0, 13172

            FF Binding 0=Constant 0, 0, 0, 0, 65536, 1, 0

            FF Binding 1=Constant 0, 1, 0, 0, 0, 1, 65536

            [Device 1]

            Display Name=XInput Pad 1

            Instance ID=XInput Pad 1

            API=4

            Type=3

            Binding 0=0x00040000, 1, 20, 65536, 0, 0, 0

            Binding 1=0x00040001, 1, 22, 65536, 0, 0, 0

            Binding 2=0x00040002, 1, 23, 65536, 0, 0, 0

            Binding 3=0x00040003, 1, 21, 65536, 0, 0, 0

            Binding 4=0x00040004, 1, 19, 65536, 0, 0, 0

            Binding 5=0x00040005, 1, 16, 65536, 0, 0, 0

            Binding 6=0x00040006, 1, 17, 65536, 0, 0, 0

            Binding 7=0x00040007, 1, 18, 65536, 0, 0, 0

            Binding 8=0x00040008, 1, 26, 65536, 0, 0, 0

            Binding 9=0x00040009, 1, 27, 65536, 0, 0, 0

            Binding 10=0x0004000C, 1, 30, 65536, 0, 0, 0

            Binding 11=0x0004000D, 1, 29, 65536, 0, 0, 0

            Binding 12=0x0004000E, 1, 31, 65536, 0, 0, 0

            Binding 13=0x0004000F, 1, 28, 65536, 0, 0, 0

            Binding 14=0x00200010, 1, 24, 65536, 0, 0, 1

            Binding 15=0x00200011, 1, 25, 65536, 0, 0, 1

            Binding 16=0x01020012, 1, 33, 87183, 0, 0, 13172

            Binding 17=0x02020012, 1, 35, 87183, 0, 0, 13172

            Binding 18=0x01020013, 1, 32, 87183, 0, 0, 13172

            Binding 19=0x02020013, 1, 34, 87183, 0, 0, 13172

            Binding 20=0x01020014, 1, 37, 87183, 0, 0, 13172

            Binding 21=0x02020014, 1, 39, 87183, 0, 0, 13172

            Binding 22=0x01020015, 1, 36, 87183, 0, 0, 13172

            Binding 23=0x02020015, 1, 38, 87183, 0, 0, 13172

            FF Binding 0=Constant 1, 0, 0, 0, 65536, 1, 0

            FF Binding 1=Constant 1, 1, 0, 0, 0, 1, 65536

            [Device 12]

            Display Name=XInput Pad 2

            Instance ID=XInput Pad 2

            API=4

            Type=3

            [Device 13]

            Display Name=XInput Pad 3

            Instance ID=XInput Pad 3

            API=4

            Type=3

            f.carusoF 1 Reply Last reply Reply Quote 0
            • f.carusoF
              f.caruso @maxiducoli
              last edited by

              @maxiducoli
              What do you want me to do with all this ? It's not really related to ES.
              Plus, it's not the good place for that kind of exchanges. Find me on Discord.
              I can't see you on any server I'm in. Please, name servers you are in so I can find you.

              1 Reply Last reply Reply Quote 0
              • P
                porterballs
                last edited by

                @f-caruso hi was just wondering if you will update the gamesdb scraper at some point, I want to use your screenscraper one but I cant choose to have only 2d boxes! Thanks

                f.carusoF 1 Reply Last reply Reply Quote 0
                • f.carusoF
                  f.caruso @porterballs
                  last edited by

                  @porterballs said in Updated EmulationStation for Windows:

                  gamesdb

                  Done + Added ability to use Box as image for screenscraper. You can download the latest version.

                  P 1 Reply Last reply Reply Quote 2
                  • P
                    porterballs @f.caruso
                    last edited by

                    @f-caruso thank you much appreciated :)

                    1 Reply Last reply Reply Quote 0
                    • CarissaIsWierdC
                      CarissaIsWierd
                      last edited by

                      @f-caruso I had arrows before (see here) that now show as question marks after the 'Unicode Strings' update :/

                      f.carusoF 1 Reply Last reply Reply Quote 0
                      • f.carusoF
                        f.caruso @CarissaIsWierd
                        last edited by f.caruso

                        @CarissaIsWierd The version of your theme I have does'nt have all these options, so I can't test what you did...
                        EDIT : Found & fixed

                        1 Reply Last reply Reply Quote 1
                        • CarissaIsWierdC
                          CarissaIsWierd
                          last edited by

                          @f-caruso Did you do something to the way "folderImage" & "gameImage" are displayed in the past month? If you check my theme I shared with you, folders and games without images show up like this, when before they used minSize like games with images do. Do I need to add something different to fix it?

                          f.carusoF 1 Reply Last reply Reply Quote 0
                          • f.carusoF
                            f.caruso @CarissaIsWierd
                            last edited by

                            @CarissaIsWierd Check the new release it should solve your case.

                            S 1 Reply Last reply Reply Quote 1
                            • PittStoneP
                              PittStone
                              last edited by

                              @f-caruso @jdrassa Will it be possible to use animated Gifs for the Covers? Not only .png or .jpg. It would be Awesome to have a Animated Cover like this: Animated Cover

                              mituM 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator @PittStone
                                last edited by mitu

                                @PittStone said in Updated EmulationStation for Windows:

                                It would be Awesome to have a Animated Cover like this: Animated Cover

                                That's not a GIF, is a video file. You can add it as video in ES.

                                PittStoneP 1 Reply Last reply Reply Quote 0
                                • PittStoneP
                                  PittStone @mitu
                                  last edited by

                                  @mitu Hi, nope i right click on it and JDownloader downloaded it as a .gif! It doesn't matter if this example is a video or a gif! My question is whether it will even be possible to use this as an animated gif.

                                  1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator
                                    last edited by

                                    @PittStone said in Updated EmulationStation for Windows:

                                    Hi, nope i right click on it and JDownloader downloaded it as a .gif

                                    Imgur allows you to upload short video files. The actual video behind that it's an MP4 video - https://i.imgur.com/193xjy7.mp4.

                                    My question is whether it will even be possible to use this as an animated gif.

                                    I don't think it's possible without adding a GIF decoder (not included right now in EmulationStation) and playing it as a video in ES - at which point you're better just adding it as video.

                                    PittStoneP 1 Reply Last reply Reply Quote 0
                                    • PittStoneP
                                      PittStone @mitu
                                      last edited by PittStone

                                      @mitu If you look at my update from the Magazine Theme, you can see that the cover is permanently displayed on the left and the videosnap is also played on the right.

                                      But it is possible with a gif decoder. Then something should be in a next update. :D
                                      It would be very nice to have this for a Raspberry pi 3, too.

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        santo-vfx @f.caruso
                                        last edited by santo-vfx

                                        @f-caruso have you, or anyone, observed this issue in fabricecaruso's build(windows)?
                                        last played is not showing some systems' entries. It is showing the games (inside last played) from nes, snes, nintendo64, fds, mastersystem, psx etc. but not showing from fba, model2, pspmini etc. entries are being added to gamelist.xml files. but not visible inside last played. jdrassa's build is perfectly fine here.
                                        i have changed the list view to "lastplayed, descending" in select(button) menu and also tried different options. looks like some of the systems are getting filtered out inside the lastplayed.
                                        btw, this is my first post. so hello everyone:)

                                        f.carusoF 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User
                                          last edited by

                                          I haven't gone back far enough in this thread to look but, have you considered allowing videos on the carousel / system page @f-caruso ?

                                          1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User
                                            last edited by

                                            Can we change which folders the media scraped from Screenscraper saves to?

                                            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.