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

    OpenBOR 6xxx OpenBeta Testphase

    Scheduled Pinned Locked Moved Ideas and Development
    betaopenbor
    520 Posts 54 Posters 270.1k 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.
    • BiZzAr721B
      BiZzAr721
      last edited by

      I tried with your updated script and still did not complete. The error when it exits back to RetroPie-Setup is:

      Could not successfully build openbor-3400 - OpenBOR - Beat 'em Up Game Engine v3400 (unsupported!)
      (/home/pi/RetroPie-Setup/tmp/build/openbor-3400/OpenBOR not found)
      

      Here is the log

      cyperghostC 1 Reply Last reply Reply Quote 0
      • cyperghostC
        cyperghost @BiZzAr721
        last edited by cyperghost

        @BiZzAr721 It seems to be a failure in compiling. Can not look at it now but you can try to download ready compiled binary from here
        The error causes this is

        Makefile:240: recipe for target 'openbor.o' failed
        

        Missing dependencies?

        1 Reply Last reply Reply Quote 0
        • BiZzAr721B
          BiZzAr721
          last edited by

          No worries. My main intent on re installing it was to check if the new controller configs work with the updated 3400.

          1 Reply Last reply Reply Quote 0
          • 2Play2
            2Play @cyperghost
            last edited by 2Play

            @cyperghost
            I got this error but creates a working binary... Compiled on Stretch
            Linux 4.14.79-v7+ armv7l GNU/Linux
            Raspbian GNU/Linux 9.6 (stretch)

            "
            patch -p0 -i latest_build.diff
            patching file sdl/opengl.c
            Hunk #1 succeeded at 223 (offset -2 lines).
            Hunk #2 succeeded at 234 (offset -2 lines).
            patching file sdl/sdlport.c
            patching file Makefile
            Hunk #4 FAILED at 572.
            1 out of 4 hunks FAILED -- saving rejects to file Makefile.rej
            "

            And the Makefile.rej

            --- Makefile Fri Aug 10 10:15:18 2018
            +++ Makefile Thu Sep 27 17:16:22 2018
            @@ -572,7 +578,7 @@
            ifeq ($(findstring DGE, $(SDKPATH)), DGE)
            LIBS += -lSDL -lSDL_gfx -lts
            else
            -LIBS += -Wl,-rpath,$(LIBRARIES) -lSDL2 -lSDL2_gfx
            +LIBS += -Wl,-rpath,$(LIBRARIES) -lSDL2 -lSDL2_gfx -lGL
            endif
            endif

            Your friend,
            2Play!

            cyperghostC 1 Reply Last reply Reply Quote 0
            • cyperghostC
              cyperghost @2Play
              last edited by

              @2Play That's okay so far. Did you download the latest version from OpenBOR or did you use my branch?

              2Play2 1 Reply Last reply Reply Quote 0
              • 2Play2
                2Play @cyperghost
                last edited by

                @cyperghost said in OpenBOR 6xxx OpenBeta Testphase:

                @2Play That's okay so far. Did you download the latest version from OpenBOR or did you use my branch?

                The one from you

                cyperghost 26 Oct 2018, 14:50
                @darknior @BiZzAr721

                How to compile
                Download OpenBOR from here https://github.com/DCurrent/openbor
                Go to folder "engine"
                Now get patch by using wget -q --show-progress "http://raw.githubusercontent.com/crcerror/OpenBOR-Raspberry/master/patch/latest_build.diff"
                Apply patch with patch -p0 -i latest_build.diff
                Compile with make BUILD_PANDORA=1
                Place your GLlib next to OpenBOR binary!

                Your friend,
                2Play!

                cyperghostC 1 Reply Last reply Reply Quote 2
                • cyperghostC
                  cyperghost @2Play
                  last edited by cyperghost

                  @2Play Haha ... The patch was prepared by me but you were able to compile the newest dev branch from version 6510. Congratulations! Maybe you want to share created binary?

                  B 1 Reply Last reply Reply Quote 2
                  • W
                    Winklepicker
                    last edited by

                    I was wondering can someone tell me the best version of OpenBOR to use for Raspberry pi?

                    Also how would I go about installing that onto the PI, if anyone can point me in the right direction would be much appreciated.

                    Any chance the newest/best version of OpenBOR will eventually be made officially into Retropie for easy install?

                    thanks

                    cyperghostC 1 Reply Last reply Reply Quote 0
                    • B
                      backstander @cyperghost
                      last edited by backstander

                      @cyperghost
                      When I do the patch -p0 -i latest_build.diff I get this error:

                      patching file sdl/opengl.c
                      Hunk #1 succeeded at 223 (offset -2 lines).
                      Hunk #2 succeeded at 234 (offset -2 lines).
                      patching file sdl/sdlport.c
                      patching file Makefile
                      Hunk #4 FAILED at 572.
                      1 out of 4 hunks FAILED -- saving rejects to file Makefile.rej
                      

                      And here is what's in my Makefile.rej:

                      --- Makefile    Fri Aug 10 10:15:18 2018
                      +++ Makefile    Thu Sep 27 17:16:22 2018
                      @@ -572,7 +578,7 @@
                       ifeq ($(findstring DGE, $(SDKPATH)), DGE)
                       LIBS           += -lSDL -lSDL_gfx -lts
                       else
                      -LIBS           += -Wl,-rpath,$(LIBRARIES) -lSDL2 -lSDL2_gfx
                      +LIBS           += -Wl,-rpath,$(LIBRARIES) -lSDL2 -lSDL2_gfx -lGL
                       endif
                       endif
                      
                      cyperghostC 1 Reply Last reply Reply Quote 1
                      • cyperghostC
                        cyperghost @Winklepicker
                        last edited by cyperghost

                        @Winklepicker The way to install is all written in first topic. I don't know what is the BEST verison for you. But I can assure you that all version beyond the RetroPie standard version is always better ....

                        v3400 (RetroPie) is an old decrapted version you need to unpack the addon files (I don't recommend this)
                        v3400 in this thread is also old and unsupported but uses PAK files for input
                        v6315 was the first verions build with patched files
                        The newest branch is dev-6510 if you compile on yourself

                        @backstander Can you post please Makefile.rej there seems an error with compile flag settings but all in all you can build and compile OpenBOR.
                        Nice to see you back in action ;)

                        Located the error
                        Please use nano and edit the patchfile and remove

                        -= -Wl,-rpath,$(LIBRARIES) -lSDL2 -lSDL2_gfx
                        += -Wl,-rpath,$(LIBRARIES) -lSDL2 -lSDL2_gfx -lGL
                        
                        exchange to
                        
                        
                        -= -Wl,-rpath,$(LIBRARIES) -lSDL2
                        += -Wl,-rpath,$(LIBRARIES) -lSDL2  -lGL
                        

                        Anyway it should run with the resulted binary.
                        The OpenBOR devs seem to have changed the makefile. Thanks for feedback...
                        It's line 100+ in patchfile ;) Thanks for reporting....

                        Can you please give a feedback if the newest version will run on your system?

                        B 1 Reply Last reply Reply Quote 2
                        • B
                          backstander @cyperghost
                          last edited by backstander

                          @cyperghost
                          Thanks for looking into this!

                          BTW: I just redownloaded the OpenBOR source to make sure I've got a fresh copy before patching again.

                          I made the changes on line 100 and 101 in latest_build.diff but I think I'm getting the same error:

                          $ patch -p0 -i latest_build.diff

                           patching file sdl/opengl.c
                          Hunk #1 succeeded at 223 (offset -2 lines).
                          Hunk #2 succeeded at 234 (offset -2 lines).
                          patching file sdl/sdlport.c
                          patching file Makefile
                          Hunk #4 FAILED at 572.
                          1 out of 4 hunks FAILED -- saving rejects to file Makefile.rej
                          

                          Makefile.rej

                          --- Makefile    Fri Aug 10 10:15:18 2018
                          +++ Makefile    Thu Sep 27 17:16:22 2018
                          @@ -572,7 +578,7 @@
                           ifeq ($(findstring DGE, $(SDKPATH)), DGE)
                           LIBS           += -lSDL -lSDL_gfx -lts
                           else
                          -LIBS           -= -Wl,-rpath,$(LIBRARIES) -lSDL2
                          +LIBS           += -Wl,-rpath,$(LIBRARIES) -lSDL2  -lGL
                           endif
                           endif
                          
                          1 Reply Last reply Reply Quote 0
                          • B
                            backstander
                            last edited by

                            Oh, I should note that this is off of my older RetroPie running Raspbian Jessie. I've been working on building a new 3B+ with Stretch but haven't got everything up and running like I want yet ;)

                            cyperghostC 1 Reply Last reply Reply Quote 0
                            • cyperghostC
                              cyperghost @backstander
                              last edited by cyperghost

                              @backstander yes saw annother error
                              Plesse change line LIBS += -lSDL -lSDL_gfx -lts by removing lSDL_gfx

                              I am also still in on Jessie
                              Edit: thankfully I can say I am not a native speaker

                              B 1 Reply Last reply Reply Quote 1
                              • B
                                backstander @cyperghost
                                last edited by

                                @cyperghost

                                I am also still in on Jessie
                                Edit: thankfully I can say I am not a native speaker

                                Personally I think either would work but you wouldn't want to upset the Grammar "Autocratics".

                                I think I edit that correctly but still getting error Hunk #4 FAILED at 572.

                                --- Makefile    Fri Aug 10 10:15:18 2018
                                +++ Makefile    Thu Sep 27 17:16:22 2018
                                @@ -572,7 +578,7 @@
                                 ifeq ($(findstring DGE, $(SDKPATH)), DGE)
                                 LIBS           += -lSDL -lts
                                 else
                                -LIBS           -= -Wl,-rpath,$(LIBRARIES) -lSDL2
                                +LIBS           += -Wl,-rpath,$(LIBRARIES) -lSDL2  -lGL
                                 endif
                                 endif
                                
                                cyperghostC 1 Reply Last reply Reply Quote 0
                                • cyperghostC
                                  cyperghost @backstander
                                  last edited by

                                  @backstander arghh well I have no PC to go deeper into that issue - Just tablet. So Iwould add just the -lGL switch to line 572 in makefile and compile the whole thing. Please add dependencies according to script module or the openbeta script before compiling

                                  B 1 Reply Last reply Reply Quote 1
                                  • B
                                    backstander @cyperghost
                                    last edited by

                                    @cyperghost

                                    Please add dependencies according to script module or the openbeta script before compiling

                                    Oh that could be an issue. I hadn't gotten that far because I was still stuck on the patching haha

                                    1 Reply Last reply Reply Quote 1
                                    • OliBO
                                      OliB
                                      last edited by

                                      Hi@all,

                                      how can I stop background music from emulationstation as soon as openbor beta is running and get back to it after stopping obenbor?

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

                                        @OliB If you're using the Python script for the background music, make sure you add the OpenBor executable filename to the list of emulators, so the script knows when it's started.

                                        OliBO 2 Replies Last reply Reply Quote 1
                                        • OliBO
                                          OliB @mitu
                                          last edited by

                                          @mitu THX ! Yes, using the phyton script - will try it now....

                                          1 Reply Last reply Reply Quote 0
                                          • OliBO
                                            OliB @mitu
                                            last edited by

                                            @mitu Sorry, I'm still "learning" Can you tell me where I have to do the changes in this script?

                                            import os
                                            import time
                                            import random
                                            #import pygame # if you don't have pygame: sudo apt-get install python-pygame
                                            #also that line is commented out as we import the mixer specifically a bit further down.

                                            #CONFIG SECTION
                                            startdelay = 5 # Value (in seconds) to delay audio start. If you have a splash screen with audio and the script is playing music over the top of it, increase this value to delay the script from starting.
                                            musicdir = '/home/pi/RetroPie/roms/music'
                                            maxvolume = 0.50
                                            volumefadespeed = 0.02
                                            restart = True # If true, this will cause the script to fade the music out and -stop- the song rather than pause it.
                                            startsong = "heymf.mp3" # if this is not blank, this is the EXACT, CaSeSeNsAtIvE filename of the song you always want to play first on boot.

                                            #local variables
                                            bgm = [mp3 for mp3 in os.listdir(musicdir) if mp3[-4:] == ".mp3" or mp3[-4:] == ".ogg"] # Find everything that's .mp3 or .ogg
                                            lastsong = -1
                                            currentsong = -1
                                            from pygame import mixer # import PyGame's music mixer
                                            mixer.init() # Prep that bad boy up.
                                            random.seed()
                                            volume = maxvolume # Store this for later use to handle fading out.

                                            #TODO: Fill in all of the current RetroPie Emulator process names in this list.
                                            emulatornames = ["retroarch","ags","uae4all2","uae4arm","capricerpi","linapple","hatari","stella","atari800","xroar","vice","daphne.bin","reicast","pifba","osmose","gpsp","jzintv","basiliskll","mame","advmame","dgen","openmsx","mupen64plus","gngeo","dosbox","ppsspp","simcoupe","scummvm","lr-scummvm","snes9x","pisnes","frotz","fbzx","fuse","gemrb","cgenesis","zdoom","eduke32","lincity","love","kodi","alephone","micropolis","openbor","openttd","opentyrian","cannonball","tyrquake","ioquake3","lr-tyrquake","lr-prboom","residualvm","xrick","sdlpop","uqm","stratagus","wolf4sdl","solarus","drastic","ports","smw","quake","doom","wolf3d","wolf4sdl-sw-v14","coolcv","lr-blueMSX","lr-freeintv","amiberry","pcsx-rearmed"]

                                            #test: Ran into some issues with script crashing on a cold boot, so we're camping for emulationstation (if ES can start, so can we!)
                                            esStarted = False
                                            while not esStarted:
                                            time.sleep(1)
                                            pids = [pid for pid in os.listdir('/proc') if pid.isdigit()]
                                            for pid in pids:
                                            try:
                                            procname = open(os.path.join('/proc',pid,'comm'),'rb').read()
                                            if procname[:-1] == "emulationstatio": # Emulation Station's actual process name is apparently short 1 letter.
                                            esStarted=True
                                            except IOError:
                                            continue

                                            #ES Should be going, see if we need to delay our start

                                            if startdelay > 0:
                                            time.sleep(startdelay) # Delay audio start per config option above

                                            #Look for OMXplayer - if it's running, someone's got a splash screen going!
                                            pids = [pid for pid in os.listdir('/proc') if pid.isdigit()]
                                            for pid in pids:
                                            try:
                                            procname = open(os.path.join('/proc',pid,'comm'),'rb').read()
                                            if procname[:-1] == "omxplayer" or procname[:-1] == "omxplayer.bin": # Looking for a splash screen!
                                            while os.path.exists('/proc/'+pid):
                                            time.sleep(1) #OMXPlayer is running, sleep 1 to prevent the need for a splash.
                                            except IOError:
                                            continue

                                            #Check for a starting song
                                            if not startsong == "":
                                            try:
                                            currentsong = bgm.index(startsong) #Set the currentsong to the index in BGM that is our startingsong.
                                            except:
                                            currentsong = -1 #If this triggers, you probably screwed up the filename, because our startsong wasn't found in the list.

                                            #This is where the magic happens.
                                            while True:
                                            while not esStarted: #New check (4/23/16) - Make sure EmulationStation is actually started. There is code further down that, as part of the emulator loop, makes sure eS is running.
                                            if mixer.music.get_busy():
                                            mixer.music.stop(); #halt the music, emulationStation is not running!
                                            time.sleep(10)
                                            pids = [pid for pid in os.listdir('/proc') if pid.isdigit()]
                                            for pid in pids:
                                            try:
                                            procname = open(os.path.join('/proc',pid,'comm'),'rb').read()
                                            if procname[:-1] == "emulationstatio": # Emulation Station's actual process name is apparently short 1 letter.
                                            esStarted=True # Will cause us to break out of the loop because ES is now running.
                                            except IOError:
                                            continue

                                            #Check to see if the DisableMusic file exists; if it does, stop doing everything!
                                            if os.path.exists('/home/pi/PyScripts/DisableMusic'):
                                            	print "DisableMusic found!"
                                            	if mixer.music.get_busy():
                                            		mixer.music.stop();
                                            	while (os.path.exists('/home/pi/PyScripts/DisableMusic')):
                                            		time.sleep(15)
                                            	print "DisableMusic gone!"
                                            
                                            if not mixer.music.get_busy(): # We aren't currently playing any music
                                            	while currentsong == lastsong and len(bgm) > 1:	#If we have more than one BGM, choose a new one until we get one that isn't what we just played.
                                            		currentsong = random.randint(0,len(bgm)-1)
                                            	song = os.path.join(musicdir,bgm[currentsong])
                                            	mixer.music.load(song)
                                            	lastsong=currentsong
                                            	mixer.music.set_volume(maxvolume) # Pygame sets this to 1.0 on new song; in case max volume -isnt- 1, set it to max volume.
                                            	mixer.music.play()
                                            	print "BGM Now Playing: " + song
                                            	
                                            #Emulator check
                                            pids = [pid for pid in os.listdir('/proc') if pid.isdigit()] 
                                            emulator = -1;
                                            esStarted=False #New check 4-23-16 - set this to False (assume ES is no longer running until proven otherwise)
                                            for pid in pids:
                                            	try:
                                            		procname = open(os.path.join('/proc',pid,'comm'),'rb').read()
                                            		if procname[:-1] == "emulationstatio": # Killing 2 birds with one stone, while we look for emulators, make sure EmulationStation is still running.
                                            				esStarted=True # And turn it back to True, because it wasn't done running.  This will prevent the loop above from stopping the music.
                                            		
                                            		if procname[:-1] in emulatornames: #If the process name is in our list of known emulators
                                            			emulator = pid;
                                            			#Turn down the music
                                            			print "Emulator found! " + procname[:-1] + " Muting the music..."
                                            			while volume > 0:
                                            				volume = volume - volumefadespeed
                                            				if volume < 0:
                                            					volume=0
                                            				mixer.music.set_volume(volume);
                                            				time.sleep(0.05)			
                                            			if restart:
                                            				mixer.music.stop() #we aren't going to resume the audio, so stop it outright.
                                            			else:
                                            				mixer.music.pause() #we are going to resume, so pause it.
                                            			print("Muted.  Monitoring emulator.")
                                            			while os.path.exists("/proc/" + pid):
                                            				time.sleep(1); # Delay 1 second and check again.
                                            			#Turn up the music
                                            			print "Emulator finished, resuming audio..."
                                            			if not restart:
                                            				mixer.music.unpause() #resume
                                            				while volume < maxvolume: 
                                            					volume = volume + volumefadespeed;
                                            					if volume > maxvolume:
                                            						volume=maxvolume
                                            					mixer.music.set_volume(volume);
                                            					time.sleep(0.05)				
                                            			print "Restored."
                                            			volume=maxvolume # ensures that the volume is manually set (if restart is True, volume would be at zero)
                                            
                                            	except IOError: #proc has already terminated, ignore.
                                            		continue
                                            
                                            time.sleep(1);
                                            #end of the main while loop
                                            

                                            print "An error has occurred that has stopped Test1.py from executing." #theoretically you should never get this far.

                                            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.