PROTO::KLUDGE  0.1
Quick prototyping library for games using SDL and OpenGL.
pk Namespace Reference

Namespaces

 ImGuiUtilities
 
 levelSelection
 
 options
 
 physics
 
 utilities
 

Classes

class  AmbientLight
 Class for initializing and using OpenGL ambient lighting. More...
 
class  Arena
 
class  Bullet
 
class  Camera
 
class  CharacterBody
 A class representing a Box2D dynamic body with special fixtures and data used to track collisions and respond to them in a way that is appropriate to the game rather than what is correct for the physical simulation. More...
 
class  CharacterController
 
class  CharacterSelectScreen
 
class  DiffuseLight
 Class for creating an OpenGL diffuse light. More...
 
class  Drawable
 Interface for creating drawable entities. Part of the Decorator pattern for drawable objects used in the game. More...
 
class  DynamicBody
 A class wrapper to ease the instantiation and use of Box2D dynamic bodies. It also performs conversions between meters in physics space and pixels in screen space automatically. More...
 
class  Font
 A class implemented using the Facade pattern used for loading SDL TTF_Font data. More...
 
class  Game
 Class for storing and managing all game data and states. Game is implemented as a Singleton and also uses the State pattern along with ScreenState subclasses. More...
 
class  GameController
 Convenience class for abstracting functionality that already exists in SDL. More...
 
class  Ghost
 
class  GLDrawable
 
class  GLFrameAnimation
 
struct  GLRect
 Useful for defining size and origin of an OpenGL object. More...
 
class  GLSprite
 
struct  GLStates
 Stores the states used to draw OpenGL objects. More...
 
class  GLTexture
 Class for creating textures usable with OpenGL from SDL. More...
 
class  GLTransformable
 Decorator class for creating easing OpenGL transformations for game objects. More...
 
struct  GLTransformData
 Transform data for GLTransformable objects. Used by the GLTransformable class internally, but usable in isolation as well. More...
 
class  HUD
 
class  KinematicBody
 A class wrapper to ease the instantiation and use of Box2D kinematic bodies. It also performs conversions between meters in physics space and pixels in screen space automatically. More...
 
class  LevelSelectScreen
 ScreenState subclass used for the Level Select state. More...
 
class  Material
 Class for creating an OpenGL material with specular lighting (reflection). More...
 
class  Mesh
 Class for building OpenGL generic geometry. More...
 
class  MovingPlaform
 
class  OptionsScreen
 
class  RectangleShape
 Create a drawable RectangleShape using OpenGL. For more complex OpenGL geometry see the Mesh class. More...
 
class  ScreenState
 Abstract class for screen states, necessary for implementing the State pattern along with the Game class. More...
 
class  SensorData
 A class wrapping some user data for Box2D fixtures. Includes data for number of contacts being made to the sensor and an ID useful for identifying fixtures when a contact triggers a Box2D contact listener event. More...
 
class  Shader
 Class for supporting OpenGL GLSL shaders. More...
 
class  Sprite
 Drawable sprite using a Texture as its drawable resource. Part of the Decorator pattern along with the Drawable class. More...
 
struct  spriteData
 Data necessary for representing the Sprite. More...
 
class  StaticPlatform
 
class  Text
 Drawable text using a Texture as its drawable resource. Part of the Decorator pattern along with the Drawable class. More...
 
struct  textData
 Data necessary for representing the Text. More...
 
class  Texture
 A class implemented using the Facade pattern used for loading SDL_Texture data. More...
 
class  Thwomp
 
class  Transform
 Transform used to manipulate the position, scale, center, and rotation of objects. More...
 
struct  transformData
 Data used for transformations. More...
 
class  TriangleShape
 Create a drawable TriangleShape using OpenGL. Useful for basic test programs, but not very flexible - it will create only isosceles triangles. For more complex OpenGL geometry see the Mesh class. More...
 
class  Walker
 
class  Window
 Class for SDL window creation and management, implemented using the Facade pattern to provide a more intuitive interface. More...
 

Enumerations

enum  GameControllerAxis {
  INVALID_AXIS = SDL_CONTROLLER_AXIS_INVALID, LEFT_X = SDL_CONTROLLER_AXIS_LEFTX, LEFT_Y = SDL_CONTROLLER_AXIS_LEFTY, RIGHT_X = SDL_CONTROLLER_AXIS_RIGHTX,
  RIGHT_Y = SDL_CONTROLLER_AXIS_RIGHTY, TRIGGER_LEFT = SDL_CONTROLLER_AXIS_TRIGGERLEFT, TRIGGER_RIGHT = SDL_CONTROLLER_AXIS_TRIGGERRIGHT, AXIS_MAX = SDL_CONTROLLER_AXIS_MAX
}
 Mapping of SDL game pad axes for the purposes of not having to depend on memorizing SDL enums. More...
 
enum  GameControllerButton {
  INVALID_BUTTON = SDL_CONTROLLER_BUTTON_INVALID, A = SDL_CONTROLLER_BUTTON_A, B = SDL_CONTROLLER_BUTTON_B, X = SDL_CONTROLLER_BUTTON_X,
  Y = SDL_CONTROLLER_BUTTON_Y, BACK = SDL_CONTROLLER_BUTTON_BACK, GUIDE = SDL_CONTROLLER_BUTTON_GUIDE, START = SDL_CONTROLLER_BUTTON_START,
  LEFT_STICK = SDL_CONTROLLER_BUTTON_LEFTSTICK, RIGHT_STICK = SDL_CONTROLLER_BUTTON_RIGHTSTICK, LEFT_SHOULDER = SDL_CONTROLLER_BUTTON_LEFTSHOULDER, RIGHT_SHOULDER = SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
  DPAD_UP = SDL_CONTROLLER_BUTTON_DPAD_UP, DPAD_DOWN = SDL_CONTROLLER_BUTTON_DPAD_DOWN, DPAD_LEFT = SDL_CONTROLLER_BUTTON_DPAD_LEFT, DPAD_RIGHT = SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
  BUTTON_MAX = SDL_CONTROLLER_BUTTON_MAX
}
 Mapping of SDL game pad buttons for the purposes of not having to depend on memorizing SDL enums. More...
 
enum  GLTextureWrap {
  CLAMP_TO_EDGE = GL_CLAMP_TO_EDGE, CLAMP_TO_BORDER = GL_CLAMP_TO_BORDER, MIRRORED_REPEAT = GL_MIRRORED_REPEAT, REPEAT = GL_REPEAT,
  MIRROR_CLAMP_TO_EDGE = GL_MIRROR_CLAMP_TO_EDGE
}
 
enum  GLTextureFilter {
  NEAREST = GL_NEAREST, LINEAR = GL_LINEAR, NEAREST_MIPMAP_NEAREST = GL_NEAREST_MIPMAP_NEAREST, LINEAR_MIPMAP_NEAREST = GL_LINEAR_MIPMAP_NEAREST,
  LINEAR_MIPMAP_LINEAR = GL_LINEAR_MIPMAP_LINEAR
}
 Values for setting the texture filter functions for GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R. These values have been aliased with member data (SEE MEMBER DATA FOR DETAILS). For further reference, refer to the OpenGL refpages: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexParameter.xhtml. More...
 
enum  SensorType { FOOT, LEFT, RIGHT, TOP }
 The type of sensor data represented. More...
 

Enumeration Type Documentation

◆ GameControllerAxis

Mapping of SDL game pad axes for the purposes of not having to depend on memorizing SDL enums.

Enumerator
INVALID_AXIS 
LEFT_X 
LEFT_Y 
RIGHT_X 
RIGHT_Y 
TRIGGER_LEFT 
TRIGGER_RIGHT 
AXIS_MAX 

◆ GameControllerButton

Mapping of SDL game pad buttons for the purposes of not having to depend on memorizing SDL enums.

Enumerator
INVALID_BUTTON 
BACK 
GUIDE 
START 
LEFT_STICK 
RIGHT_STICK 
LEFT_SHOULDER 
RIGHT_SHOULDER 
DPAD_UP 
DPAD_DOWN 
DPAD_LEFT 
DPAD_RIGHT 
BUTTON_MAX 

◆ GLTextureFilter

Values for setting the texture filter functions for GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, and GL_TEXTURE_WRAP_R. These values have been aliased with member data (SEE MEMBER DATA FOR DETAILS). For further reference, refer to the OpenGL refpages: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexParameter.xhtml.

Values for setting the texture filter functions for both GL_TEXTURE_MIN_FILTER and GL_TEXTURE_MAG_FILTER. These values have been aliased with member data (SEE MEMBER DATA FOR DETAILS). For further reference, refer to the OpenGL refpages: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glTexParameter.xhtml.

Enumerator
NEAREST 
LINEAR 
NEAREST_MIPMAP_NEAREST 
LINEAR_MIPMAP_NEAREST 
LINEAR_MIPMAP_LINEAR 

◆ GLTextureWrap

Enumerator
CLAMP_TO_EDGE 
CLAMP_TO_BORDER 
MIRRORED_REPEAT 
REPEAT 
MIRROR_CLAMP_TO_EDGE 

◆ SensorType

The type of sensor data represented.

Enumerator
FOOT 
LEFT 
RIGHT 
TOP