Game of Ur 0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
|
▼ src | |
▼ app | |
▼ game_of_ur_data | |
board.hpp | Contains the data model class representing the 20-square board for Game of Ur |
dice.hpp | Contains the data model class representing the pair of dice used to play Game of Ur |
house.hpp | Contains classes and enums that define a house and describe its state |
model.hpp | The class containing the interface to the data model for the whole game (Game of Ur) |
phase.hpp | Enums whose values represent the different phases a game can be in |
piece.hpp | Contains definitions for pieces belonging to different sets used by competing players |
piece_type.hpp | Contains structs and consts that describe the pieces in the game and their capabilities |
piece_type_id.hpp | Contains enum listing the different types of pieces present in the game |
player.hpp | Contains structs and classes representing a single player of the game and their current state |
role_id.hpp | Contains an enum for the roles (sets of pieces) possible within this game |
serialize.hpp | Contains methods to convert data from its-in game representation to its JSON representation, and vice versa |
board_locations.hpp | Contains the class responsible for mapping locations on the 3D game board model to their equivalent coordinates in the data model |
interface_pointer_callback.hpp | Contains classes that serve as interfaces for sim objects that wish to respond to click events |
nine_slice_panel.hpp | Contains class defining this project's implementation of nine-slice (or nine-region) resizable panels |
query_click.hpp | Contains the QueryClick class definition, responsible for calling pointer click callbacks for objects in its world that support it |
render_debug_viewer.hpp | Contains an aspect class used to log window events and change the debug texture rendered to the viewport it manages |
ui_button.hpp | Contains the class representation of UI buttons used in this project |
ui_image.hpp | Contains the definition of the aspect responsible for the model-texture combo for displaying an image from a file |
ui_panel.hpp | Contains the class responsible for managing, configuring, and displaying a NineSlicePanel resource |
ui_text.hpp | Contains the definition for UIText, responsible for rendering text textures |
ur_controller.hpp | Contains the class definition for UrController, the aspect responsible for managing and reporting the state of the game |
ur_look_at_board.hpp | Contains a utility class for centering the game camera in the 3D scene on the game board object |
ur_player_cpu_random.hpp | Contains the class definition of the CPU player controller |
ur_player_local.hpp | Contains the class definition for PlayerLocal, representing a player using this application's UI and input to generate game events |
ur_records.hpp | Contains aspect class definition for the records save system |
ur_scene_manager.hpp | Contains the definition for the class responsible for transitioning between scenes/views available in the game |
ur_scene_view.hpp | Contains the definition of the class representing and controlling the 3D scene in which the game is played |
ur_ui_navigation.hpp | Contains the class definition for the aspect which informs the UrSceneManager that a scene change is required upon receiving a corresponding UI event |
ur_ui_records_browser.hpp | Contains the definition for the aspect class responsible for displaying records for previously completed games |
ur_ui_tutorials_browser.hpp | Contains the class definition for the aspect responsible for loading and displaying tutorial content |
ur_ui_version.hpp | Contains the definition for the class responsible for displaying the game version text on the main menu of the game |
ur_ui_view.hpp | Contains the definition of the class responsible for managing and displaying the UI layer of the game scene |
▼ engine | |
▼ core | |
ecs_world.hpp | ToyMaker Engine's implementation of an ECS system |
ecs_world_resource_ext.hpp | Header file that makes Resource objects useable as ECS components |
resource_database.hpp | Headers relating to resources and their management for a given project |
▼ input_system | |
input_data.hpp | A collection of types used by the input system and any entities that have to interact with it |
input_system.hpp | |
camera_system.hpp | Contains headers for the system and structs used by the engine's camera system |
framebuffer.hpp | File containing wrapper over OpenGL Framebuffers and related objects |
instance.hpp | A wrapper over regular shader attributes intended to be used as "instance" attributes, i.e., ones that change after what would traditionally be one-or-more draw calls in the same render stage |
light.hpp | A file that contains definitions for different types of lights, as components to entities, supported by the engine |
material.hpp | Functions related to rendering materials |
mesh.hpp | A file containing the ToyMaker::StaticMesh class and related structures |
model.hpp | Classes, constructors for this engine's representation of 3D models |
registrator.hpp | Contains the definition for the Registrator<T> utility class, used anywhere that automatic registration of some kind during the static initialization phase of a program is required |
render_stage.hpp | A file containing render stage related classes, this engine's representation of a single "step" in a graphics pipeline |
render_system.hpp | Contains definitions relating to the render system defined for this object |
scene_components.hpp | Stores structs and classes for common components used by the SceneSystem and other related Systems |
scene_loading.hpp | A collection of ResourceConstructor classes responsible for loading a scene into the engine |
scene_system.hpp | System classes relating to the SceneSystem, which in some ways lies at the heart of the engine |
shader_program.hpp | A file containing class definitions for wrappers over OpenGL shader programs |
shapegen.hpp | Contains classes used to construct some common procedurally generated meshes and models |
signals.hpp | Classes relating to this engine's implementation of signals. Contains template classes used to define signal senders, receivers, and trackers |
sim_system.hpp | Classes and structs relating to the SimSystem, the system responsible for providing some level of general scriptability to scene nodes from a game developer's point-of-view |
spatial_query_basic_types.hpp | Classes and structs representing data related to the engine's spatial query system (the precursor to a full-fledged physics system) |
spatial_query_math.hpp | Geometrical, mathematical functions and related structs used to answer some simple questions about shapes situated somewhere in the world |
spatial_query_octree.hpp | Data structures, functions, and methods relating to the hierarchical organization and representation of spatial data |
spatial_query_system.hpp | The file containing classes related to the spatial query system, which uses simplified geometrical data and spatial indexing data structures to answer spatial queries generated by other parts of the program |
text_render.hpp | Classes relating to the creation and use of fonts to render text |
texture.hpp | Header containing definitions of classes and functions related to loading and using Texture resources |
toymaker_namespace.hpp | Contains the namespace definition and related documentation for the ToyMaker engine |
util.hpp | Contains a couple of classes not tied to any part of the engine in particular, but useful to those parts all the same |
vertex.hpp | Contains engine's built-in vertex definitions, along with their associated attribute locations in the engine's built-in shader programs. A wrapper over OpenGL shader attributes |
window_context_manager.hpp | Contains classes and functions for managing the (at present, single) window of this application |