bkacjios / m-overlay Goto Github PK
View Code? Open in Web Editor NEWA controller input display/overlay for Dolphin
License: MIT License
A controller input display/overlay for Dolphin
License: MIT License
Both of my requests are in regards to the music aspect of m-overlay.
I wanted to see if were possible to add an 'All' folder within the Melee folder. This would cover both all stages and the menus. I like having various options for all stages (only) and menu (only) for control. I want that to stay! I just thought it would be cool to add this option so if there was a song you were really in the mood to hear, you could hear it everywhere!
The SD Remix version of Melee/Slippi modifies some stages and adds one in particular. The Trophy Tussle stage. I wanted to see if were possible to add support for this stage as it appears to have a completely different stage ID.
Thanks again for your work on this project! It is seriously amazing!
I wanted to see if it were possible to add support for FLAC and OPUS for the Melee music player!
Amazing work on this project! Really love what you are doing!
It would be cool to always be able to select which port that instance of moverlay is displaying. This would be useful because if you're playing offline with a buddy of yours and want two overlays up, you could just open moverlay twice and select each port.
Also, I noticed even with "auto detect port" in slippi unranked, it still will sometimes select their port and checking-unchecking the auto detect button doesnt change anything.
Really awesome program though! Thanks for developing this!
The title is self explanatory. The actual release has support for OoT, so I guess that, game ID aside, they should work in the same way. Maybe it could be useful to have an option to set the game ID you are going to play manually but I don't know if that's possible.
Are there any plans to support this game?
I used game capture to specific window but it is not going through, unfortunately.
Window capture works but not transparency.
please please please make this overlay work with luigis mansion . please please please
When starting m-overlay before starting up Metroid Prime in dolphin, the following error occurs.
Error: modules/games/core.lua:8: attempt to perform arithmetic on local 'x' (a nil value)
stack traceback:
[string "boot.lua"]:777: in function '__div'
modules/games/core.lua:8: in function 'translateAxis'
main.lua:334: in function 'drawControllerOverlay'
main.lua:471: in function 'draw'
main.lua:523: in function <main.lua:497>
[C]: in function 'xpcall'
Overlay is able to hook to all other versions of Dolphin I have except the newest Slippi online. I have rollback/netplay ticked. The config for the slippi online dolphin is identical to the other dolphin versions that work. I love using your beautiful creation on my other dolphin builds, and I would love to also be able to use it for slippi online :)
Huge fan of this btw. Just a minor critique that I wanted to issue (if it’s even doable). With Custom Music enabled, playback initiates around 1-2 seconds after the match starts. If it’s possible, could you make it start immediately when the stage pops up -before the announcer says “Ready”- to get more of an authentic/integrated feel to it all. It’s a very minor suggestion, Idk how loading playback works in this software, requesting for immediate feedback could be tedious. Anyways thanks again for making this! Absolutely love it.
Hi,
I play The SpongeBob SquarePants movie often on Dolphin for speedrunning. I was wondering if it would at all be possible to implement support for this game.
Thanks :)
I wasn't sure what to label this as, so I just labeled it as suggestion.
The NTSC-U version of the game is set to use 0x803CA398
as the address to get inputs from. The equivalent address for NTSC-J is 0x803C6818
, and the equivalent address for PAL is 0x803D63F8
. Both the NTSC-J and PAL versions of the game handle inputs the same way as the NTSC-U version, so it should be very simple to add support for them.
Hello!
This may be a dumb question but I would like to tinker around with this program's source code but how do I build it on Windows? I downloaded the source files but how do I compile it to run my own version?
Thank you so much for your help and time!
M'Overlay works just fine on Project Slippi on my machine on both Manjaro Linux and Windows 10. However, if I try to run the program with the latest development version of Dolphin 5.0(Running the same iso of Melee) the controller overlay won't appear. The most that will happen is the console showing that the program has hooked onto a dolphin process:
[INFO - 15:47:07] [DOLPHIN] Hooked
I'm not sure if I am doing anything wrong, I was planning to add support for Pikmin 2 for when I partake in a race of a cave mod which is how I discovered this issue.
I was wondering what process you used to find which stage was being selected for melee slippi online. I'm modding a game called naruto storm 4 and I'm wondering how I could replicate your findings to help me mod the soundtrack for that game.
I was wondering if it would be possible to also support stage music by series (similar to how it is setup in Ultimate). What I mean by this is you could have an F-Zero folder, and the music in that folder would apply to both Big Blue and Mute City. This would eliminate having duplicate songs assuming one were to set it up this way.
Maybe it could be mapped like this?
Stage | Series | Count of Series |
---|---|---|
Battlefield | Super Smash Bros | 3 |
Big Blue | F-Zero | 2 |
Brinstar | Metroid | 2 |
Brinstar Depths | Metroid | 2 |
Corneria | Star Fox | 2 |
Dream Land N64 | Kirby | 3 |
Final Destination | Super Smash Bros | 3 |
Flat Zone | Game & Watch | 1 |
Fountain of Dreams | Kirby | 3 |
Fourside | Earthbound | 2 |
Great Bay | The Legend of Zelda | 2 |
Green Greens | Kirby | 3 |
Hyrule Temple | The Legend of Zelda | 2 |
Icicle Mountain | Ice Climbers | 1 |
Jungle Japes | Donkey Kong | 3 |
Kongo Jungle | Donkey Kong | 3 |
Kongo Jungle N64 | Donkey Kong | 3 |
Menu | Super Smash Bros | 3 |
Mushroom Kingdom | Super Mario | 4 |
Mushroom Kingdom 2 | Super Mario | 4 |
Mute City | F-Zero | 2 |
Onett | Earthbound | 2 |
Poké Floats | Pokemon | 2 |
Pokémon Stadium | Pokemon | 2 |
Princess Peach's Castle | Super Mario | 4 |
Rainbow Cruise | Super Mario | 4 |
Venom | Star Fox | 2 |
Yoshi's Island | Yoshi | 3 |
Yoshi's Island N64 | Yoshi | 3 |
Yoshi's Story | Yoshi | 3 |
How hard would it be to get this working in Linux? I've been able to launch the overlay using Wine, but it's looking for Dolphin.exe, not the 'dolphin-emu' (the process name in Linux). Is it as simple as changing the name of the process to look for in the code?
Hey, I'm back again lol (sorry). I didn't think of this earlier, I guess since we're on the road to authenticity, is there any way you can reduce the volume of the custom music playing whenever the game is paused? After playing the original game, right when I hit the pause button, the music is reduced by 50-75% of the original volume and then reverts back when I unpause/hit the pause button again. Thanks again man, your response/execution time is very swift.
title says all. setting are Rollback/Netplay and Loop Stage on with D_DOWN set as the control to cycle through music.
when entering games sometimes i see my opponents inputs and the overlay wont let me see my own. when i can see my opponents inputs i cant use dpad down to cycle thru music
Would love to see this work with TTYD. I know quite a few people, including myself, would find it useful. :)
So I have an official gamecube controller plugged into a mayflash adapter into slippi dolphin. As seen in the image, M'overlay always thinks I am captain falcon even before I launch melee or after closing it. This also continues despite cycling through ports manually. I have done several re-installs and all of them on any version always comes back to the same issues. Specifically in melee, my controller inputs are not shown through M'overlay, despite the controller working perfectly fine in game.
To add to this, music on stages won't play at all.
If M'overlay is launched first and then just dolphin ( no game ) the program will read that dolphin is the game being read as seen in the last image.
Thank you for your time.
Hello. First of all thank you for this nice work. I like the input overlay :D
But sadly only the NTSC-U version of Super Mario Sunshine gets recognized.
I would really appreciate if you could add the Japan version (GMSJ01) and the PAL version (GMSP01)
Thanks!
P.s keep up the good work
Describe the bug
When OBS tries to show M'Overlay after having it hidden, M'Overlay consistently crashes. This happens if I'm showing M'Overlay, transition away and transition back to the scene M'Overlay is in, and it also happens if I simply add M'Overlay, toggle the source off and then back on again. This happens when sing the recommended setup where M'Overlay is captured using "game capture" regardless of other settings. The crash does not happen if M'Overlay is captured using a "Window Capture", but this setup does not allow transparency and has some other artifacts that are out of frame in the normal window.
Desktop (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
Debug console output
The debug console does not show anything interesting when crashing, the crash occurs after the lines about player.1.entity
and player.2.entity
, before the line normally showing match.playing = true
appears.
I've seen this overlay on several streams, and I gotta say, it's quite good! Really nice work.
I'm just curious what it would take to support a B0XX layout. As I'm a B0XX user, it would be very useful for me to have this. This is quite different from the existing B0XX input viewer (which is available here), mainly due to the fact that this uses a transparent background.
Let me know what you think! I'd be happy to look into this myself, but I'm just not quite sure how to go about building this on my machine.
I noticed that the overlay does not detect inputs when Dolphin is in fullscreen mode, only when it is a window.
What I expected to happen was the overlay to detect my inputs while in fullscreen mode
Hello,
I see that you recently added support for Pikmin NTSC (thank you for that btw) in this commit : 292b8a39321835e0f2756120dc09e1678b7f6237 but I was not able to use m-overlay with my ISO.
Here is the console debug output when I try to launch Pikmin with Dolphin 5.0:
[INFO - 08:46:22] [DOLPHIN] Hooked
[INFO - 08:46:30] [DOLPHIN] Watching ram: 7FFF0000
[DEBUG - 08:46:31] [DOLPHIN] GAMEID: "GPIE01" (Version 1)
[ERROR - 08:46:31] [DOLPHIN] module 'games.GPIE01-1' not found:
no field package.preload['games.GPIE01-1']
no 'games/GPIE01-1' in LOVE game directories.
no file 'games/GPIE01-1' in LOVE paths.
no file '.\games\GPIE01-1.lua'
no file 'E:\Programmes\M'Overlay\lua\games\GPIE01-1.lua'
no file 'E:\Programmes\M'Overlay\lua\games\GPIE01-1\init.lua'
no file '.\games\GPIE01-1.dll'
no file 'E:\Programmes\M'Overlay\games\GPIE01-1.dll'
no file 'E:\Programmes\M'Overlay\loadall.dll'
no file '.\games.dll'
no file 'E:\Programmes\M'Overlay\games.dll'
no file 'E:\Programmes\M'Overlay\loadall.dll'
stack traceback:
[C]: at 0x7ffd14ef6420
[C]: in function 'xpcall'
modules/memory/init.lua:349: in function 'checkmemoryvalues'
modules/memory/init.lua:281: in function 'update'
main.lua:144: in function 'update'
main.lua:713: in function <main.lua:693>
[C]: in function 'xpcall'
[string "boot.lua"]:802: in function <[string "boot.lua"]:769>
[INFO - 08:46:47] [DOLPHIN] Game closed..
Could you please help me solve my issue?
I figured this was a long shot, but BRSTM files are loopable music files which work in Brawl. Would it be possible for the music/stage/playlist feature for rollback Slippi / Melee work with BRSTM files? They loop seamlessly which is why I think they'd be perfect for it.
I'm using a GoXLR Mini and am trying to point the audio to go to one of the output audio devices, and it seems to be forcing it to the default one. I understand this is niche, but would you consider supporting it?
This is the Windows 10 app I'm talking about: https://www.microsoft.com/en-us/p/eartrumpet/9nblggh516xp
Hi! Would it be possible for m-overlay to recognize and utilize loop points embedded in WAV files?
If added, it would allow for any song to be looped seamlessly and truly replicate the experience of offline Melee's music without butchering the beginnings of songs. Wavosaur is an application that can embed loop points into WAVs, allowing music to loop seamlessly. Winamp and VLC with plugins can recognize the embedded loop points and play WAV looping WAV files. Some game engines like Source detect embedded loop points and loop background music this way.
Here's an example WAV with embedded loops of the music that plays on the Clock Tower stage from MvC2:
ClockTowerStage.zip
Some information/documentation on Wavosaur and embedded WAV markers:
https://www.wavosaur.com/quick-help/loop-points-edition.php
Not an issue. But i don't know how to contact otherwise. Would be cool to have a toggle so it says what port you are at all times. Then when people stream. People wouldn't have to ask (what character are you?)
Each time I start Brawl or P+, M'Overlay says that RSBE01-2 is unsupported. I went into the iso details on Dolphin and my Brawl iso is revision 2, is this an unsupported version of Brawl?
run.sh requires 'sudo' access, if the script is modified to not use sudo it never hooks into dolphin. Here's the terminal output and it just repeats:
[DEBUG - 19:37:55] Created m-overlay config directory: /home/dan/.local/share/love/m-overlay
[INFO - 19:37:55] Load: /home/dan/.local/share/love/m-overlay/clones.lua
[INFO - 19:38:12] Hooked: Dolphin.exe
[DEBUG - 19:38:14] Gamecube memory found: 2300000000
[INFO - 19:38:14] Watching process ram: Dolphin.exe
[INFO - 19:38:14] Hooked: Dolphin.exe
[DEBUG - 19:38:14] Gamecube memory found: 2300000000
[INFO - 19:38:14] Watching process ram: Dolphin.exe
[INFO - 19:38:14] Hooked: Dolphin.exe
In Unranked Mode, if I am randomly assigned to player 2, the first game the overlay will properly detect that I am P2 and display my inputs. If I continue with more games with the same opponent, it will "detect" that I am P1 and display my opponent's inputs. This happens consistently. Unknown if it happens w/ Direct Match.
After trying mp3s and wavs in Menu and Battlefield in `$USER.local\share\love\m-overlay\Stage Music (open config didn't work in Manjaro) on m-overlay 1.31, no music played on the CSS or stage. Changing audio backend in Dolphin, removing all spaces in the file path, looping music, and changing volume level did nothing.
Describe the bug
Captain Falcon's series and stock icons do not load/show properly while watching a Slippi replay.
Desktop (please complete the following information):
To Reproduce
Open Slippi replay with Captain Falcon
Expected behavior
Captain Falcon stock icons and series icon should appear.
Debug console output
[INFO - 11:48:14] [DOLPHIN] Hooked
[INFO - 11:48:15] [DOLPHIN] Watching ram: 80280000 [2000000]
[DEBUG - 11:48:15] [DOLPHIN] GAMEID: "GALE01" (Version 2)
[INFO - 11:48:15] [DOLPHIN] Loaded game config: GALE01-2
[INFO - 11:48:15] [MEMORY] Mapping game memory..
[DEBUG - 11:48:15] [MEMORY] [0][8046B6AE = 00000000] match.finished = false
[DEBUG - 11:48:15] [MEMORY] [0][80479D30 = 00000000] menu_major = 0
[DEBUG - 11:48:15] [MEMORY] [0][80479D33 = 00000000] menu_minor = 0
[DEBUG - 11:48:15] [MEMORY] [0][8046B6A5 = 00000000] match.playing = false
[DEBUG - 11:48:17] [MEMORY] [0][80479D30 = 0000000E] menu_major = 14
[DEBUG - 11:48:17] [MEMORY] [0][80479D33 = 00000003] menu_minor = 3
[DEBUG - 11:48:17] [MEMORY] [0][80479D33 = 00000001] menu_minor = 1
[DEBUG - 11:48:17] [MEMORY] [1][8049E753 = 0000001C] stage = 28
[DEBUG - 11:48:18] [MEMORY] [1][POINTER 80453130 = 80D0C340] player.1.entity
[DEBUG - 11:48:18] [MEMORY] [1][POINTER 80453FC0 = 80E20380] player.2.entity
[DEBUG - 11:48:20] [MEMORY] [123][8046B6A5 = 00000001] match.playing = true
Works perfect for offline play and other games. Unsupported game when loading into new rollback melee. Tried all ports.
If I want tracks to loop on the Menu, sometimes I have to disable and re-enable 'Loop stage song' when I return to the menu to force the looping to occur on the menu.
On some occasions it works perfectly, though many times it goes to the next track. Stages seem to consistently loop though! It's only the Menu where I notice this issue.
Hi,
Would love to see Rayman 3 support.
Thanks for the great software.
Hello,
not sure if its possible but I'd love if you could support the Wii VC version of Mario 64
Thanks!
It should be possible to change the buttons for switching music because dpad down is used for extended samus grapple.
I'm not sure if this applies to other games, but for Metroid Prime the location of the joker code for the controller in memory is volatile, and can change after resetting the game.
For Metroid Prime v1.0, the pointer should be located at 0x804576FC with the joker code being located at the value of the pointer with an offset of 0x04.
I notice that the "Menu" folder music stops working when I enter the stage selection screen (I also tested the "All" music folder, still doesn't play during SSS). I've tried this on Slippi playing a Vs. match locally, I'm not sure if this happens during a Direct / netplay Slippi match.
Hello again!
I love all the work you have been putting into this project!
You mentioned in another issue post that you need to find reliable values in memory to implement certain features. I have been trying to find a location in memory to determine if someone died (or rather someone touched the blastzone). I am using this application https://github.com/aldelaro5/Dolphin-memory-engine to search for memory locations.
I found one location (0x804D64EB) that is 00 all the time and turns to 01 when someone goes into the blastzone or when the "b" button is pressed. I can't seem to find a memory location that exclusively only tracks if someone "died".
I was wondering if you could inform me on your process for finding values in memory.
Hey! I'm looking for a way to show my controller inputs on Twilight Princess runs and Mario Sunshine. It is possible to add support for those games? Thanks in advance !
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.