Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.
The main server is currently down. We are running on a backup server, so editing and search functionality are temporarily disabled. Please check back in a few hours.
Revision as of 04:23, 6 May 2024 by HydeWing (talk | contribs) (Text replacement - "Category:PC utilities for 3DS homebrew" to "")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
m3diaLib
General
Authorm3diaLib-Team
TypeDevelopments
Version0.2.2-beta
LicenseMixed
Last Updated2018/10/09
Links
Download
Website
Source

m3diaLib (spelled media-lib) is a fast, extensive and powerful allround media and game library for the Nintendo 3DS, written in C++. The library is split into multiple modules, which can then be split into smaller parts.

Note: This library is deprecated. You should use libctru and citro3d/2d directly, if possible.

Features

  • Core:
    • A class for running your homebrew app.
    • Easy interaction with the system itself.
    • Starting and running applets.
    • Time measurement.
    • Support for the RomFS.
    • Multithreading and concurrency.
  • Input:
    • Handling button input.
    • Handling touch input.
  • Graphics:
    • Support for the top and bottom screen.
    • Support for stereoscopic 3D.
    • Easy-to-use interface for fast rendering on both screens.
    • Support for transformation of textures and sprites.
    • Pre-coded shapes as well as a shape class for easily rendering your own shapes.
    • Easy-to-use color system.
    • Collision detection.
  • Audio:
    • Loading or streaming audio files directly from the file system.
    • Support for .wav and .mp3.
    • Two different classes, sound and music, which have features that can be helpful specific in their use case.
  • Utils:
    • Basic encryption.

Installation

To install the library, download the latest build and then execute the command:

make install

If you want to build it from the source, download the latest release and then execute the following commands:

make
make install

Note: Make sure, to have the latest version of the devkitPro-toolchain installed, before building the lib or any examples.

User guide

How to use

The barebones of a homebrew app using the m3diaLib would look like this:

#include <m3dia.hpp>
int main() {
m3d::Applet app;
while (app.isRunning()) {
if (m3d::buttons::buttonPressed(m3d::buttons::Button::Start)) {
app.exit(); // exit if start is pressed
}
}
}

Dependencies

To compile a m3diaLib-app, you need the following dependencies installed (install via devkitPro-pacman):

  • 3dstools
  • picasso
  • libctru
  • citro3d
  • citro2d
  • 3ds-tinyxml2
  • 3ds-zlib
  • 3ds-mpg123
  • 3ds-libpng
  • 3ds-freetype
  • tex3ds (if you want to use spritesheets)

Use this command to automatically install all necessary dependencies:

sudo dkp-pacman -S 3ds-dev 3ds-zlib 3ds-tinyxml2 3ds-mpg123 3ds-libpng

Useful links

Credits

External links

Advertising: