Jump to content
LaunchBox Community Forums

Xpendable

Members
  • Posts

    66
  • Joined

  • Last visited

Everything posted by Xpendable

  1. I tried this theme a few days ago and it crashed my BigBox halfway through the day several days in a row. I don't know if there is somehow a memory leak or something. Note that I only have 4 GB of ram. I am not on the latest beta. Don't know the exact revision, but my BigBox says 11.8 in the bottom right corner from the menu. I went back to my previous theme and have not suffered any crashes.
  2. BigBox is now crashing on startup with the latest beta: (Inner Exception) (Inner Exception) Operation is not supported on this platform. App: Big Box Version: 11.9-beta-1 Type: System.PlatformNotSupportedException Site: Source: (Outer Exception) Could not find Windows Runtime type 'Windows.ApplicationModel.Package'. App: Big Box Version: 11.9-beta-1 Type: System.TypeLoadException Site: System.Collections.Generic.List`1[Unbroken.LaunchBox.Windows.Integrations.Xbox.Xbox+ExporterIssuer] ComputeInvalidProperty() Source: Unbroken.LaunchBox.Windows at Unbroken.LaunchBox.Windows.Integrations.Xbox.Xbox.ComputeInvalidProperty() at Unbroken.LaunchBox.Windows.Integrations.Xbox.Xbox.GetInstalledGameIds() at TaskDefinition.FillFocusPredicate(TaskDefinition ) at Unbroken.LaunchBox.Windows.Data.DataManager.CollectInvalidMock(String instance) at System.Threading.Tasks.Parallel.<>c__DisplayClass33_0`2.<ForEachWorker>b__0(Int32 i) at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`1.<ForWorker>b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(Exception source) at System.Threading.Tasks.Parallel.<>c__DisplayClass19_0`1.<ForWorker>b__1(RangeWorker& currentWorker, Int32 timeout, Boolean& replicationDelegateYieldedBeforeCompletion) at System.Threading.Tasks.TaskReplicator.Replica`1.ExecuteAction(Boolean& yieldedBeforeCompletion) at System.Threading.Tasks.TaskReplicator.Replica.Execute() (Outer Exception) One or more errors occurred. (Could not find Windows Runtime type 'Windows.ApplicationModel.Package'.) (Could not find Windows Runtime type 'Windows.ApplicationModel.Package'.) (Could not find Windows Runtime type 'Windows.ApplicationModel.Package'.) (Could not find Windows Runtime type 'Windows.ApplicationModel.Package'.) App: Big Box Version: 11.9-beta-1 Type: System.AggregateException Site: Void Run[TState](ReplicatableUserAction`1, System.Threading.Tasks.ParallelOptions, Boolean) Source: System.Threading.Tasks.Parallel at System.Threading.Tasks.TaskReplicator.Run[TState](ReplicatableUserAction`1 action, ParallelOptions options, Boolean stopOnFirstFailure) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally) --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw(Exception source) at System.Threading.Tasks.Parallel.ThrowSingleCancellationExceptionOrOtherException(ICollection exceptions, CancellationToken cancelToken, Exception otherException) at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList`1 list, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally) at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally) at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body) at Unbroken.LaunchBox.Windows.Data.DataManager.Load(Boolean settingsOnly, Boolean forceReloadAll) at QueueDefinition.FillFocusPredicate(Object , Boolean settingsOnly, Boolean forceReloadAll, QueueDefinition ) at Unbroken.LaunchBox.Windows.Data.DataManager..ctor(Boolean bare, Boolean settingsOnly) at Unbroken.LaunchBox.Windows.BigBox.App..ctor() at Unbroken.LaunchBox.Windows.BigBox.BigBoxProgram.Main() Recent Log: 8:34:39 AM Exception
  3. I've implemented this as a program and it is working. Here's the source code (and compiled EXE) that you can download in GitHub. Use at your own risk. https://github.com/Xpendable172/BigBoxLauncher You will need to edit the BigBoxLauncher.exe.config file and update the path to your BigBoxSettings.xml, and you will need to edit the LastPlatform entry in BigBoxLauncher.exe.config to the name of your platform that you want to force BigBox to use as LastPlatform. Case matters! Not sure what will happen to BigBox if you misspell the entry. Also, this program does not ACTUALLY launch BigBox. It could easily be done but I felt that was overkill for what I needed.
  4. Thanks, yes, that's it. I didn't see it because it was missing from my file when I checked because I had turned off the RememberLastPlatform feature and then turned it back on, but instead of exiting BigBox, I rebooted (via the Reboot command in BigBox)... It didn't write out the LastPlatform value. But when I exited it out normally, I checked the file, and it was indeed written. So I'll just write my code to insert the node if it is missing, and change the value to my intended platform "MAME" when it is already present.
  5. That gave me an idea. If I can figure out where the last viewed platform is actually stored (and this seems to be not obvious to me as of yet - I've scanned all of the XML files a couple of times and don't see where this is saved), I could write a C# program that starts before BigBox that changes the last viewed platform to my desired value, saves the file, then closed. Then BigBox would launch. (I'd wrap both of these program in a batch file so they run in sequence). Then no matter what, BigBox will always start with my desired platform. I just have to figure out where this value is stored. I might have to use some file watchers to see what changes between runs.
  6. I have about 8 platforms on my system. I also have an automatic system reboot configured for 6:30am daily. I've noticed that BigBox saves the last platform the user was in only if BigBox is user-exited. If the system gets rebooted by the OS, BigBox does not remember this was the current platform and reverts back to what it was set to when BigBox was last user-exited. I want to have BigBox ALWAYS start with my MAME platform, and I do not want to disable the other platforms. Is there any way to force this regardless of which was the last platform when BigBox was user-exited? Or can BigBox be changed to save the current platform whenever it changes (and do a flush so that this gets written immediately and not cached by the .NET filesystem)? Or is there a command-line argument that I could pass to force it to a specific platform on startup?
  7. Jason, Assuming a platform has more than 1 game, is it possible to add a rule if the next title is the same as the previous title to select again? It's weird that the wheel would spin and land on exactly the same game back-to-back.
  8. I've updated to the latest beta (11.3.beta 12). I haven't had a chance to watch it for any length of time, but it seems much better so far!
  9. Yeah, after I posted this, it occurred to me that's probably pretty close to what you are already doing. No, I haven't had a chance to update yet. I didn't realize the update was available already. I will try it sometime over the next few days.
  10. Jason, I've got a solution for that. What if you implemented logic to compute a random number that is always within a max spin range of the current position? You can even make it configurable to be +/- 100, +/- 200, etc. That way you will always be randomly picking a title that is within range of the current position and never spinning further than the max "search" range. The beauty of this is it will scale well regardless of whether you have 100 titles, 1000 titles, 10,000 titles. int maxrange = 200; int halfrange = maxrange / 2; // if maxrange = 200, then we are looking for a range that is +/- 100. int minvalue = curPos - halfrange; int maxvalue = curPos + halfrange; if (minvalue < 0) { // Since the minvalue < 0, we need to shift the range to the right. // For example, if curPos = 40, the minvalue would be -10 and maxvalue would be 90. After shifting, // the new range would be minvalue = 0 and maxvalue = 100. maxvalue += Math.abs(minvalue); minvalue = 0; if (maxvalue > maxtitle-1) maxvalue = maxtitle-1; // truncate range if the number of titles is less than your maxrange. } else if (maxvalue > maxtitle-1) { // Since the maxvalue > then the maxtitle-1, we need to shift the range to the left. If maxtitle = 1000 and // maxrange is 1005, we need to shift the entire range to the left by 5 so that the mavalue = maxtitle-1. minvalue -= maxvalue - maxtitle-1; maxvalue = maxtitle-1; if (minvalue < 0) minvalue = 0; // truncate range if the number of titles is less than your maxrange. } int newrandom = Random.Next(minvalue, maxvalue); // random number. For example, if curPos = 300 and maxRange = 200, then range is (300,400)
  11. Thanks, Jason. I'll have a go at it. Another way you could do it which would always ensure that every game has the same odds of appearing next (1/577 in my case) would be to make note of the current position, then randomly select a number between 0 and MAX -1 (567 in my case) and then compute whether you need to go forward or backwards and by how many steps. while (newPos == curPos) { newPos = (get your random number between 0 and Max) if (newPos < curPos) { // Go backwards steps = curPos - newPos; } else if (newPos > curPos) { // Go forward steps = newPos - curPos; } } Now you can calculate how to spin the wheel so that it lands on the chosen game. But I get this a bit more complex, and maybe the tweaks you've made for the next Beta will take care of the problem.
  12. I watched my arcade machine and wrote down every game it spun to for the past 45 minutes. This is what I observed. Platform is set to Atari 2600 (with 577 titles). I've color-coded all the matching repeat entries. Challenge (8:58) Bacherlor Party (8:59) 2600 1.00 Files (9:00) Amidar (9:01) Bachelor Party (9:02) Breakout Atlantis (9:03) Col "N" (9:04) Astro Attack (9:05) Beamrider (9:06) Col "N" (9:07) Bachelor Party (9:07) Breakout (9:08) Centipede (9:09) Bank Heist (9:10) 2-in-1: Frostbite and River Raid (9:11) Atari Video Cube (9:12) 2 Pak Special Blue: Dungeon Master, Creature Strike (9:13) Blueprint (9:13) Blackjack (9:14) 2 Pak Spcial Yellow: Warrior,Frogger (9:15) Bionic Breakthrough (9:16) Bank Heist (9:17) Bridge (9:18) Air Raid (9:19) Berzerk (9:20) Cat Trax (9:18) Boing! (9:19) China Syndrome (9:20) Armor Ambush (9:21) Beamrider (9:22) Cakewalk (9:23) Computer Chess (9:23) Bermuda Triangle (9:24) Communist Mutants From Space (9:25) Chase the Chuck Wagon (9:26) Circus Atari (9:27) 128-in-1 Junior Console (9:28) Chase the Chuck Wagon (9:29) Atlantis (9:30) Bionic Breakthrough (9:31) Climber 5 Berzerk Berenstain Bears Atlantis So BigBox selected 45 entries over 45 minutes, and 19 of those titles repeated, some more than twice. So... 42% of the entries were repeats. It looks like it is picking a random number and using that as an offset to spin the wheel X number of entries forward or X number of entries backward. I noticed that every spin over the this time frame was within the first 98 entries of my 577 titles. It never made it higher than the 98th entry, which is Communist Mutants From Space. This makes sense since the platform is alphabetically sorted by title, and this game is the 98th entry in the Windows folder, also sorted alphabetically. My Attract Mode settings are: Enable Attract Mode (checked) Switch Between Platforms/Filters (unchecked) Wait Time: 1 Minute Time In-Between Movements: 40 seconds Maximum Speed: 20 milliseconds Minimum Speed: 200 milliseconds
  13. I agree with polygonslayer and DOS76. I think something is wrong with the randomizer somehow. It might be worth doing some debugging and logging out the number chosen each time to a file and compare the results. My arcade machine is right next to my office where I work from home, and I often stare at watching it. It's definitely goofy.
  14. Sorry, but I know a lot more about how random numbers work than you think. I'm not saying no game should ever be repeated. What I'm saying is the same 10 games should not be repeated 5-10 times within 60 samples when the range is 1000+ games. Something is statistically wrong with the number generator if is generating the same sets of numbers over and over and over again. I should only have a 1/1000 chance of seeing the same number on each random number generation. Instead, I'm seeing the same game 1/10 times, consistently, or something like that. That is wrong. If that happened once in awhile, it would be correct, but when it happens 1 out of very 10 random games, and the other games are also happening at the same frequency... there's something wrong.
  15. I have my BigBox Attract mode set to spin the wheel within the platform it is current on, and I have set to spin every 60 seconds. I've noticed that it tends to pick the same small set of games over and over again, despite having 1000+ roms on a single platform. For example, in a span of 1 hour, it will hit the same game several times. Statistically that should not be possible if it is supposed to be randomly picking a game. How is the game being selected? I suspect there could be a bug in the implementation.
  16. I am not sure I followed all of the logic you listed above, but the way I can recreate the issue is to play the game a bunch of times within the same MAME session before exiting and then LaunchBox/BigBox no longer sees any scores. If I delete the .hi file and play through once or twice, it sees the scores. If I play a bunch of times and fill all (or some) of the hi-scores show in Centipede, when I exit, LaunchBox/BigBox sees nothing when it attempts to process the file.
  17. I think I've got a recreate. You have to play multiple times and fill up the score board with your initials without exiting the game. When you finally do exit the game, the file is apparently corrupted and will no longer upload scores. I deleted my centiped.hi and it then it started upload again. If I played a bunch of times then exited, the fill appears to get corrupted and nothing uploads. See below: *** file still corrupted 2020-04-16 08:05:32 PM Music.Pause Start 2020-04-16 08:05:33 PM MameHighScores.Prepare Successful: Saving pre-game scores. 2020-04-16 08:17:19 PM Music.Resume Start 2020-04-16 08:17:19 PM Music.StopAndResumeBackground Start 2020-04-16 08:17:19 PM Music.StopAndResumeBackground Start 2020-04-16 08:17:19 PM Processing hi2txt output for centiped: 2020-04-16 08:17:19 PM MameHighScores.Parse: No new scores found to upload! *** Deleted centiped.h and a new one was created automatically and an upload occurred: 2020-04-16 08:34:18 PM Music.Pause Start 2020-04-16 08:34:18 PM Music.Pause Start 2020-04-16 08:34:18 PM Music.Pause Start 2020-04-16 08:34:19 PM Begin M3U Check. 2020-04-16 08:34:19 PM RomPath after M3U build: C:\Users\Jason\LaunchBox\Games\Arcade\centiped.zip 2020-04-16 08:34:19 PM Music.Pause Start 2020-04-16 08:34:19 PM MameHighScores.Prepare Successful: Saving pre-game scores. 2020-04-16 08:40:37 PM Music.Resume Start 2020-04-16 08:40:37 PM Music.StopAndResumeBackground Start 2020-04-16 08:40:37 PM Music.StopAndResumeBackground Start 2020-04-16 08:40:37 PM Processing hi2txt output for centiped: RANK|SCORE|NAME 1|44065|JLT 2|37992|JLT 3|32175|JLT 4|31107|JLT 5|13210|DCB 6|13010|ED 7|12805|DEW 8|12201|DFW 2020-04-16 08:40:37 PM MameHighScores.Parse: Uploading score 31107 for rom file centiped and name JLT... 2020-04-16 08:40:38 PM MameHighScores.Parse: Uploading score 13210 for rom file centiped and name DCB... 2020-04-16 08:40:38 PM MameHighScores.Parse: Uploading score 13010 for rom file centiped and name ED ... 2020-04-16 08:40:39 PM MameHighScores.Parse: Uploading score 12805 for rom file centiped and name DEW... 2020-04-16 08:40:39 PM MameHighScores.Parse: Uploading score 12201 for rom file centiped and name DFW... 2020-04-16 08:48:24 PM Music.Pause Start 2020-04-16 08:48:25 PM Music.Pause Start 2020-04-16 08:48:25 PM Music.Pause Start 2020-04-16 08:48:25 PM Begin M3U Check. 2020-04-16 08:48:25 PM RomPath after M3U build: C:\Users\Jason\LaunchBox\Games\Arcade\centiped.zip 2020-04-16 08:48:25 PM Music.Pause Start 2020-04-16 08:48:26 PM MameHighScores.Prepare Successful: Saving pre-game scores. *** Played a bunch of times then exited, and now file appears to be corrupted and nothing uploaded: 2020-04-16 09:07:44 PM Music.Resume Start 2020-04-16 09:07:44 PM Music.StopAndResumeBackground Start 2020-04-16 09:07:44 PM Music.StopAndResumeBackground Start 2020-04-16 09:07:44 PM Processing hi2txt output for centiped: 2020-04-16 09:07:44 PM MameHighScores.Parse: No new scores found to upload!
  18. I'm not upset that it didn't register. However, you should not accuse me of incorrect logic, because that's just totally wrong. At any rate, only 1 score ever uploaded, and it was on my first run of the Centipede after upgrading this morning: 2020-04-16 10:43:16 AM Processing hi2txt output for centiped: RANK|SCORE|NAME 1|32266|JLT 2|32000|JLT 3|23863|JLT 4|19609|JLT 5|13210|DCB 6|13010|ED 7|12805|DEW 8|12201|DFW 2020-04-16 10:43:16 AM MameHighScores.Parse: Uploading score 19609 for rom file centiped and name JLT... 2020-04-16 10:43:17 AM MameHighScores.Parse: Uploading score 13210 for rom file centiped and name DCB... 2020-04-16 10:43:17 AM MameHighScores.Parse: Uploading score 13010 for rom file centiped and name ED ... 2020-04-16 10:43:17 AM MameHighScores.Parse: Uploading score 12805 for rom file centiped and name DEW... 2020-04-16 10:43:18 AM MameHighScores.Parse: Uploading score 12201 for rom file centiped and name DFW... Score #4 was the game that I just played. I exited the game and after seeing my score, I went back in and played a few more times but didn't break any of my scores, and would not expect an upload: 2020-04-16 10:45:11 AM Processing hi2txt output for centiped: RANK|SCORE|NAME 1|32266|JLT 2|32000|JLT 3|23863|JLT 4|19609|JLT 5|13210|DCB 6|13010|ED 7|12805|DEW 8|12201|DFW 2020-04-16 10:45:11 AM MameHighScores.Parse: No new scores found to upload! Now here's where things go weird... I did start breaking my highest score... multiple times, in fact. But according to this, it's not seeing any scores: 2020-04-16 04:27:42 PM Processing hi2txt output for centiped: 2020-04-16 04:27:42 PM MameHighScores.Parse: No new scores found to upload! 2020-04-16 04:32:57 PM Processing hi2txt output for centiped: 2020-04-16 04:32:57 PM MameHighScores.Parse: No new scores found to upload! 2020-04-16 04:44:43 PM Processing hi2txt output for centiped: 2020-04-16 04:44:43 PM MameHighScores.Parse: No new scores found to upload! 2020-04-16 08:17:19 PM Processing hi2txt output for centiped: 2020-04-16 08:17:19 PM MameHighScores.Parse: No new scores found to upload! On this last one at 8:17PM, I just scored 44065 which should have been the #2 all-time spot on the Game Database. Obviously something happened and hi2txt no longer has anything in. Not sure why that would be. My scores are still in the game whenever I relaunch. (I also confirmed that MAME autosave is set to 0).
  19. I've been in professional software development for 21+ years. I'm not making invalid assumptions. Based on the description on how this is supposed to work, I can only tell you that it isn't working the way you described it should be working. Sorry if you're offended that I'm telling you it isn't working right. But it's not. It's going to be pretty tough for me to get a new high score in Centipede because my score is already pretty high and it's really hard for me to get it higher than it already is. I might not be able to do it even after playing for hours. And honestly, I really don't have that kind of time. Not really that worth it to me. I can only tell you that I believe you've got an issue. Your choice on whether you want to try to fix it or not. I suspect others will be complaining sooner or later. Eventually you'll find the issue. Good luck.
  20. All I can say is my first new score uploaded, but NONE of my subsequent high-scores for this game uploaded. And some of these plays was the #1 top score in Centipede. Surely that should have uploaded, but it did not. Based on what you have described, it ain't working right.
  21. This is a problem. In Centipede, I already have every hi-score slot with the same initials of JLT. Earlier today there was one slot that didn't have JLT on it, and I got a high-score that overrode that one and it uploaded to the Game Database. Since then I've broken the top record on my Centipede, which is over 33700 but because JLT was already on the top score, it does not upload to the Game database. That's a problem. That means you're new top scores will NEVER upload unless you use different initials then what was on the previous top slot. Kinda seems to defeat the whole purpose of having hi-scores. Can you fix this to upload the highest score regardless? Otherwise it's a lot of wasted effort and time when it ain't going to update anyway.
  22. Ironically... I just renewed my license anyway. The new high score sync was an attractive feature... and I realized the renewal was only $10. Worth it.
  23. I just rechecked the settings, and gosh darn... "Check for updates on restart" was actually checked, and I thought it wasn't. #facepalm. I unchecked it and the problem went away. We'll chalk this one up to "user error". Thanks for the help.
  24. So I've done at least 2 years of a Premium License. My license has expired and now BigBox nags me every single day (since I have daily reboots setup because of memory leaks and only 4GB of RAM) with a message that says "A new official version of LaunchBox is available, but updates for your LaunchBox Premium license have expired. Would you like to renew your license now?" Here's the thing... I have check for new updates turned OFF. I will probably renew my license at some point, I'm just not willing to do it now with the COVID-19 world we are living in. Why is BigBox nagging the shit out of me, and how can I stop this nonsense without buying another year of premium right now? It's annoying because my kids don't know what to do whey they see that message (not all of them can read yet), and if I had a tube monitor (thank god I don't), this message would now be burned into my screen as a permanent ghost. Is there something I can do to stop this from happening? Thanks.
  25. Unfortunately, Retro, that isn't it. It's not only an issue with Colorful. I only started using Colorful last week. I had been using several other themes previously, and they ALL have this issue. I honestly think there's a bug here... I think refreshing the cache for platform images only works while on the Default theme. That's what it looks like to me, at least. Should be very easy to recreate the problem with several other themes.
×
×
  • Create New...