Jump to content
LaunchBox Community Forums

nny

Members
  • Posts

    15
  • Joined

  • Last visited

Posts posted by nny

  1. This is a continuation from this thread:

     

     

    I learned how to get custom fields to show up in big box: disable fields you dislike until they showed up. It seems there's a cut off for # of items that can show based on the theme, so if you disable the higher priority items (eg Platform, Developer, Release Date, etc) then the lower priority items will show (eg Custom Fields). You can disable these fields in BigBoxSettings.xml found in the Data folder until the Custom Fields show up (set their variable to false, eg change to <ShowGamePlatform>false</ShowGamePlatform>).

    The problem: There is no setting for star ratings in BigBoxSettings.xml. And that was the main thing I wanted removed. LaunchBox's settings file (Settings.xml found in the same folder) DOES have this setting (ShowDetailStarRating) which does remove star ratings from the right sidebar in LaunchBox (Yah!), but BigBoxSetting.xml does not have that setting (I tried adding the field just in case but it did nothing).

    Does anyone know how to get Star Ratings to now show in BigBox? Or, @Jason Carr can we get that setting in BigBox like it is in LaunchBox's setting?

    EDIT:

    There IS a "remove star ratings" option in Big Box, but I cannot figure out what the XML variable for it is. Can anyone help? And is there a way to disable ONLY community ratings instead of your ratings + community ratings?

    EDIT #2:

    There IS a <ShowGameStarRating> variable in BigBoxSettings.xml. I'm not sure how I missed it before - it is further down the list, but I somehow missed it when I did a CTRL-F on Rating. I'm keeping this up as a means of information to those who want to show custom fields in big box (disable the higher prioity fields), but this is more or less resolves outside of "can we only disable community ratings instead of all ratings." Or also a way to set our own priorities for field shown

  2. I would like to add my own field (eg MetacriticRating) to the applicable file (eg Windows.xml) and have it show up in a theme. Specifically, I'd like that field to replace a different field (eg CommunityStarRating) in what shows up on a big box theme.

    I am failing currently at getting my field to show up in the theme. I'm editing "CriticalZoneV2 - Default." Could anyone give me guidance on replacing those variables?

  3. This is not a LaunchBox issue, but I was hoping I could get some help anyway.

    I want to avoid using the Twitch URL to open games, since I do not want to run the game through Twitch Desktop. Adding and running most games through LaunchBox is super simple: just find the exe of the game. However, I've had two instances where the exe does not work: Devil May Cry and Kabounce.

    Twitch games have a fuel.json file in their main directory, and I believe this is used to open games. Most look like this, pointing to the exe and calling it without any arguements:

    Main:	
    	Command:	"Treadnauts.exe"
    	Args:		[]

    However, both Devil May Cry and Kabounce have authentication:

    Main:	
    	Command:	"dmcLauncher.exe"
    	AuthScopes:
    		0:	"user_read"
    	ClientId:	"oo7wrhaawcicykfj6dmfg2jqxhy9yp"

    I believe this is the issue with being able to get the EXE to actually work. Does anyone have any idea on how to get the exe to work?

  4. Sure! However, this was a very rough draft from before just to make sure I could do it. Also, I was new to the Steam API and couldn't figure out how to grab individual game data like yours does so I used a webscraper - after looking at your code, I would definitely change it to use the Steam API to grab the video files (would also fix an issue where the web scraper return a page without a video file, even though the game had one).

     

    import requests
    from bs4 import BeautifulSoup
    import urllib2
    import json
    import time
    
    file_type = ".webm"
    base_url = "https://store.steampowered.com/app/"
    not_found = []
    yes_found = []
    errors = []
    
    # Open file with Steam Game Titles & ID (change to use URL)
    fSteam = open("C:/LaunchBox/Data/Platforms/steam_games.json")
    steam_data = json.load(fSteam)
    
    # Open the LaunchBox file with applicable Game Titles
    windows_xml = "C:/LaunchBox/Data/Platforms/Windows.xml"
    launch_box_xml = open(windows_xml)
    launchbox_data = BeautifulSoup(launch_box_xml, 'html.parser')
    owned_games = launchbox_data.find_all('game')
    
    for game in owned_games:
    	found = False
    	cur_title = game.title.text
    	# If it already has a video, skip it
    	if game.videopath.string != None:
    		continue 
    	for app_title in steam_data['applist']['apps']:
    		# Found Launch Box title in Steam
    		if app_title['name'] == cur_title:
    			try:
    				# Get Steam URL for game
    				id_num = app_title['appid']
    				id_str = str(id_num)
    				url = base_url + id_str
    
    				# Get data from Steam Page
    				r = requests.get(url)
    				soup = BeautifulSoup(r.content, 'html.parser')
    				video = soup.find("div", attrs={'class': 'highlight_movie'})["data-webm-source"]
    
    				# Download video file and write it to LaunchBox database
    				rsp = urllib2.urlopen(video)
    				file_name = "C:/LaunchBox/Videos/Windows/" + cur_title + file_type
    				with open(file_name,'wb') as launch_box_xml:
    				    launch_box_xml.write(rsp.read())
    				game.videopath.string = file_name
    				yes_found.append(cur_title)
    
    				# Game found, so stop looping
    				found = True
    				break
    			# Couldn't find video file on Steam page
    			except:
    				errors.append(cur_title)
    				found = True
    				break
    	# Could not find an applicable steam game
    	if (not found):
    		not_found.append(cur_title)
    	# Steam allows 10 calls per 10 seconds, wait 2 seconds for saftey.
    	time.sleep(2)
    
    launch_box_xml.close()
    
    # Update Launchbox Database
    f2 = open(windows_xml, "w")
    f2.write(str(launchbox_data))
    f2.close()
    
    # Export Games Not Found on Steam
    f3 = open("not_found.txt", "w")
    f3.write(str(not_found))
    f3.close()
    
    # Export Games Found Without Videos
    f4 = open("errors.txt", "w")
    f4.write(str(errors))
    f4.close()
    
    # Export Games Found With Videos
    f5 = open("yes_found.txt", "w")
    f5.write(str(yes_found))
    f5.close()

     

  5. Oh nice! Thanks for bringing that to my attention. I definitely need to check out all that's in the download section.

    Mine is a bit different - it would be for a batch (eg, I ran it on ~100 games) so it's a lot better for a lot of games but his is better for once you're adding individual games. I'll clean mine up and post it there later.

    • Thanks 1
  6. In terms of the steam videos, I just made a python script that will scrape and download the video from steam to the Videos folder, then add the local video file as the video path for said game. Outside of a couple request showing no video when there is one (and Steam and LaunchBox having different names for some games), it's worked well and no issues to my LaunchBox.

    Would this be something I could post to share with people, or would it not be suggested since it does edit the XML?

  7. 2a) By Platform videos, I assume you mean videos when you select a platform (eg a NES video when hovering over NES, a PS2 video when hovering over PS2, etc)?

    3) Most of the games aren't installed, so I can't make shortcuts. I like having a reference to what games I own, in case I want to install them (I leave them as broken with no application path). Sounds like I'll just have to add those games manually. Still love having an aggregate where I can view everything I own in one place over all the distribution platforms :)

    Thanks a ton for the super quick response!

  8. 1) Is there a way to add to a playlist from the Edit Game screen? If not, seems like a good feature to add.

    2) I imported from Steam and chose "Steam Videos" but no videos actually downloaded. Any idea why?

    2a) How exactly do people garner so many videos? I loved seeing on youtube the gameplay videos when you select a game in BigBox, but no game I've imported yet has had video media - they show screenshots instead.

    3) Is there a way to automate adding XML entries? I have over 100 games on Twitch - right now I can do add, type in the title, click okay, and then batch download metadata/media, but I'd much prefer to just automate creating entries where the information is only the title and then batch download metadata/media for them.

    I've kinda gotten it to work (Made an entry with nothing but a title, duplicated the entry with a new title and removed ID), except once I downloaded the metadata/media for the dup entry it deleted all the media from my current games. I also noticed it never filled in an ID, which I'm sure will cause issues down the line.

×
×
  • Create New...