HDR-Development / HewDraw-Remix

GNU Affero General Public License v3.0
96 stars 86 forks source link

Theoretical options for control remapping ui and logic #132

Open techyCoder81 opened 2 years ago

techyCoder81 commented 2 years ago

in theory we can hook when the game opens the controls UI and show a different UI instead, using a web menu. From there we could figure out the logic and work required to:

control options desired:

currently, transmitted data is: X - x stick position Y - y stick position 0 - dont care/cant use A - button space XXXXXXXX YYYYYYYY 000000000000000000000000000000 AAAAAAAAAAAAAAAAAA

instead we could: X - x stick position Y - y stick position 0 - dont care/cant use A - button space B - new button space to mask into XXXXXX YYYYYY BBBB 000000000000000000000000000000 AAAAAAAAAAAAAAAAAA

we can pack any new pad flags into the existing bits that translate stick position: 16 bits is currently used to store stick, but we can use 12 to create a 64x64 control grid, and use the remaining 4 for the above settings.

as far as reading, writing, and storing controller settings: since InputKind only technically uses the first 4 bits of its 8 bit size, we could use the back half of each of these InputKind fields to store additional data, in theory: https://github.com/HDR-Development/HewDraw-Remix/blob/dev/dynamic/src/ext.rs#L662-L722

Also: since the game sends pad flag data even during match startup, theoretically we could instead pack the pad flag data with 16 + 18 bits worth of settings data, if necessary during that time.

blu-dev commented 2 years ago

Please note that all of this was talked about in a voice call and understand that should any of this be implemented it likely won't be for months.

O1yyy commented 2 years ago

ffunni pm mode