This directory has a pre-configured bundle for reference.
If you want to build a proper bundle you also need to dig into the individual subdirectories here to customise installer graphics, icons etc.
Here is a breakdown of what can be customised
- config.yaml - the main configuration
- rom.nes - your game
- netplay-rom.nes - optional custom Netplay ROM. This will enable a different player experience for netplayers, if f.ex in a netplay session you do not want to present the player with the one player option you can bake a ROM that defaults to two players
- palette.pal - the current palette is generated with
palgen_persune.py --skip-plot -aps 5 -ela 0.01429 -e -hue 3.75 -sat 0.8 -o palette.pal
. Look here for details
The rest is only needed for a proper bundle
- Linux icon
- Mac icon set
- Windows app and window title icon look here for details about baking a proper windows .ico-file
- Windows installer details (banner.bmp, dialog.bmp and licence.rtf)
When you are done configuring your bundle you need to zip the files and then it is ready to be sent of for bundling.
With 7zip it would look like this
7z a -r config.zip palette.pal config.yaml rom.nes netplay-rom.nes linux/* macos/* windows/*
If you want to build your own binaries with your own certificates you would have to fork this repository and provide some github secrets to make the builds work.
The GitHub action build scripts will sign the binaries. To do that it needs a couple of secrets. Currently the macOS bundles and the windows binaries is digitally signed.
Your Apple developer Team ID
Your Apple ID
App specific password, create it under your account here
A base64 encoded provision profile.
Create it here and then base64 encode it base64 -i "mygame.provisionprofile" | pbcopy
A base64 encoded build certificate.
Here's a guide on how to create it.
Remember the password as you need it for the next secret.
When you have the p12-file base 64 encode it base64 -i "certificate.p12" | pbcopy
The password you created for the build certificate in the previous step.
The code sign identity for the build certificate.
Run xcrun security find-identity -v -p codesigning
to find it
First read this And if you manage to get through all that you should have the five following variables :)
- AZURE_KEY_VAULT_URI
- AZURE_CLIENT_ID
- AZURE_CLIENT_SECRET
- AZURE_CERT_NAME
- AZURE_TENANT_ID