Skip to content

bemxio/mario-head

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mario Head

A playful malware script designed to display a video of Mario's levitating head, humorously requesting access to your computer and subsequently crashing it with a Blue Screen of Death. Developed by using standard Windows libraries, mainly DirectShow.

Building

To build the project, ensure you have the following dependencies installed:

  • MinGW with MSVCRT - on versions 12 and above, MinGW uses UCRT as the default C runtime, which causes compatibility issues with systems older than Windows 10.
    • If you're on Windows, it's recommended to use MSYS2. Simply run the installer, open the MSYS2 terminal, and execute pacman -S mingw-w64-i686-toolchain to install everything you need.
    • If you're on an Arch-based Linux distribution, install the mingw-w64-gcc package, then build and install the mingw-w64-crt-msvcrt and mingw-w64-headers-msvcrt packages from the AUR.
    • For other Linux distros, follow the instructions on the MinGW-w64 wiki or compile it from source. Make sure to install the MSVCRT variant, in case you want to run the executable on Windows 8.1 or earlier.
  • Make - included inside the MinGW toolchain package group on MSYS2; on other Linux distributions, you can install it via your package manager.
  • winpthreads from Git - only necessary for extending compatibility to Windows XP.
    • On MSYS2, it is also included inside the MinGW toolchain, so no additional steps are needed.
    • On an Arch-based distro, you can use the mingw-w64-winpthreads-git AUR package.
    • Other Linux distributions require manual building, with source code available here.

Before building the project, make sure the PREFIX, CXX and WINDRES variables match your environment. For MSYS2 or Arch Linux, no changes are necessary. For other Linux distributions, adjust them accordingly.

Finally, execute make (or mingw-w64-i686-make if on MSYS2) in the repository's root directory to build the executable.

Video

The default video, assets/video.wmv, is sourced from Mario Teaches Typing 2. It's a clip of Mario's dialogue from the level select screen, extracted from NintendoComplete's playthrough at 22:50.

To use an alternative video, replace the assets/video.wmv file with your own Windows Media Video (WMV) file, ensuring it's named video.wmv. For video conversion, you can use tools like FFmpeg:

ffmpeg -i input.mp4 -b 512k output.wmv

License

This project is licensed under the MIT License. Refer to the LICENSE file for details.

Contributions, whether issues or pull requests, are highly encouraged and welcomed. Feel free to contribute in any capacity!