Jump to content
LaunchBox Community Forums

thedevilsjester

Members
  • Posts

    32
  • Joined

  • Last visited

Posts posted by thedevilsjester

  1. On 12/18/2020 at 7:05 AM, neil9000 said:

    Still using Intel chips though, they should really switch to Ryzen as they have much better integrated graphics than Intel, and as this is a gaming orientated device im really surprised that they are leaving free performance on the table by sticking with Intel.

    I don't think this is true, at least not from an Emulation perspective.

    The i7-1165G7 in that device has an impressive single-thread rating of 2917 with a TDP of 12-28w.  The best mobile Ryzen I could find (Ryzen 9 4900H) only has a single-thread rating of 2724 with a TDP of 35-54w.  Lower emulation performance, for twice the power draw (it would require a cooling setup and battery to match)

    Most emulators don't utilize the GPU much at all, and the ones that do are often bottle-necked by the single thread performance of the CPU that has to translate the calls to the GPU.  Keep in mind that this device has a 720p resolution screen, which means you won't be pushing high pixel counts.

     

  2. I have been away from the scene for awhile, but now I am back and looking to polish up my system.  The biggest issue that I have right now is the lack of quality movies.

    I posted this topic a couple of years ago, without any results, but things can change in the course of a couple years.

    So I ask the question again:  Are there any websites (other than EmuMovies), paid or free, that offer movie clips for retro games?  To be clear, my collection is mostly RPG or Strategy games, and EmuMovies struggles in this area.

  3. No there wasn't any device reporting as 1Joy, in fact I used that script as a basis to enumerate the Joypads detected on my system.

    I am playing with possibilities, I will certainly write something more flexible in the future.  I just wanted to put this information out there so others could find it as well.

    • Like 2
  4. I was originally going to post a question about an issue I was having; but the engineer in me wanted to dig in just a little deeper, and I found the solution (of sorts).

    After months, my AutoHotKey scripts (via LB) just ... stopped working.  Nothing has changed, the hardware is the same, the software is the same, the input devices are the same, etc...  As it turns out, AutoHotKey was working just fine, but it didn't seem like it was detecting my controller.  Some more digging and running scripts to enumerate the controllers AHK can see, and immediately I discovered that the only controller on the system was being reported as controller 2!

    So I had to change all of my scripts that referenced Joy to 2Joy and everything just worked again.  Unfortunately I don't know why it changed, and if/when it will change again, so I will likely have to update my scripts every time it randomly breaks.

    Apparently its a known issue (see the note here) https://www.autohotkey.com/docs/KeyList.htm#Joystick but there doesn't seem to be a solution and the "one person reported" portion of the note doesn't seem like its widespread enough to matter.  So if your Joy keys stop working in AHK, or don't work at all when they should, check and see if its actually the first joypad.

    I am putting this out there so that anyone else that runs into this situation will have a resource to find as I was not able to find any topic that discussed this.

    • Like 1
  5. On 7/6/2018 at 4:44 PM, neil9000 said:

    Well that is what the emumovies videos are, generally about 30 seconds of gameplay with the title screen shown at the end of the video.

    The clips at EmuMovies are a seemingly random 30 seconds from roughly the first couple minutes of the game.  It does not matter if that first couple minutes is not actually representative of the gameplay.  I don't want this topic to turn into a rant about EmuMovies, but a tactical combat game that doesn't show any tactical combat and spends 30 seconds navigating the menu/hub (as an actual example of some of the videos) is not very useful.

    I will make my own if I have to, but I cannot be the first one to want good video clips of classic emulated titles.  I would rather spend my time playing the games than making clips of them, if someone else has already done this.

  6. Are there any sites (free or paid) that have good quality video clips for many/most emulated games?

    EmuMovies is the only site I know about, and their video clips are terrible.

    "Good Quality" to me means that the clip is representative of the general gameplay.  A mini ~30-60 second trailer of sorts.

  7. 8 hours ago, jayjay said:

    I was thinking, using @ckp example, something crude like:

    
    f1::
    {
            Run, %A_AHKPath% "C:\temp\dostuff.ahk"
    	send {esc down}{esc up}
    }

     

    I understand now. 

    But that's cool you got it sorted. When you create some awesome scripts dont forget to share with us in the autohotkeys thread.

    I will polish up the script I am using, make it more generic, and then post it.

  8. To recap, putting together a few ideas from the thread, what I did was have a script that looks like:

    Run "C:\Users\MyUser\LaunchBox\AutoHotkey\AutoHotkey.exe" "F:\Scripts\RunAfter.ahk"

    No Esc or other key trigger, just this command by its lonesome.  Then in the RunAfter.ahk I can run

    WinWait, SomeEmulator
    WinWaitClose, SomeEmulator
    MsgBox, SomeEmulator Closed!
    Exit

    And this works perfectly.  Thanks for everyone's participation and throwing around ideas.

    • Like 1
    • Thanks 1
  9. 10 hours ago, jayjay said:

    You are one hard dude to please lol. 

    I just want to run a single command after a program finishes executing.  It has to always run (no race conditions), it cannot rely on additional software that needs to be installed, and it cannot "break immersion" (additional popups, terminal windows, etc...).  These are not unreasonable asks.

    10 hours ago, jayjay said:

    Could you not change the esc key in @ckp example?

    What is the end goal you have in mind with that?  I press a button to exit the emulator, that button cannot be the same button that triggers the script because of race conditions.  If I changed the button to something else, then I would have to hit one button (before?) I exit the emulator, and another button to exit the emulator.  

    2 hours ago, jayjay said:

    But anyway I think there's enough here for @thedevilsjester to create something. "Two decades of development"... should be jedi mind tricking this shit.

    I think you have the wrong impression.  The goal has never been to achieve this in any way at any cost.   Thats easy.   I could rattle off a dozen different solutions that would get the job done.  LaunchBox is a visually pleasing, elegant, all-in-one launcher solution.  The goal is to use this system to perform the task.

    I have yet to test it, but it seems like (from the last few posts) that I can use the AutoHotKey executable bundled with LaunchBox, to launch a separate script from the script inside of LaunchBox that will not be killed when the original script is killed, letting me execute code to wait for the process to end.  This would not require additional software, it would not create a race condition, and it would not cause additional windows/popups/terminals to show up.  I do appreciate the discussion, since starting this thread we have went from creating a batch file that runs some javascript and wraps the emulator, to an actual solution from within LaunchBox that seems like it might work.  I will update the thread once I have tried it out.

  10. On 4/27/2018 at 9:40 PM, ckp said:

    This also works for me:

    $Esc::
    {
            Run, "C:\temp\dostuff.ahk"
    }

     

    Edit: I did not have to rename any ahk exe files or anything. just needed to add the line above to launch my ahk script.

    I fear that this would create a race condition if the emulator is also polling for, and processing, the Esc key.

    However the ability to run another AHK script directly like this is an interesting idea.  If a script run in this fashion continues to run when the callee is killed, then one could have an AHK script that defers entirely to another AHK script and that one waits for the application to end.

     

  11. 4 hours ago, Zombeaver said:

    I think a per-emulator-entry "automatically launch before/after" function would be nice, but it hasn't happened yet (and I wouldn't expect something this niche to be particularly high priority, honestly).

    I think that a per emulator check box that says "Persist AutoHotKey Script" that relies on the user to end the script if checked (unchecked by default), would be a much simpler addition.

    4 hours ago, Zombeaver said:

    You could do this via the additional apps function by adding an .ahk file as the app and then checking the box to "automatically run after main application". This will make whatever program/script/thing you specify run once the game has closed. You can't currently edit additional apps en masse though (although this is on the to-do list) so this would only be on a per-game basis.

    That is an interesting solution, though it does not scale out to hundreds of games (not until the to-do-list item is complete at least).  IF my feature request gets accepted (https://bitbucket.org/jasondavidcarr/launchbox/issues/4147/autohotkey-persist-after-termination) it might be a good temporary solution to do on a per-game basis.

    4 hours ago, Zombeaver said:

    The problem that you're running into here is that AHK within LB ends as soon as the program that was started/launched ends. It's not like a normal external AHK script which only ends when you tell it to. In other words, it's not persistent once the launched program has ended, so it can't do anything further (like use a WinWaitClose function) at that point.

    I thought that was the case, since I could not get anything to execute after the program has terminated.

    4 hours ago, Zombeaver said:

    (and I wouldn't expect something this niche to be particularly high priority, honestly).

    I think you might be surprised how useful it can be and how many people would utilize it.  My personal use case is for some emulators, DS, 3DS, Arcade, etc... that use a vertical layout, I can have it automatically rotate the screen when the emulator launches and rotate it back when the emulator closes.  All while still using BigBox and no keyboard.  With the current setup, I cannot rotate the screen back, because that code is never executed.  I think quite a few people would find this useful.  It sure makes playing vertical resolution emulators/games so much nicer.

  12. 3 hours ago, DOS76 said:

    I don't know much about the script itself but @jayjayis saying that the code will only execute if placed in the emulator ahk script tab so as long as you don't enter for every one of your emulators it will only run from the specific ones you enter it in.

    Yeah, I misread, I did not absorb the big capital word "COPY" and somehow thought that the original was being renamed.  Regardless I am not yet at the point of desperation where I want to resort to hacks to solve the problem. I am holding out hope that there is a solution that will work with LaunchBox or that they will fix the bug/add the feature once I submit the request.

  13. 7 hours ago, jayjay said:

    COPY Autohotkey.exe and rename it to "my script.exe".

    This looks like it will affect every platform, I only wish to do this on a couple of platforms.  I am going to try and make a feature request first before I try any work-around solutions.

  14. 1 hour ago, ckp said:

    no, i don't think that's true. i can think of a couple ways that might work. you could have ahk run some cmd or batch file that in turn runs a start command of anything you want. that will not be terminated by LB

    It is easy to create a batch file that will execute a program, wait on the program to exit (which causes the program to spawn a new terminal window), and then use Javascript to execute the SendKeys method via Windows Script Hosts. That will "get the job done" but the end result is not something that I would be happy with.

    The whole reason that I bought LaunchBox was because it was a great, integrated, all-in-one solution and it would be such a shame to stop so close to the finish line.

    1 hour ago, ckp said:

    I think that is a great idea actually. If there was a checkbox type thing on the ahk tab for that as an option, it would be nice. 

    That would be perfect, yeah.  I will see about filing a feature request/bug report? and hope that they feel the same way.

    • Haha 1
  15. 4 hours ago, jayjay said:

    As @ckp says posting a script would help but yeah LB kills the script on game/emu exit.  

    There is nothing to post, I simply want to press a certain button combination when the emulator exits.  Something like:

    WinWaitClose, RetroArch
    Send !{Space}
    
    4 hours ago, ckp said:

    you can be tricky and have LB run something that runs the script totally outside of LB. 

    Its not as easy as it sounds.  Not without additional 3rd party tools.

    4 hours ago, jayjay said:

    What would be the problem with running a script outside LB so the script can finish before its killed by LB?

    I do not wish to install additional applications other than LaunchBox/BigBox and the needed emulators.

    What would be the chances that I could get them to change the behavior to not immediately kill the AutoHotKey script, just wait for the script to finish naturally (with possibly a timeout if they are worried about never ending scripts)?

  16. 58 minutes ago, ckp said:

    Just giving you options that work, at least for me. Since you have 20 years of development experience, I'm sure you'll find a way to run a script or other program the way you want.

    I appreciate the responses, I was just explaining why I would not use an option like that, not that I was unappreciative of it.

    I posted here because the options that should work, are not working.  I suspect that LaunchBox is killing the AutoHotKey script when the process ends so it never gets a chance to trigger those events, but until I dig deeper, that is pure speculation.  If someone else has managed to get this to work, or knows the reason that it doesn't, that would be very helpful.

  17. 10 hours ago, ckp said:

    so here is an example of how to close xpadder when exiting the game with your controller:

    The problem with this method is that it requires you to enforce your own exit button.  There are too many unknowns for this to be safe.

    1. What does "Process, Close" do?  Technically.  How does each emulator respond to this?  This is very important because each application has to respond to various shut down methods in their own manner. 

    Two decades of development experience tell me that thats a big can of unknown, even Microsoft says :

    Quote

    there is no guaranteed "clean" way to shut down an application in Win32,

    Quote

    This does not, however, mean that the process itself has had the opportunity to do any final flushes of information to disk

    There is no reason to suspect that a Win64 application would be any different since its all based on how the developer chooses to respond to various events and what events are used to try and stop the process.

    2. Most emulators have their own exit mechanism.  This guarantees a graceful exit, such as writing out SRM files, and guarantees that the emulator is in a clean shutdown state (ex: its not in the middle of writing save files).

    3. If the button you use in your mapping to exit is the same button that the emulator is using for this purpose, there is a race condition.  If the emulator happens to poll and process the button first, what happens?  Will the AutoHotKey event still trigger?

    To be clear, I can do a "WinWaitActive, <Title>" and it works, but "WinWaitClose, <Title>" does not.

     

  18. 21 minutes ago, ckp said:

    Are you trying to do this as an additional application for some game and running this ahk script before the games starts?

    If you are, and you have a sleep in the script long enough to wait until the process is surely running before you try to kill it, you might try something like this in your loop that checks:

    
    Process, Exist, process.exe
    if(!errorlevel)
        Process, Close, process.exe

    I am not sure what you mean.

    What I am trying to do is to have the AutoHotKey script that is associated with an Emulator in LaunchBox, perform an action once the Emulator that it launches exits.

  19. Using AutoHotKey scripts in LaunchBox, I am trying to work out how to wait until the launched executable has closed (and then perform some additional task).

    I have tried using "WinWaitClose", I have tried using "Process, WaitClose", and I have tried to Loop (breaking only if the Window doesn't exist), but none of these methods seem to work.  Has anyone managed to get an AutoHotKey script in LaunchBox to do this?

  20. On 4/15/2018 at 1:37 AM, jayjay said:

    This is the same script as the one I posted above. Except with no dpad or mouse wheel, only has the mouse pointer and 3 buttons. Also uses the left analogue not right. If you need to change anything compare this script with the one above. I tested it and it works through LB.

    Thanks, I will try this out and see how well it works.  

  21. 14 minutes ago, Jason Carr said:

    I see. Now it's starting to make more sense. Yes, Big Box uses a very large image cache in order to improve performance, largely because the original source images are often huge and can cause performance problems, so the cache is used. It may be that the disk space issue was cause for the performance problems to begin with.

    The only thing I can suggest is removing any image types that you won't be using to free up space for the cache. By default LaunchBox downloads tons and tons of images, so chances are there are a bunch that you don't need that you can just go and delete from LaunchBox\Images\[Platform]\[Image Type].

    Can I delete the original images after they are cached?  I did not allocate space on this partition for double resources.  Even if I manage to delete enough image types that it can successfully cache the existing images, I planned this partition with a little more wiggle room than it has now with the cache.

    There should really be a little "loading" icon in the corner of the screen that indicates that its still background caching.  It took 5-10 minutes to "Force Cache" on a pretty fast SSD.  I cannot imagine how long it would take to fully cache everything when its just doing it in the background on a regular HDD.  A little spinning icon would at least say: "Hey, we are doing something"

  22. I am more confused than ever now.

    BigBox downloads the images and stores them locally when I add games to my collection.  This I expect.

    BigBox caches the images by copying them from one spot on the hard drive...to another spot on the hard drive?  This I did not expect.

    At least it appears to be doing this.  As BigBox is running doing the "Force Cache", its filling up the last 5-10 GB of my hard drive and then crashes because it cannot write anymore to the hard drive.  I free up another 4-5 GB and it resumes the "Force Cache" and just fills that up and crashes again.  The only thing I can think is that its copying the existing images, the ones it already has, to some other location. 

    Needless to say, there was no way that I could complete a "Force Cache" and see if it works faster because I don't have an additional 20 GB of free space.

  23. 50 minutes ago, Jason Carr said:

    For what it's worth, resource loading *is* asynchronous. Big Box is extremely well threaded and favors multiple cores as much as possible.

    I did not mean to imply that it wasn't, I assumed it was (as its the only sane way to do things) I meant that it might be a bug that in this system.  I will try these options and report back once I have some results.

    • Like 1
  24. 16 minutes ago, Jason Carr said:

    If that doesn't fix it, let us know the make and model of your SSD @thedevilsjester.

    I don't see how this could be causing the issue, resource loading should be asynchronous, the menu navigation should not block waiting on these resources.   Should I file this as a bug?

    I haven't checked any settings yet (I won't be able to for hours) but the SSD is: Corsair Force Series MP500 M.2 NVMe PCIe

     

  25. 1 hour ago, Jason Carr said:

    Also take note that since it's a laptop, it could be doing some awful things with reducing performance to save battery life. Every laptop is different, but that is a common issue.

    Its not a laptop, its a mini-pc, it has no battery, its always plugged in.

    1 hour ago, Jason Carr said:

    though Intel graphics could be a severe bottleneck, but I wouldn't expect that to cause stuttering like that.

    What version of Big Box are you running?

    This is one of, if not the highest performing integrated intel graphics chip, its no slouch. https://www.videocardbenchmark.net/gpu.php?gpu=Intel+Iris+Plus+650

    Not that there is a direct comparison, but I can run PCSX2 at 2x Native Resolution at  an unlocked 120+ FPS on demanding games like God of War, without any issue.

    I am not on my emulation box right now to check the version, but I downloaded it from the download link emailed to me about 4 days ago, so its pretty recent.

×
×
  • Create New...