Pokémon Showdown for desktop is made with node-webkit.
There's an .ico
icon (for Windows) and an .icns
icon (for Mac) in the
graphics-src
directory of this repository. We use these pretty much
whenever we need icons.
Note that node-webkit doesn't support normal window icons in Windows, so we have to use a PNG icon to get scaling not to look horribly ugly.
node-webkit's wiki contains packaging instructions, but they're strewn across their wiki and don't really go into best practices, so I have better packaging instructions here.
For performance, we don't zip up the package on either platform. In Windows,
the index.html
and package.json
files are dropped directly into the
node-webkit directory, and in OS X the files are dropped into
Resources/app.nw
.
-
Put a copy of node-webkit (build or extract the prebuilt binary) into this folder.
-
Rename
nw.exe
topokemonshowdown.exe
-
Edit
pokemonshowdown.exe
with Resource Hacker, and replace the node-webkit icon withicons/pokemonshowdown.ico
-
Using NSIS, build
pokemonshowdown.nsi
-
Get a copy of node-webkit (build or extract the prebuilt binary)
-
Rename it to
Pokemon Showdown.app
-
Replace
Pokemon Showdown.app/Contents/Info.plist
with theInfo.plist
in this directory -
Replace
Pokemon Showdown.app/Contents/Resources/nw.icns
with the icns file ingraphics-src
. -
Create a folder
Pokemon Showdown.app/Contents/Resources/app.nw
and putindex.html
andpackage.json
in it.