AquariaOSE / Aquaria

Aquaria open source, forked from icculus.org due to inactivity. Has many enhancements compared to the original version.

Home Page:http://bit-blot.com/aquaria

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow using shoulder/trigger buttons on the Xbox 360 controller

maxigaz opened this issue · comments

I’ve been playing Aquaria OSE 1.002 with my wireless Xbox 360 controller under Manjaro Linux, and so far I prefer playing it this way. (For me, moving around is better with the analogue stick than with the keyboard and mouse, and rumble support is the cherry on the cake.)

However, unlike in the proprietary version 1.1.3 (downloaded from GOG.com), the shoulder and trigger buttons can’t be used at all. Without the open source patch, the right shoulder button is at least automatically set to function the same way as the right mouse button, although this button can’t be mapped to anything else in the options menu.

After a little search, I’ve found this page. I’m wondering if the situation has changed since.

Ah, right. the sales version uses SDL1.2 which detects button input differently it seems.
Since i wanted to rework parts of the controller support code anyway, i'll give this a shot later today.
(I have an xbox360 controller so testing is no prob)

And i kinda forgot about the linked post, thanks for the reminder.

Little update: turns out this is more complicated than i thought. Maybe i misunderstood how to setup the SDL2 gamecontroller config, but i started poking at it and it fell apart. Like you knock against the front door of a house, and the roof comes crashing down, followed by the walls, and in the end you notice that the house was in fact a sand castle held together by duct tape in a rising flood. Except that there was in fact no duct tape at all, but a thin layer of spray paint, forming the letters "working fine". TL;DR i'm having fun™ with this code.

Anyway, i'm somewhere in the middle of a big refactor that should fix more issues, e.g. not being able to use special keys like PgUp/PgDown; get rid of problems with non-english keyboard layouts, make form hotkeys configurable, controller hotplugging+autodetection, and multiple input sets. Pretty much most of that linked forum post, and things i considered doing since long but so far hadn't the courage to touch.
That will break usersettings.xml compatibility, but considering the possible improvements it's totally worth it. Will take a while either way.

(If this works out as i'm thinking i might end up accidentally adding theoretical local multiplayer support...)