StreamCompanion
StreamCompanion copied to clipboard
Support for osu!Lazer ?
Hi ! Currently, I'm using osu!Lazer way more than osu!classic. And StreamCompanion is just a must-have, so I would like to know if the support of osu!lazer is planned or not at all !
Thanks for your work on StreamCompanion !
Not planned at the moment as Lazer doesn't seem close to release, but ofcourse not crossing out the possibility. In theory, there are only 2 things needed for SC to work:
- (map)data feed for both map changes and (preferably) live play/session data
- Access to local beatmap database or local maps, to be able to cache it in SC (might not be needed depending on the amount/quality of data accessible from 1)
would like to bump this with the current lazer build it's probably not gonna be possible right now, but would love to see it in the foreseeable future
Lazers Discord rich presence is getting solid data client side which might be useful for sc. Not sure how much data there is, but might be worth taking a look.
Lazer is currently in a constant development phase. Maintaining a memory reader for it would be a nightmare. The only possible solution I see is to make an actual game patch to dump necessary data. But I'm fairly confident that you won't be able to play online with it, at least legally.
To add, if complete lazer support isn't planned to be added soon, could we get SC to where it doesn't crash when opening lazer? It would make things a bit easier if I could try out lazer and not have to start SC back up afterward because of a crash.
Here's the error that pops up the second lazer is opened:
AggregateException: One or more errors occurred. (Arithmetic operation resulted in an overflow.)
OverflowException: Arithmetic operation resulted in an overflow.
at ProcessMemoryDataFinder.API.X86MemoryProcessAddressFinder.SumIntPtrs(IntPtr first, IntPtr second)
at ProcessMemoryDataFinder.API.MemoryProcessAddressFinder.MemInfo(IntPtr pHandle)
at ProcessMemoryDataFinder.API.MemoryReader.GetMemoryAddresses()+MoveNext()
at ProcessMemoryDataFinder.API.MemoryReader.FindPattern(Byte[] btPattern, String strMask, Int32 nOffset, Boolean useMask)
at ProcessMemoryDataFinder.Structured.AddressFinder.InternalFindAddress(IReadOnlyList`1 tokens, IntPtr baseAddress)
at ProcessMemoryDataFinder.Structured.AddressFinder.FindAddress(IReadOnlyList`1 tokens, IntPtr baseAddress)
at ProcessMemoryDataFinder.Structured.AddressFinder.InternalFindAddress(IReadOnlyList`1 tokens, IntPtr baseAddress)
at ProcessMemoryDataFinder.Structured.AddressFinder.FindAddress(IReadOnlyList`1 tokens, IntPtr baseAddress)
at ProcessMemoryDataFinder.Structured.StructuredMemoryReader.ResolvePath(String classMemoryPath, String propMemoryPath, Nullable`1 providedClassAddress)
at ProcessMemoryDataFinder.Structured.StructuredMemoryReader.ReadValueForPropInMemory(Nullable`1 classAddress, PropInfo prop, TypeCacheEntry cacheEntry)
at ProcessMemoryDataFinder.Structured.StructuredMemoryReader.ResolveProp[T](T readObj, Nullable`1 classAddress, PropInfo prop, TypeCacheEntry cacheEntry)
at ProcessMemoryDataFinder.Structured.StructuredMemoryReader.TryInternalRead[T](T readObj, Nullable`1 classAddress, String classPath)
at ProcessMemoryDataFinder.Structured.StructuredMemoryReader.TryRead[T](T readObj)
at OsuMemoryEventSource.MemoryListener.Tick(List`1 clientReaders, Boolean sendEvents)
at OsuMemoryEventSource.OsuMemoryEventSourceBase.MemoryWorker()
I could totally understand if stopping that crash is more complicated than adding a little check somewhere, though.
@CyberGen49 That is a different issue that has been fixed in the latest release.
I still bump for this. I do custom game mode streams so to have this would be handy-dandy
Bumping this, since Osu!Lazer is getting quite a few updates lately.
bumping since you can now earn PP with lazer!
I've been using lazer's builtin skin editor instead to display song metadata and statistics in my livestreams, so StreamCompanion support now seems less necessary to me. It would be nice to have sliderbreak & missed slider end counts though.
As someone who enjoys playing with no HUD (I find it too distracting), having an external tool to show data would still be a nice thing to have for those who would like to use it.