Classes | |
| struct | Block |
| struct | Cell |
| struct | CubeInstance |
| struct | FaceDraw |
| struct | GridCubePlacement |
| class | HighScores |
| struct | Layout |
| struct | Mesh |
| struct | MeshInstance |
| struct | MipLevel |
| struct | Piece |
| class | PongGame |
| struct | PoolBall |
| class | PuzzleDropWindow |
| struct | RasterVertex |
| struct | Score |
| struct | ScoreEntry |
| struct | SinkAnim |
| class | SoftwareRenderer |
| class | SurfaceDeleter |
| struct | Texture |
| struct | TextureLevel |
| struct | TexVertex |
| struct | Triangle |
Typedefs | |
| using | SurfacePtr = std::unique_ptr<SDL_Surface, SurfaceDeleter> |
Enumerations | |
| enum class | BlockType { Null = 0 , Clear , Red1 , Red2 , Red3 , Green1 , Green2 , Green3 , Blue1 , Blue2 , Blue3 , Match } |
| enum class | GamePhase { Aiming , Charging , Rolling , Placing , GameOver } |
| enum class | GameScreen { Intro , Scores , Game , Start } |
| enum class | Screen { Intro , Menu , Game , Scores , Credits , NameEntry , Intro , Menu , Game , Scores , Credits , NameEntry } |
| enum class | Screen { Intro , Menu , Game , Scores , Credits , NameEntry , Intro , Menu , Game , Scores , Credits , NameEntry } |
| enum class | ShiftDirection { Down , Up } |
Functions | |
| void | build_mipmaps (Texture &texture) |
| SurfacePtr | create_frame_surface (int width, int height) |
| SurfacePtr | createFrameSurface (int width, int height) |
| bool | crosses_horizontal_texture_seam (const std::array< mxvk::vec2D, 3 > &texcoords) |
| bool | hasPoolAssets (const std::filesystem::path &root) |
| bool | hasResolutionArgument (int argc, char **argv) |
| mxvk::MXCOLOR | interpolate_color (mxvk::MXCOLOR first, mxvk::MXCOLOR second, float fraction) |
| bool | is_play_block (BlockType type) |
| Texture | load_texture (const std::string &filename, const std::string &asset_path, bool generate_mipmaps) |
| Texture | load_texture (const std::string &path) |
| Texture | load_texture (const std::string &path, bool generate_mipmaps=false) |
| std::filesystem::path | model_path (const std::string &filename, const std::string &asset_path) |
| mxvk::MXCOLOR | pack_color (std::uint32_t red, std::uint32_t green, std::uint32_t blue, std::uint32_t alpha) |
| std::filesystem::path | pyramid_path (const std::string &asset_path) |
| float | randFloat (float mn, float mx) |
| std::string | resolve_texture_path (const Arguments &args) |
| std::filesystem::path | resolveAssetRoot (const std::string &path) |
| std::filesystem::path | resolvePuzzleAssetRoot (const std::filesystem::path &asset_root) |
| bool | same_or_match (BlockType actual, BlockType expected) |
| std::filesystem::path | scorePath (const std::filesystem::path &asset_root) |
| int | texture_index (BlockType type) |
| std::filesystem::path | texture_path (const std::string &filename, const std::string &asset_path) |
| std::array< mxvk::vec2D, 3 > | unwrap_horizontal_texcoords (std::array< mxvk::vec2D, 3 > texcoords) |
Variables | |
| constexpr float | AIM_LENGTH = 2.0f |
| constexpr float | AIM_THICKNESS_Y = 0.008f |
| constexpr float | AIM_THICKNESS_Z = 0.015f |
| constexpr std::string_view | APP_NAME = "3dmath_plg_loader" |
| constexpr std::string_view | BACKEND_NAME = "native" |
| constexpr mxvk::MXCOLOR | BACKGROUND_COLOR = mxvk::MXVK_RGB(3, 4, 8) |
| const std::array< glm::vec3, NUM_BALLS > | BALL_COLORS |
| constexpr float | BALL_RADIUS = 0.14f |
| constexpr int | base_height = 1080 |
| constexpr int | base_width = 1440 |
| constexpr float | BLOCK_HALF_EXTENT = 0.064f |
| constexpr float | BLOCK_SPACING = 0.145f |
| constexpr std::array< const char *, 10 > | BLOCK_TEXTURE_FILES |
| constexpr int | board_cols = 8 |
| constexpr int | BOARD_HEIGHT = 22 |
| constexpr int | board_rows = 18 |
| constexpr int | BOARD_WIDTH = 20 |
| constexpr float | CAM_BASE_TOTAL_SCALE = 1.359411f |
| constexpr float | CAMERA_DISTANCE = 7.0f |
| constexpr float | CAMERA_ZOOM_STEP = 0.45f |
| constexpr float | COURT_HALF_HEIGHT = 1.45f |
| constexpr float | COURT_HALF_WIDTH = 2.65f |
| constexpr float | CUE_LENGTH = 2.5f |
| constexpr float | CUE_THICKNESS = 0.03f |
| constexpr int | DEFAULT_FRAME_HEIGHT = 240 |
| constexpr int | DEFAULT_FRAME_WIDTH = 320 |
| constexpr std::string_view | DEFAULT_MODEL = "sphere.plg" |
| constexpr std::array< float, 3 > | FALL_SECONDS {0.86f, 0.68f, 0.50f} |
| constexpr int | flash_time_ms = 180 |
| constexpr float | FRAME_GAP = 0.016f |
| constexpr float | FRAME_HALF_EXTENT = BLOCK_HALF_EXTENT * 0.72f |
| constexpr float | FRICTION = 0.9988f |
| constexpr int | game_base_height = 480 |
| constexpr int | game_base_width = 640 |
| constexpr int | game_block_height = 14 |
| constexpr int | game_block_spacing = 1 |
| constexpr int | game_block_width = 31 |
| constexpr int | game_board_start_x = 184 |
| constexpr int | game_board_start_y = 78 |
| constexpr int | game_next_panel_x = 450 |
| constexpr int | game_next_panel_y = 180 |
| constexpr float | GRID_DEFAULT_CAMERA_DISTANCE = 2.45f |
| constexpr float | GRID_MAX_CAMERA_DISTANCE = 9.0f |
| constexpr float | GRID_MAX_PITCH = 70.0f |
| constexpr float | GRID_MIN_CAMERA_DISTANCE = 1.65f |
| constexpr float | GRID_MIN_PITCH = -70.0f |
| constexpr float | GRID_PITCH_SPEED = 90.0f |
| constexpr int | GRID_VERTICAL_GAP = 5 |
| constexpr float | GRID_YAW_SPEED = 115.0f |
| constexpr float | GRID_ZOOM_SPEED = 3.2f |
| constexpr Uint32 | joy_repeat_delay_ms = 180 |
| constexpr Sint16 | joystick_dead_zone = 16000 |
| constexpr int | LEVEL_COUNT = 8 |
| constexpr int | lines_per_speedup = 10 |
| constexpr float | MAX_CAMERA_DISTANCE = 12.0f |
| constexpr int | max_name_length = 16 |
| constexpr float | MAX_PITCH_DEGREES = 89.0f |
| constexpr float | MAX_POWER = 1.5f |
| constexpr int | max_scores = 8 |
| constexpr int | menu_item_count = 4 |
| constexpr float | MIN_CAMERA_DISTANCE = 2.5f |
| constexpr float | MIN_SPEED = 0.001f |
| constexpr std::string_view | MODEL_FORMAT = "PLG" |
| constexpr float | MODEL_SCALE = 2.0f |
| constexpr float | MOUSE_ROTATION_SENSITIVITY = 0.35f |
| constexpr int | NUM_BALLS = 16 |
| constexpr float | PADDLE_HALF_HEIGHT = 0.42f |
| constexpr float | PADDLE_HALF_WIDTH = 0.12f |
| constexpr float | PADDLE_X = 2.25f |
| constexpr float | PI = 3.14159265358979323846f |
| constexpr int | piece_height = 3 |
| constexpr float | POCKET_INSET = 0.25f |
| constexpr float | POCKET_R = 0.25f |
| const std::array< glm::vec2, 6 > | POCKETS |
| constexpr int | score_points_per_match = 6 |
| constexpr float | SINK_DURATION = 0.45f |
| constexpr float | TABLE_H = 6.0f |
| constexpr float | TABLE_HALF_H = TABLE_H / 2.0f |
| constexpr float | TABLE_HALF_W = TABLE_W / 2.0f |
| constexpr float | TABLE_W = 12.0f |
| constexpr int | title_screen_time_ms = 1500 |
| constexpr mxvk::MXCOLOR | transparent_black = 0x00000000U |
| constexpr int | WINDOW_HEIGHT = 1080 |
| constexpr std::string_view | WINDOW_TITLE = "MXVK 3D Math PLG Loader" |
| constexpr int | WINDOW_WIDTH = 1440 |
| typedef std::unique_ptr< SDL_Surface, SurfaceDeleter > anonymous_namespace{main.cpp}::SurfacePtr = std::unique_ptr<SDL_Surface, SurfaceDeleter> |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
| void anonymous_namespace{main.cpp}::build_mipmaps | ( | Texture & | texture | ) |
Definition at line 256 of file main.cpp.
|
nodiscard |
Definition at line 31 of file main.cpp.
| SurfacePtr anonymous_namespace{main.cpp}::createFrameSurface | ( | int | width, |
| int | height ) |
Definition at line 120 of file main.cpp.
|
nodiscard |
Definition at line 259 of file main.cpp.
| bool anonymous_namespace{main.cpp}::hasPoolAssets | ( | const std::filesystem::path & | root | ) |
Definition at line 89 of file main.cpp.
| bool anonymous_namespace{main.cpp}::hasResolutionArgument | ( | int | argc, |
| char ** | argv ) |
|
nodiscard |
Definition at line 62 of file main.cpp.
|
nodiscard |
|
nodiscard |
Definition at line 160 of file main.cpp.
|
nodiscard |
Definition at line 102 of file main.cpp.
|
nodiscard |
Definition at line 296 of file main.cpp.
|
nodiscard |
Definition at line 140 of file main.cpp.
|
nodiscard |
|
nodiscard |
| float anonymous_namespace{main.cpp}::randFloat | ( | float | mn, |
| float | mx ) |
Definition at line 82 of file main.cpp.
|
nodiscard |
Definition at line 80 of file main.cpp.
| std::string anonymous_namespace{main.cpp}::resolveAssetRoot | ( | const std::string & | path | ) |
| std::filesystem::path anonymous_namespace{main.cpp}::resolvePuzzleAssetRoot | ( | const std::filesystem::path & | asset_root | ) |
|
nodiscard |
| std::filesystem::path anonymous_namespace{main.cpp}::scorePath | ( | const std::filesystem::path & | asset_root | ) |
|
nodiscard |
|
nodiscard |
Definition at line 147 of file main.cpp.
|
nodiscard |
Definition at line 270 of file main.cpp.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
| const std::array<glm::vec3, NUM_BALLS> anonymous_namespace{main.cpp}::BALL_COLORS |
Definition at line 63 of file main.cpp.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Definition at line 43 of file main.cpp.
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
| const std::array<glm::vec2, 6> anonymous_namespace{main.cpp}::POCKETS |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |