User:Supermariofan67: Difference between revisions

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
mNo edit summary
Line 65: Line 65:
#!/bin/sh</nowiki><br><nowiki>
#!/bin/sh</nowiki><br><nowiki>
mkdir optimized</nowiki><br><nowiki>
mkdir optimized</nowiki><br><nowiki>
parallel 'pngout -kiCCP '{}' './optimized/{.}.png' ; zopflipng --lossy_transparent --keepchunks=iCCP -m -y './optimized/{.}.png' './optimized/{.}.png'' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.PNG" -o -name "*.bmp" -o -name "*.BMP")"</nowiki>
parallel 'pngout -kiCCP,gAMA,cHRM '{}' './optimized/{.}.png' ; zopflipng --lossy_transparent --keepchunks=iCCP,gAMA,cHRM -m -y './optimized/{.}.png' './optimized/{.}.png'' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.PNG" -o -name "*.bmp" -o -name "*.BMP")"</nowiki>
|
|
|}
|}
Line 79: Line 79:
parallel mogrify -path trimmed -quality 95 -trim '{}' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.PNG" -o -name "*.JPG")"</nowiki><br><nowiki>
parallel mogrify -path trimmed -quality 95 -trim '{}' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.PNG" -o -name "*.JPG")"</nowiki><br><nowiki>
cd trimmed</nowiki><br><nowiki>
cd trimmed</nowiki><br><nowiki>
parallel 'pngout -kiCCP '{}' ; zopflipng --lossy_transparent --keepchunks=iCCP -m -y '{}' '{}'' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.PNG")"
parallel 'pngout -kiCCP,gAMA,cHRM '{}' ; zopflipng --lossy_transparent --keepchunks=iCCP,gAMA,cHRM -m -y '{}' '{}'' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.PNG")"
</nowiki>
</nowiki>
|
|
Line 135: Line 135:
*Made {{tem|fa-archive}} easier to use and consistent with similar templates
*Made {{tem|fa-archive}} easier to use and consistent with similar templates
*Cropped to content and compressed many artwork images
*Cropped to content and compressed many artwork images
*'''Replaced a massive number of low-quality ''[[Super Mario Galaxy 2]]'' screenshots'''
*'''Replaced a massive number of low-quality ''[[Super Mario Galaxy]]'', ''[[Super Mario Galaxy 2]]'', and ''[[Mario Kart Wii]]'' screenshots'''

Revision as of 16:17, February 16, 2020

Navigation: (User pageTalk pageSandbox 1Sandbox 2File Maintenance Project PageStatusSignature)
Status: Slightly active. I have more free time now so I'll probably spend more time here. (Updated 00:02, June 8, 2021 (EDT))
Current project: Replacing and uploading Mario Kart Wii and New Super Mario Bros. Wii screenshots, doing various file maintenance (mostly for those two games).

 

Template:Character-infobox I am Supermariofan67, a User of the Super Mario Wiki. I have a Wii U and Switch with the games listed at the bottom of this page. I am a fan of the Super Mario series and Mario Kart series. You will most likely find me doing various file and page maintenance, adding/replacing images, and sometimes rewriting/expanding articles. I often make shell scripts or use command line utilities to automate some of this work, such as optimizing or cropping images, or sorting stuff. I share some of these tips below for anyone who is interested. If you also do this type of work, I encourage you to become familiar with some basic regular expressions and how to use them with your favorite text editor, such as Notepad++, Visual Studio Code, Vim, or even the wiki's built-in editor. I also recommend learning the basics of your operating system's shell scripting language, as well as some utilities like ImageMagick, ffmpeg, and GIMP.

I also edit on WiiBrew Wiki (so far just to clean up after a vandal) and ArchWiki, though I'm not nearly as active on those wikis as I am here.

Supermariofan67's Userbox Tower
en-n
vg-3
prog-1
sprite-1
PNG
File:Penguin.png
Artwork of Baby Peach for Mario Kart Wii (also used in Mario Super Sluggers and Mario Kart Tour)
Artwork of Yoshi for Mario Party 10 (reused for Super Mario Party and Mario Kart Tour)
The Wii.
Boxart for Super Mario Galaxy.
File:Mario Series Logo.PNG
Music.gif

