I noticed the disc skin being not recognizable on bright backgrounds, so I increased the background opaqueness of dpad area and face buttons from 127 to 191. I designed the skin to prioritize these buttons over analog sticks, so tradeoff on the visibility of the sticks should be preferable.
Recoloured Gamepad Skins
With the visibility being the priority when making default skins for Mini Padder, I boldly assumed that bright gray as a default colour would cover the demand of the users.
It does its job very well, but there were requests for recoloured default skins, and I finally decided I should make some after I saw the first review (thanks a lot for the review) that pointed this out.
The default gamepad skins now come in 12 colour variations.
Disc D-pad Gamepad Skin
Also I am recently interested in fighting games, and while the default gamepad skins represents their dpad well, it was bothering me that there’s no visual difference for the neutral position on the skins.
Can you tell the Z move (6532) from the quarter-circle (632) on the gamepad skins with a 4-way dpad? Was that move a continuous mash of orthogonal directions or a diagonal?
There is this Xbox One Pro gamepad, and I thought it would be helpful to put its disc dpad and give the neutral position its own highlighted area, like how the joystick skins always have its stick sprite at the position. This would make it easier to spot moments where the player makes a no move.
Now there is a xinput based gamepad skin with the disc dpad. This skin also features buttons without labels, so you can customize it to have button symbols of your fighting game.
While making this skin, I modified a line in the code so it’s now possible to make a skin where 8-way dpad movements and left analog stick moves can exist at the same time.
Here’s the changelog:
I am thinking about making a gallery page where you can browse custom skins. Having a dynamic website is expensive, so I might do the manual work and put a static page with the list, updating occasionally to list skins I can find. Or maybe I can turn the Issue board in GitHub for that purpose, on which GitHub users can upload.
- 12 recoloured version of xinput skin
- 12 recoloured version of dinput skin
- new gamepad skin with a disc-style dpad
- improved button inactive state check
This update is made 25 June, and is posted here now as I see my page is approved.
- fix the renderer not being able to find a default skin for new gamepads
- add empty author property to default skins
- cleanup on control panel style on toggle state and element positioning
This update brings flexibility to skin customization: you can make multiple skins using the same set of spritesheets. To demonstrate this, I merged 4 default skins into 2 folders: gamepad ones and joystick ones are now in their own folders.
I also made two variations on the MegaPad skin to demonstrate it.
Lots of things were going on in the code, but I hope that doesn't affect the use of Mini Padder at all.
Also I decided to change the skin name condition: Mini Padder will always treat skin folder name lowercased, and skin configuration files will follow the name pattern of
skinname.mpskin.json. This is mostly because I was too scared about seeing many jsons flooding over 'Open Recent' menus in a text editor. At least now I can tell if it's a skin json for Mini Padder, or a mysterious kind of json file.
Wiki page for making a skin should also be updated to reflect the changes, but I am so hungry so it should wait.
Here's the changelog of things you can see:
This is a change that shouldn't be seen or felt on the user end:
- skin filename format change:
allowed letters are alphanumeric (case shouldn't matter), and underscore.
- new joystick variation - Astro City button layout
- new megapad variations - button labels for XInput and DInput controllers
- skinList - list of all selectable skins Mini Padder is aware of - is reformatted to be a Map. I hope I covered every required change for making this type change.
Separate deadzone update feature is added. I felt like I should add it, as explaining how to change the deadzone as 'manually edit the mapping json' or 'do the assignment process again' was uncomfortable.
- new domain: minipadder.link
- show crop values instead of display size
crop values are the more useful values when cropping
- separate button sprites for joystick
each buttons can be separately changed for customization
- change deadzone values for default gamepads - XInput and DInput - from 0.08 to 0.1
From now on, localhost is not a necessity for using a custom skin. You can load your custom skin directly from the control panel, and share it to other users as a single JSON file after it's loaded.
- new on-screen custom skin loader
- accepting data URIs and links as skin source images
- refresh the skin frame on fadeout option change
- clarity improvements on the joystick skin
- skin structure
- remove `src` properties from `layer`s
- support static images as layer