StarGate01 / AmongUs-Mumble

Mumble VoIP Plugin and mod for the popular game "Among Us" to enable Proximity Voice Chat.
GNU General Public License v3.0
108 stars 13 forks source link

Imposter radio #61

Closed ShumWengSang closed 3 years ago

ShumWengSang commented 3 years ago

Added initial Radio Imposter feature.

Hotkey re-adjustable from ImGui settings

The implementation looks at the PlayerData from PlayerControl to determine if the local player is the imposter. If player is imposter and is pressing radio key, moves player to an offset 1999 to talk.

Also added a quick wrapper around keyboard 'A' to 'Z' input.

A side-effect is that imposters can radio each other during meeting, but then they can't hear the meeting itself. Another issue is that imposters won't know when the other is using the radio. Would require some RPC packets for that.

I did not use the automatic deobfuscator to find the defines in 2020_12_9s.h I didn't know what to fix or what the issue was that when I was attempting to use it it couldn't find the structure. Its a little weird since the deobfuscator already knows what PlayerControl is, but it couldn't find a certain function inside of PlayerControl.

ShumWengSang commented 3 years ago

This was mostly taken from #37

ShumWengSang commented 3 years ago

I've updated the files accordingly and removed the obfuscated symbols. I saw somewhere that the automated deobfuscater is going through a refactor, so I'm going to wait on that before using that to find my symbols.

StarGate01 commented 3 years ago

I merged your pull request, thank you for your work! I will test the feature branch (impradio) and maybe change a few minor things.