Tech Stuff

Getting Screenshots from Wii U

In the past, it was possible to get screenshots from Wii U games by accessing the Wii U's internet browser during gameplay and uploading images to Dropbox or a site like Imgur or Postimg. However, these sites now use newer web standards that are not supported by the Wii U's browser, so they no longer work on the Wii U. However, after reading through Reddit posts about it I found a way to get screenshots to your computer using this HTTP file server software. You must run the program, set a target directory for files as described in its instructions, find your computer's internal IP on your network, and access that IP from your Wii U browser, where you can upload the images straight to your computer. It uses older web standards (for now at least) that are supported by the Wii U, and it can run on Wine on Linux/MacOS.

In addition, it is still possible to upload straight to MarioWiki from the Wii U if no cropping is required on the computer.

Some common confusion about SMG/2 images

To clarify some definitions: upscaling isn't the same as rendering above native resolution. An image is upscaled when the file's resolution is higher than the resolution of its content (for example, when a game is rendered at 1x native resolution but screenshot in Dolphin's full screen mode, or if the image is artificially resized with an image editor.) This causes unnecessary file bloat and should usually be discouraged. However, this is not the same as setting the emulator to render above native resolution (in multiples of the native resolution via the Auto setting in Dolphin.) This produces images whose actual content is in high resolution, and thus does not waste file size. According to Wildgoosespeeder (talk)'s screenshot guide, it is acceptable to capture Wii screenshots above 1x native resolution due to Dolphin's inconsistencies with producing native resolution screenshots without upscaling or stretching (read that guide for more info). For SMG/2, I follow that guide to produce 1920x1048, above native screenshots.

I usually replace an SMG/2 image if:

  • Its aspect ratio is not a multiple of the game's normal widescreen aspect ratio, such as 1920x1054.
  • Its unnecessarily upscaled (e.g., rendered at 1x native but taken in full screen mode).
  • Its not an emulator screenshot (e.g., from a YouTube video).
  • I can get a better view of the subject

Moving Images

  • I follow Trig Jegman's guidelines and abbreviations when moving images. However, I additionally may use the abbreviations UTS, meaning "underscore to space," and SJE, described below. Within articles, MediaWiki usually treats spaces and underscores the same, but generally images should be linked with spaces, such as if "File:Image Name.png" were linked in an article as "File:Image_Name.png," similar to how File: is preferred over Image:, or how File: is unnecessary in galleries. So I will often quickly fix those (RIF and UTS) when passing through a page to change filenames. Both of these can easily be done with the wiki's find and replace function (the button in the top-right corner of the editing box).
  • A few additional things I rename:
    • RFA: "beta" to "early" or similar, since per wiki policy, this is often inaccurate terminology.
    • SJE (Standard jpg extension): ".jpeg" to ".jpg". This is for the same reason as decapitalizing file extensions in an effort to standardize them on the wiki.
  • Here is a tip to find images with special characters that may need to be renamed. With a list of image names in a text editor such as Notepad++ or VScode, search for the regex [^a-zA-Z\d\s:\[\]\.\-\']. This will highlight any characters other than letters, numbers, wiki syntax, hyphens, and apostrophies, making it easier to identify images that may need technical renaming, such as File:YWW ★-S Shiny Platinum Yoshi.jpg.

Sorting Galleries

I have made a simple Java program/script to automatically sort galleries alphabetically. It is now on GitHub if anyone is interested. However, please note that I have not extensively tested it, and if you use it, you should double-check the result to make sure nothing was removed/broken in the gallery. Please tell me about any bugs.

Tricks with imagemagick

Mario on the Bob-omb Planet in the Space Storm Galaxy.
Example result.
  • Using ImageMagick, it is easy to stack two or more images vertically using the command convert -append 1.png 2.png out.png. See left side for example.
  • It is easy to crop images (such as artworks) to their content (removing the surrounding solid color or alpha space) with convert -trim in.png out.png. If there is any slight shading that needs to be cropped over, use the -fuzz x% option, where x is a low number (try 3 or 6 first). See below for a script to bulk trim and compress all images in a folder.
  • Similarly, it is easy to apply transparency to simple graphics, such as sprites, with convert -transparent color in.png out.png, where color is the name of a color (e.g., white) or a color's hex code, enclosed in single quotes. However, more complex graphics with fuzzy edges, such as artwork, might look choppy, requiring the use of the -fuzz option or not at all. Don't apply transparency to these types of images unless it is very clean.
  • Crop black border on 1920x1048 SMG/2 screenshots with convert -crop 1920x850+0+99 in.png out.png
  • Re-encoding JPGs all the way at the 100 quality mode can severely bloat file size, while using low quality modes can cause visible artifacts. When processing JPGs, consider adding the -quality 95 option, providing a better balance between quality and size. Also, consider the -strip option for PNGs, which removes unnecessary metadata/gamma/color profiles. However, applying PNG Monstrous or another optimizer should do this anyway.
  • How to use ImageMagick
  • ImageMagick functions
  • A video by Luke Smith explaining ImageMagick.

A script to automatically optimize all PNGs in a folder

This should be equivalent to running PNG Monstrous with the pngout and zopflipng options enabled, but will also preserve the iCCP chunk to hopefully prevent color changes to images with gamma adjustment. Additionally, it will convert BMPs to PNGs and uncapitalize file extensions. This script requires zopflipng, pngout, and GNU Parallel. It will run pngout and zopflipng on all pngs, PNGs, bmps, and BMPs in the current directory and output the compressed images to the ./optimized directory with a lowercase .png filename. Zopfli uses the -m ("compress more: use more iterations") and --lossy_transparent ("remove colors behind alpha channel 0. No visual difference, removes hidden information.") options. It will compress multiple images in parallel, up to the number of CPU cores in your computer. This script is intended for Unix-like operating systems, such as Linux and MacOS. You will need to install Zopflipng and GNU Parallel with your package manager (for MacOS, use the Brew package manager). I'm not sure about Windows, but you can probably use this in the Windows Subsystem for Linux, or maybe find a way to port this to a native PowerShell script. You will probably need to download pngout manually and place it in in a directory in your PATH, such as ~/bin, as it is not available in most package repositories (though it is in the AUR). With the required programs installed, just put this code in a text file saved in ~/bin or in the folder where your PNGs are, chmod +x it, and it should work. If not, you can just manually run the two commands while in the folder with the PNGs. It's less convenient, but it would do the same thing.

#!/bin/sh
mkdir optimized
parallel 'pngout -kiCCP,gAMA,cHRM '{}' './optimized/{.}.png' ; zopflipng --lossy_transparent --keepchunks=iCCP,gAMA,cHRM -m -y './optimized/{.}.png' './optimized/{.}.png'' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.PNG" -o -name "*.bmp" -o -name "*.BMP")"

Cropping to content and compressing with one script

This will crop all JPGs or PNGs in a folder to their content and optimize any PNGs, placing them in the trimmed directory. If you have BMPs, convert them to PNG first with parallel mogrify -format png ::: $(find . -maxdepth 1 -type f -name "*.bmp" -o -name "*.BMP")

#!/bin/sh
mkdir trimmed
parallel mogrify -path trimmed -quality 95 -trim '{}' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.jpg" -o -name "*.jpeg" -o -name "*.PNG" -o -name "*.JPG")"
cd trimmed
parallel 'pngout -kiCCP,gAMA,cHRM '{}' ; zopflipng --lossy_transparent --keepchunks=iCCP,gAMA,cHRM -m -y '{}' '{}'' ::: "$(find * -maxdepth 0 -type f -name "*.png" -o -name "*.PNG")"

Mario-related games Supermariofan67 plays

Super Mario series

Mario Kart series

Donkey Kong series

Other Mario-related games

Big projects I have completed