Mountain
1.0.0
Simple C++ 2D Game Framework
|
Contains all declarations of the Mountain Framework. More...
Namespaces | |
Graphics | |
Low-level graphics API. | |
Classes | |
class | Audio |
class | AudioBuffer |
class | AudioContext |
class | AudioDevice |
class | AudioListener |
class | AudioSource |
class | AudioTrack |
class | Circle |
class | Collider |
class | ColliderList |
struct | Color |
The Color struct represents a color in RGBA color space. More... | |
struct | ColorHsva |
The ColorHsva struct represents a color in HSVA color space. More... | |
class | Component |
Represents a behavior that can be attached to an Entity. More... | |
class | ComputeShader |
class | Coroutine |
Wrapper around C++20 Coroutines. More... | |
struct | DebugStringData |
class | Directory |
Defines a directory on the filesystem. More... | |
class | Draw |
The Draw class contains static functions to draw various things on screen. More... | |
class | Effect |
class | Entity |
class | Entry |
File system entry. Can be either a File or a Directory. More... | |
class | Event |
Encapsulates a delegate system similar to its C# implementation. More... | |
class | File |
Defines a file on the filesystem. More... | |
class | FileManager |
Static class used to add, load, get, or unload Files and Directories. More... | |
class | FileSystemWatcher |
class | FilmGrain |
class | Font |
Holds the necessary information to draw text using a Font. More... | |
class | Game |
class | GamepadInput |
Information about a gamepad. More... | |
class | Grid |
class | Guid |
Stands for Global Unique Identifier, it represents a unique ID that's used to link pointers during serialization and deserialization. More... | |
class | Hitbox |
class | Input |
Used to fetch inputs from the current Window. More... | |
struct | LightSource |
class | List |
A dynamic array implementation. Wrapper around the std::vector class. More... | |
class | Logger |
Static class used to log messages to the console and/or a file. More... | |
class | MessageBox |
Defines functions to work with Windows MessageBox utilities. More... | |
struct | OpenGlVersion |
class | ParticleSystem |
struct | ParticleSystemBurst |
class | Pointer |
Custom Mountain smart pointer. Represents both a std::shared_ptr and a std::weak_ptr . More... | |
class | Rectangle |
class | Renderer |
class | RenderTarget |
class | ResourceManager |
Static class used to add, load, get, or unload Resources. More... | |
class | RunLengthEncoding |
class | Screen |
Represents a screen/monitor. More... | |
class | Shader |
Encapsulates a GPU shader. More... | |
class | ShaderBase |
struct | ShaderCode |
Encapsulates shader code information. More... | |
class | Sprite |
class | StateMachine |
struct | StateMachineCallbacks |
class | Stopwatch |
C++ reimplementation of the .NET Stopwatch class. More... | |
class | Texture |
Represents an image in memory. More... | |
struct | TimeSpan |
C++ reimplementation of the .NET TimeSpan struct. More... | |
class | TsQueue |
Thread-Safe Queue. More... | |
class | Vignette |
class | Window |
A wrapper for the main window. More... | |
Typedefs | |
using | GamepadButtonStatuses = std::array< bool_t, magic_enum::enum_count< GamepadButtonStatus >()> |
template<typename... Args> | |
using | CoroutineFunction = std::function< Coroutine(Args...)> |
Coroutine function prototype. | |
Enumerations | |
enum | AudioSourceType { Mono, Stereo } |
enum | ColliderType : uint8_t { Hitbox, Circle, Grid, List } |
enum | GamepadAxis : uint8_t { LeftStickHorizontal, LeftStickVertical, RightStickHorizontal, RightStickVertical, LeftTrigger, RightTrigger } |
Gamepad axis enumeration. | |
enum | GamepadStick : uint8_t { Left, Right } |
Gamepad stick enumeration. | |
enum | GamepadButton : uint8_t { A, B, X, Y, LeftBumper, RightBumper, Back, Start, Guide, LeftStick, RightStick, DirectionalPadUp, DirectionalPadRight, DirectionalPadDown, DirectionalPadLeft, LeftTrigger, RightTrigger, None } |
Gamepad button enumeration. More... | |
enum | GamepadButtonStatus : uint8_t { GamepadButtonStatus::Down, GamepadButtonStatus::Up, GamepadButtonStatus::Pressed, GamepadButtonStatus::Released } |
Gamepad button. More... | |
enum | Key : uint16_t { Key::Space = 32, Key::Apostrophe = 39, Key::Comma = 44, Key::Minus = 45, Key::Period = 46, Key::Slash = 47, Key::Key0 = 48, Key::Key1 = 49, Key::Key2 = 50, Key::Key3 = 51, Key::Key4 = 52, Key::Key5 = 53, Key::Key6 = 54, Key::Key7 = 55, Key::Key8 = 56, Key::Key9 = 57, Key::Semicolon = 59, Key::Equal = 61, Key::A = 65, Key::B = 66, Key::C = 67, Key::D = 68, Key::E = 69, Key::F = 70, Key::G = 71, Key::H = 72, Key::I = 73, Key::J = 74, Key::K = 75, Key::L = 76, Key::M = 77, Key::N = 78, Key::O = 79, Key::P = 80, Key::Q = 81, Key::R = 82, Key::S = 83, Key::T = 84, Key::U = 85, Key::V = 86, Key::W = 87, Key::X = 88, Key::Y = 89, Key::Z = 90, Key::LeftBracket = 91, Key::Backslash = 92, Key::RightBracket = 93, Key::GraveAccent = 96, Key::World1 = 161, Key::World2 = 162, Key::Escape = 256, Key::Enter = 257, Key::Tab = 258, Key::Backspace = 259, Key::Insert = 260, Key::Delete = 261, Key::Right = 262, Key::Left = 263, Key::Down = 264, Key::Up = 265, Key::PageUp = 266, Key::PageDown = 267, Key::Home = 268, Key::End = 269, Key::CapsLock = 280, Key::ScrollLock = 281, Key::NumLock = 282, Key::PrintScreen = 283, Key::Pause = 284, Key::F1 = 290, Key::F2 = 291, Key::F3 = 292, Key::F4 = 293, Key::F5 = 294, Key::F6 = 295, Key::F7 = 296, Key::F8 = 297, Key::F9 = 298, Key::F10 = 299, Key::F11 = 300, Key::F12 = 301, Key::F13 = 302, Key::F14 = 303, Key::F15 = 304, Key::F16 = 305, Key::F17 = 306, Key::F18 = 307, Key::F19 = 308, Key::F20 = 309, Key::F21 = 310, Key::F22 = 311, Key::F23 = 312, Key::F24 = 313, Key::F25 = 314, Key::Kp0 = 320, Key::Kp1 = 321, Key::Kp2 = 322, Key::Kp3 = 323, Key::Kp4 = 324, Key::Kp5 = 325, Key::Kp6 = 326, Key::Kp7 = 327, Key::Kp8 = 328, Key::Kp9 = 329, Key::KpDecimal = 330, Key::KpDivide = 331, Key::KpMultiply = 332, Key::KpSubtract = 333, Key::KpAdd = 334, Key::KpEnter = 335, Key::KpEqual = 336, Key::LeftShift = 340, Key::LeftControl = 341, Key::LeftAlt = 342, Key::LeftSuper = 343, Key::RightShift = 344, Key::RightControl = 345, Key::RightAlt = 346, Key::RightSuper = 347, Key::Menu = 348, None = 355, Count } |
List of keyboard buttons More... | |
enum | KeyStatus : uint8_t { KeyStatus::Pressed, KeyStatus::Down, KeyStatus::Release, KeyStatus::Repeat } |
List of keyboard button states More... | |
enum | MouseButton : uint8_t { MouseButton::Left, MouseButton::Right, MouseButton::Middle, MouseButton::Button3, MouseButton::Button4, MouseButton::Button5, MouseButton::Button6, MouseButton::Button7, MouseButton::Button8, None } |
List of mouse buttons More... | |
enum | MouseButtonStatus : uint8_t { MouseButtonStatus::Pressed, MouseButtonStatus::Down, MouseButtonStatus::Release } |
List of mouse button states More... | |
enum | DrawTextureFlipping : uint8_t { None = 0, Horizontal = 1 << 0, Vertical = 1 << 1, Diagonal = 1 << 2, AntiDiagonal = 1 << 3 } |
enum | WindowMode : uint8_t { Windowed, Borderless, Fullscreen } |
Functions | |
PUBLIC_GLOBAL (bool_t, NoBinaryResources, false) | |
Whether to not use packaged binary resources. More... | |
PUBLIC_GLOBAL (std::string, BuiltinShadersPath, "") | |
The path to the Mountain builtin shaders directory. More... | |
PUBLIC_GLOBAL (std::string, BuiltinAssetsPath, "") | |
The path to the Mountain builtin assets directory. More... | |
PUBLIC_GLOBAL (bool_t, BreakOnGraphicsError, false) | |
Whether to debug break when an OpenGL error is reported. | |
constexpr Color | operator+ (const Color &c1, const Color &c2) |
Adds 2 Color, caps at 1.f . More... | |
constexpr Color | operator* (const Color &c1, const Color &c2) |
Multiplies 2 Color. More... | |
constexpr Color | operator* (Color color, float_t alphaFactor) |
Multiplies the alpha component of a Color. More... | |
constexpr bool_t | operator== (const Color &c1, const Color &c2) |
Compares 2 Color component-wise. More... | |
constexpr bool_t | operator!= (const Color &c1, const Color &c2) |
Compares 2 Color component-wise. More... | |
constexpr ColorHsva | operator* (const ColorHsva &color, float_t alphaFactor) |
Multiplies the alpha component of a ColorHsva. More... | |
constexpr bool_t | operator== (const ColorHsva &c1, const ColorHsva &c2) |
Compares 2 ColorHsva component-wise. More... | |
constexpr bool_t | operator!= (const ColorHsva &c1, const ColorHsva &c2) |
Compares 2 ColorHsva component-wise. More... | |
Variables | |
enum MOUNTAIN_API | AudioTrackFormat |
enum MOUNTAIN_API | OggVorbis |
enum MOUNTAIN_API | Mp3 |
Contains all declarations of the Mountain Framework.
|
strong |
Gamepad button enumeration.
Defines the gamepad button values according to the Xbox controller button placements.
Definition at line 42 of file gamepad_input.hpp.
|
strong |
Gamepad button.
Enumerator | |
---|---|
Down | Held down. |
Up | Held up. |
Pressed | Pressed this frame. |
Released | Released this frame. |
Definition at line 68 of file gamepad_input.hpp.
|
strong |
List of keyboard buttons
Definition at line 11 of file keyboard_input.hpp.
|
strong |
List of keyboard button states
Enumerator | |
---|---|
Pressed | Pressed. |
Down | Held down. |
Release | Released. |
Repeat | Repeated. |
Definition at line 265 of file keyboard_input.hpp.
|
strong |
List of mouse buttons
Definition at line 11 of file mouse_input.hpp.
|
strong |
List of mouse button states
Enumerator | |
---|---|
Pressed | Pressed, e.g. |
Down | Held down. |
Release | Released. |
Definition at line 36 of file mouse_input.hpp.
Mountain::PUBLIC_GLOBAL | ( | bool_t | , |
NoBinaryResources | , | ||
false | |||
) |
Whether to not use packaged binary resources.
If this is true
, BuiltinShadersPath
and BuiltinAssetsPath
must be set. This means that instead of using the packaged shader files within the Mountain DLL, the files will instead be loaded from the file system. This can be useful in case you need to edit the builtin shaders because you can then use hot-reloading.
Mountain::PUBLIC_GLOBAL | ( | std::string | , |
BuiltinShadersPath | , | ||
"" | |||
) |
The path to the Mountain builtin shaders directory.
Mountain::PUBLIC_GLOBAL | ( | std::string | , |
BuiltinAssetsPath | , | ||
"" | |||
) |
The path to the Mountain builtin assets directory.