Closed jbarker2160 closed 1 year ago
@jbarker2160 do you have the same issue if you try to use auto
?
I implemented the search value type dropdown and admittedly wasn't able to test the float options (my game library is pitiful...)
It does not find float values of "auto" is selected.
On Wed, Feb 1, 2023, 21:11 HeyItsWaters @.***> wrote:
@jbarker2160 https://github.com/jbarker2160 do you have the same issue if you try to use auto?
I implemented the search value type dropdown and admittedly wasn't able to test the float options (my game library is pitiful...)
— Reply to this email directly, view it on GitHub https://github.com/CameronRedmore/memory-deck/issues/23#issuecomment-1413051539, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKZERF3URLB7PNHNUNEYYH3WVMJWLANCNFSM6AAAAAAUOMVPDI . You are receiving this because you were mentioned.Message ID: @.***>
@jbarker2160 I definitely found some bugs around handling float values.
I don't have a great way to test, though, since I'm unaware of any of my games storing floats in memory.
If you are comfortable with using Desktop Mode on your Deck, can I provide some instructions on how to update a couple of files so you can test as well?
In case you are... here are the instructions. Otherwise you'll have to wait until I can get these fixes released.
cd ~/homebrew/plugins/memory-deck/
sudo cp main.py main.py.orig
sudo cp scanmem.py scanmem.py.orig
Open main.py using vim or kate, whatever you're more comfortable with.
1.) Change line 161
to val.flags |= MatchFlag.FLAG_F32B
2.) Update lines 163-166
to:
case "c_double":
val.flags |= MatchFlag.FLAG_F64B
val.float64_value = searchValue
case _:
print("Invalid value!")
return False
Close main.py and open scanmem.py
3.) Modify line 641
to val.flags |= MatchFlag.FLAGS_FLOAT
@jbarker2160 you know what, I think there is some opportunity to handle floats better, but I don't know how at the moment.
Maybe someone smarter will come along and help out with this issue.
If you're looking for a cheap game to test this, Dungreed stores health values as a float.
On Wed, Feb 1, 2023, 23:21 HeyItsWaters @.***> wrote:
@jbarker2160 https://github.com/jbarker2160 you know what, I think there is some opportunity to handle floats better, but I don't know how at the moment.
Maybe someone smarter will come along and help out with this issue.
— Reply to this email directly, view it on GitHub https://github.com/CameronRedmore/memory-deck/issues/23#issuecomment-1413132079, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKZERF3FJ2EO2LNQX6GDBLTWVMY3JANCNFSM6AAAAAAUOMVPDI . You are receiving this because you were mentioned.Message ID: @.***>
There is indeed this problem. https://github.com/CameronRedmore/memory-deck/issues/8#issuecomment-1423817497
@HeyItsWaters I can probably help. Can you send instructions on how to debug from desktop mode?
Actually, if you have general documentation ok how the different components in the plugin work that would generally help with development.
@cescofry there aren't currently any documents that explain how to debug very well.
I actually opened an issue for that very thing.
Essentially if you open the console/terminal, and cd into ~/homebrew/plugins/memory-deck you can run python3 main.py
to run the plugin manually.
Doing it this way does force the plugin to behave differently, so you will likely need to open either main.py or scanmem.py and modify them as needed and then restart decky loader (or the SteamDeck entirely).
This is good enough. I was actually looking at that already. I'll poke a but and see if I can find something.
I have tried in multiple games to search for floats.
When float32 is selected, no search is performed at all and the number of matches is blank instead of 0. When float64 is selected, it seems like no search is performed, but the matches found text gets a random new line in it and the matches returned can't be seen.