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

    crt-pi shader users - reduce scaling artifacts with these configs in lr-mame2003, lr-fbalpha, lr-nestopia (and more to come)

    Scheduled Pinned Locked Moved Ideas and Development
    crt-pi shadercrt-picrt-pi-verticalshaderslr-mame2003
    385 Posts 42 Posters 259.0k 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.
    • RiverstormR
      Riverstorm
      last edited by Riverstorm

      You might need to change the filename variable to cfgFileName = gamename + '.zip.cfg'. Which is adding the .zip to the filename. Then create a new variable like cfgOverlay = gamename + '.cfg' for use in the 3rd line naming the overlay file.

      It's a bit confusing but \"true\" translates to "true" the backslash before it is telling to interpret it as literal and not a special meaning to Python. \n is a linefeed (go to the next line). The last double quote is working with the first double quote just enclosing the whole string.

      Python line:
      newCfgFile.write("video_shader_enable = \"true\"\n")

      Output (the string part): video_shader_enable = "true" (with a line feed \n to go the next line).

      Python line:
      print('opened file', fileName) (or whatever name is held in the variable fileName)
      Output:
      opened file rionsgames.txt

      Python line:
      print('creating .cfg for', gamename)
      Output:
      creating .cfg for 2020bb

      You might to define a new variable and add another section at the bottom for the overlay file creation or copy the file and tweak it if you want to use the same variables for creating the overlay file.

      cfgOverlay = gamename + '.cfg' (Overlay file name to be created with a .cfg extension basically 2020bb + .cfg = 2020bb.cfg

      newOVFile = open(cfgOverlay, 'w') (Open overlay file for writing)
      Add overlay file lines here.

      Dank did a nice job and did all the ground work but it's so close to what you want I think a few tweaks and it should work nicely.

      1 Reply Last reply Reply Quote 1
      • RionR
        Rion
        last edited by Rion

        Thank you again @Riverstorm for explaning this to me.

        I got it working

        Here is the code

        fileName = "fba_neogeo_029739.txt"
        myFile = open(fileName, "r" )
        print('opened file', fileName)
        
        for gamename in myFile:
        	# strip line breaks
            gamename = gamename.rstrip()
            print('creating .cfg for', gamename)
        
            # create cfg file
            cfgFileName = gamename + '.zip.cfg'
            newCfgFile = open(cfgFileName, 'w')
            newCfgFile.write("# Auto-generated crt-pi-curvature .cfg for NeoGeo\n")
            newCfgFile.write("# /home/pi/RetroPie/roms/mame-libretro//\n")
            newCfgFile.write("video_shader_enable = \"true\"\n")
            newCfgFile.write("video_shader = \"/opt/retropie/emulators/retroarch/shader/crt-pi-curvature.glslp\"\n")
            newCfgFile.write("input_overlay = /home/pi/RetroPie/roms/neogeo/overlay/Final_Arcade_NeoGeo_Horizontal.cfg\n")
            newCfgFile.write("input_overlay_enable = true\n")
            newCfgFile.write("input_overlay_opacity = 0.800000\n")
            newCfgFile.write("input_overlay_scale = 1.000000\n")
            newCfgFile.write("aspect_ratio_index = \"0\"\n")
            newCfgFile.write("video_scale_integer = true\n")
        
        myFile.close()
        

        But i could not get
        newCfgFile.write("input_overlay = "/home/pi/RetroPie/roms/mame-libretro/overlays/$cfgFileName"\n")
        to work.

        Luckily because this was only NeoGeo games i could point them all to one cfg file in the overlay folder.

        But i would like to solve it when i start to look at adding a generic arcade-bezels to vertical games in lr-mame2003.

        Anyway here are the results for everyone to download.

        Just put them into you neogeo roms folder in "/home/pi/RetroPie/roms/neogeo"

        neogeo-crt-pi-curvature-Final_Arcade_NeoGeo_Horizontal-bezel-.zip.cfg

        Here is how its going to look when finished.
        SNK NeoGeo

        Thanks to:
        John.Merrit over at libretro forums for creating this in the first place.
        @dankcushions for the python script!
        @Floob for his work with rp-video-manager and making these work for the pi.
        @Riverstorm For explaining this to me in an easy way ;)

        RiverstormR 1 Reply Last reply Reply Quote 0
        • RiverstormR
          Riverstorm @Rion
          last edited by Riverstorm

          @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

          I got it working

          That's great! I know that variable is probably the issue. It's just my lack of knowledge of Python. You might try the line below. I think that will work. Basically you enclose in quotes before and after the cfgFileName variable concatenating it all as one string with the plus sign. It's a little more confusing with extra \ and " throughout the line but basically the same as before. Basically "string" + variable + "string" but we want double quotes to enclose the string after the = sign so there's two extra \" in the line. For example after +cfgFileName+ in the line if you remove the beginning and end quotes it's basically \" (double quote) and \n (new line).

          You probably know this :) but both the config file and overlay file are the same name: <game name>.cfg you would need to take that into account so they don't overwrite each other. You could run write it out to another directory or run it in a separate folder.

          newCfgFile.write("input_overlay  = \"/home/pi/RetroPie/roms/mame-libretro/overlays/"+cfgFileName+"\"\n")
          
          RionR 1 Reply Last reply Reply Quote 1
          • RionR
            Rion @Riverstorm
            last edited by

            @Riverstorm said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

            @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

            I got it working

            That's great! I know that variable is probably the issue. It's just my lack of knowledge of Python. You might try the line below. I think that will work. Basically you enclose in quotes before and after the cfgFileName variable concatenating it all as one string with the plus sign. It's a little more confusing with extra \ and " throughout the line but basically the same as before. Basically "string" + variable + "string" but we want double quotes to enclose the string after the = sign so there's two extra \" in the line. For example after +cfgFileName+ in the line if you remove the beginning and end quotes it's basically \" (double quote) and \n (new line).

            You probably know this :) but both the config file and overlay file are the same name: <game name>.cfg you would need to take that into account so they don't overwrite each other. You could run write it out to another directory or run it in a separate folder.

            newCfgFile.write("input_overlay  = \"/home/pi/RetroPie/roms/mame-libretro/overlays/"+cfgFileName+"\"\n")
            

            Well that did the trick!

            Thank you. Now lets start looking at the Generic Bezel for vertical games... :)

            1 Reply Last reply Reply Quote 0
            • T
              twd Banned @dankcushions
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • S
                Sharkus
                last edited by

                BTW, I found that I needed to put the override .cfg files here to get them to work with Retropie 4:

                /opt/retropie/configs/all/retroarch/config/MAME 2003

                D 1 Reply Last reply Reply Quote 0
                • D
                  Dochartaigh @Sharkus
                  last edited by

                  I'm going to try this tonight! Thank you!

                  I've done this manually twice recently! ...thankfully I only play around 100 MAME games total so there weren't too many vertical ones.

                  1 Reply Last reply Reply Quote 0
                  • RionR
                    Rion
                    last edited by Rion

                    This post is deleted!
                    dankcushionsD 1 Reply Last reply Reply Quote 1
                    • edmaul69E
                      edmaul69 @dankcushions
                      last edited by

                      @dankcushions so i created a folder called MAME 2003 in /opt/retropie/configs/mame-libretro added all the files and it didnt work. then today i updated rpie setup script then updated mame 2003 from binary and still doesnt work. still only sees the crt-pi.glsl i have tried many roms. i am on a pi 3 with retropie 4.01 but i updated retroarch yesterday and mame 2003 today

                      1 Reply Last reply Reply Quote 0
                      • edmaul69E
                        edmaul69 @dankcushions
                        last edited by edmaul69

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • edmaul69E
                          edmaul69
                          last edited by

                          Since i have no special mame configs and since i couldnt get this to work so i just used bulk rename utility to add the .zip into the names.

                          RionR 1 Reply Last reply Reply Quote 0
                          • RionR
                            Rion @edmaul69
                            last edited by

                            @edmaul69 strange.. I'm using RetroPie 4.1.
                            Have you tried the ones i posted?

                            edmaul69E 1 Reply Last reply Reply Quote 0
                            • edmaul69E
                              edmaul69 @Rion
                              last edited by

                              @Rion i just put yours directly in my roms folder since you already had the .zip in the name. I dont know what the folder name was supposed to be where to put yours in the fba config folder.

                              RionR 1 Reply Last reply Reply Quote 0
                              • RionR
                                Rion @edmaul69
                                last edited by Rion

                                @edmaul69 The ones i posted are for mame not fba.

                                But if your looking for fba look here

                                edmaul69E 1 Reply Last reply Reply Quote 0
                                • edmaul69E
                                  edmaul69 @Rion
                                  last edited by edmaul69

                                  @Rion i was talking about those fba ones. im sorry i didnt realise you had a mame set as well. do yours still go in a folder named MAME 2003? or do i keep them in the folder you get from the zip?

                                  RionR 1 Reply Last reply Reply Quote 0
                                  • RionR
                                    Rion @edmaul69
                                    last edited by

                                    @edmaul69 The ones i posted goes in to the rom folder not mame2003.

                                    1 Reply Last reply Reply Quote 0
                                    • dankcushionsD
                                      dankcushions Global Moderator @Rion
                                      last edited by

                                      @Rion said in crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-mame2003:

                                      @dankcushions @Sharkus @Dochartaigh

                                      Updated for RetroPie 4.1

                                      mame2003-crt-pi-vertical-overrides-.zip.cfg

                                      mame2003-crt-pi-curvature-vertical-overrides-.zip.cfg

                                      Place these in you mame-libretro or arcade folder.

                                      how are these 'updated' for 4.1? the mame gamelist hasn't changed.

                                      also, whilst i appreciate your effort i think your alternative versions are confusing this thread and unnecessary. the ones i uploaded in my original post should work for anyone using retropie 4.1. your .zip.cfg overrides in the rom folder are a retropie hack made before retroarch supported per-game cfg overrides. there's no need for that approach any more, and maybe it won't always be supported.

                                      i think we should use the properly supported retroarch way as it has advantages. for example, if you use a .zip.cfg rom override with config_save_on_exit = true in your main retroarch.cfg, your per-game shader override will migrate to your main retroarch.cfg. this doesn't happen with the supported approach.

                                      dankcushionsD 1 Reply Last reply Reply Quote 0
                                      • dankcushionsD
                                        dankcushions Global Moderator @dankcushions
                                        last edited by dankcushions

                                        i see, the shader location has changed in 4.1. i will update my .cfgs.

                                        still, unless someone can give me a good reason for keeping the .zip.cfg versions, i will be cleaning up this thread

                                        RionR FloobF 2 Replies Last reply Reply Quote 0
                                        • RionR
                                          Rion @dankcushions
                                          last edited by

                                          @dankcushions

                                          Sorry about that i should have been more clear about the .zip.cfg files i posted. Do you want me to remove these and add the cfg files only or post both for people to choose?

                                          I have also posted this

                                          Mame2003 (0.78u6) Generic Arcade Bezel for every game with crt-pi-curvate (vertical & horizontal)

                                          And this

                                          crt-pi shader users - automatic usage of crt-pi-vertical in vertical games in lr-fbalpha 029739 (formerly lr-fba-next)

                                          Same here with only .zip.cfg files. Do you want me to Change these to and only post the cfg files or both?

                                          dankcushionsD 1 Reply Last reply Reply Quote 0
                                          • dankcushionsD
                                            dankcushions Global Moderator @Rion
                                            last edited by

                                            @Rion thanks! yeah for me the cfg files only should be the ones we use. i don't see the reason for the .zip.cfg ones going forward. i will update my initial post once i've re-run my script with the new shader directory.

                                            RionR 2 Replies 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.