CRM64Pro GDK v0.17.0
A free cross-platform game development kit built on top of SDL 3.0
Loading...
Searching...
No Matches
CRM64Pro

CRM64Pro GDK. More...

Namespaces

namespace  CMem
 CMem: CRM64Pro Memory Manager.

Classes

struct  Position
 Position struct used by Font and GUI Widgets. More...
class  Main
 CRM64Pro GDK Main class. More...
class  Log
 Log Object class. More...
class  LogMgr
 Log Manager class. More...
class  Screen
 Screen Object class. More...
class  ConfigMgr
 Config Manager class. More...
class  Archive
 Archive Object class. More...
class  ArchiveMgr
 Archive Manager class. More...
class  XML
 XML Object class. More...
class  XMLMgr
 XML Manager class. More...
class  Timer
 Timer class. More...
class  Tool
 Tool class. More...
struct  AudioInfo
 Audio metadata information. More...
class  AudioTrack
 Audio Track object class. More...
class  AudioTrackMgr
 Audio Track Manager class. More...
class  Image
 Image Object class. More...
class  ImageMgr
 Image Manager class. More...
class  Cursor
 Cursor Object class. More...
class  CursorMgr
 Cursor Manager class. More...
class  Tile
 Tile Object class. More...
class  TileMgr
 Tile Manager class. More...
class  Sprite
 Sprite Object class. More...
class  SpriteMgr
 Sprite Manager class. More...
class  Font
 Font Object class. More...
class  FontMgr
 Font Manager class. More...
class  GFX
 GFX class. More...
class  Physics
 Physics interface class. More...
struct  GUITooltipStyle
 Shared tooltip style for one GUI theme or one widget override. More...
struct  GUIThemeSkin
 Theme skin definition for one widget type and one widget state. More...
class  GUITheme
 GUI theme object. More...
class  Widget
 Widget Object. More...
class  WidgetList
 List widget with single-selection or interactive multi-selection support. More...
class  Panel
 Panel Object class. More...
class  Console
 Console Object class. More...
class  DebugWindow
 DebugWindow Object class. More...
class  GUIMgr
 GUI Manager class. More...
struct  SceneCameraParams
 Camera configuration parameters. More...
struct  SceneLayerContext
 Layer Context structure. More...
class  SceneLayer
 Base class for all Scene layer types. More...
class  SceneLayerTile
 TileLayer class for tile-based map layers. More...
struct  SceneShapeData
 Shape geometry data for a SceneObject. More...
struct  SceneObjectTrigger
 Object trigger zone definition. More...
struct  SceneTriggerEvent
 Trigger event payload. More...
class  ISceneObjectFactory
 Factory interface for creating game objects from Tiled type strings. More...
class  SceneObject
 Base class for all Scene game objects. More...
class  SceneLayerObject
 Object layer containing game objects with spatial partitioning. More...
class  SceneLayerImage
 Image layer containing a single image for background/foreground display. More...
class  Scene
 Scene class. More...
class  SceneMgr
 Scene Manager class. More...
class  NetTCP
 NetTCP class. More...
class  ParticleEmitter
 Particle emitter object class. More...
class  ParticleMgr
 Particle manager class. More...

Typedefs

typedef void(* SCENE_OnLayerCallback) (const SceneLayerContext &context)
 Unified Callback Signature.
typedef bool(* SCENE_CameraOffsetCallback) (Scene *pScene, Sint32 iLayerID, SDL_FPoint *pOutOffset, void *pUserData)
 Camera offset callback signature.

Enumerations

enum  eEventType : Uint32 { ET_C64 = 0xEC64 , ET_GUI_INTERNAL = 0xCFED }
 Custom SDL event types used by CRM64Pro. More...
enum  eEventCode : Sint32 {
  EC_LOGIC = 1 , EC_RENDER = 2 , EC_WIDGET_ACTION = 4 , EC_WIDGET_MOUSEHOVER = 8 ,
  EC_WIDGET_LOSTFOCUS = 16 , EC_WIDGET_SELECTIONCHANGED = 32 , EC_WIDGET_VALUECHANGED = 64 , EC_WIDGET_TOGGLED = 128 ,
  EC_WIDGET_VALUECOMMITTED = 256
}
 Event codes delivered via user.code when event.type is ET_C64. More...
enum  eGeneralStatus : Sint32 {
  GS_DISABLED = 0 , GS_ENABLED = 1 , GS_PAUSED = 2 , GS_HIDDEN = 5 ,
  GS_SHOWN = 9 , GS_END = 16 , GS_HIDING = 1024 , GS_SHOWING = 2048
}
enum  ePositionHelpers {
  PH_NONE = 0 , PH_SIZE = 0x60000000 , PH_CENTER = 0x61000000 , PH_TOP = 0x62000000 ,
  PH_BOTTOM = 0x63000000 , PH_LEFT = 0x65000000 , PH_RIGHT = 0x66000000 , PH_KEEP = 0x6F000000
}
 Position helpers used by Cursors, Sprites, Fonts, GUI Widgets and Scene. More...
enum  eLogMode : Uint32 {
  LM_NULL = 0 , LM_FILE = 2 , LM_FILEAPPEND = 4 , LM_STDOUT = 8 ,
  LM_CONSOLE = 16 , LM_RESERVED = 64
}
enum  eLogLevel {
  LL_OFF = 0 , LL_CRITICAL = 1 , LL_ERROR = 2 , LL_WARNING = 3 ,
  LL_INFO = 4 , LL_DEBUG = 5 , LL_TRACE = 6
}
 Log levels. More...
enum  eConfigAudioDriver { CAD_DEFAULT = 0 , CAD_WASAPI = 1 , CAD_DIRECTSOUND = 2 , CAD_ERROR = -1 }
 Audio drivers. More...
enum  eConfigAudioFreq { CAF_DEFAULT = 0 , CAF_NORMAL = 22050 , CAF_HIGH = 44100 , CAF_ULTRA = 48000 }
 Audio frequency. More...
enum  eConfigAudioSample { CAS_DEFAULT = 0 , CAS_8 = SDL_AUDIO_U8 , CAS_16 = SDL_AUDIO_S16 , CAS_32 = SDL_AUDIO_F32 }
 Audio sample. More...
enum  eConfigAudioMode {
  CAM_DEFAULT = 0 , CAM_MONO = 1 , CAM_STEREO = 2 , CAM_SURROUND21 = 3 ,
  CAM_QUAD = 4 , CAM_SURROUND41 = 5 , CAM_SURROUND51 = 6 , CAM_SURROUND61 = 7 ,
  CAM_SURROUND71 = 8
}
 Audio mode. More...
enum  eConfigRendererDriver {
  CRD_DEFAULT = 0 , CRD_SOFTWARE = 1 , CRD_OPENGL = 2 , CRD_OPENGLES2 = 3 ,
  CRD_VULKAN = 4 , CRD_DIRECT3D = 5 , CRD_DIRECT3D11 = 6 , CRD_DIRECT3D12 = 7 ,
  CRD_X11 = 8 , CRD_METAL = 9 , CRD_GPU3D = 10 , CRD_ERROR = -1
}
 Screen renderer drivers. More...
enum  eConfigScreenMode { CSM_WINDOW = 0 , CSM_FULLSCREEN = 1 , CSM_FULLSCREENEXCLUSIVE = 2 }
 Screen modes. More...
enum  eAudioTrackTag { ATT_MUSIC = 0x01 , ATT_SFX = 0x02 , ATT_VOICE = 0x04 , ATT_CUSTOM = 0x08 }
 Audio track category tags for grouping and batch operations. More...
enum  eArchiveBlockStore { ABS_RAW = 1 , ABS_COMPRESSED = 2 , ABS_CRYPTED = 3 }
 Archive block storing method. More...
enum  eTimerState { TS_INIT = 0 , TS_RESET = 1 }
 Timer init state. More...
enum  eToolMBT {
  TMBT_EMPTY = 0 , TMBT_ERROR = 1 , TMBT_WARNING = 2 , TMBT_INFO = 4 ,
  TMBT_QUESTION = 8
}
 Tool MessageBox type. More...
enum  eMsgBoxButton : Uint32 { }
enum  eAudioType {
  AT_NONE = 0 , AT_WAV = 1 , AT_MOD = 2 , AT_OGG = 3 ,
  AT_MP3 = 4 , AT_FLAC = 5 , AT_UNKNOWN = 6
}
 Audio codec/format type. More...
enum  eAudioLoadMode { ALM_AUTO = 0 , ALM_PRELOAD = 1 , ALM_STREAM = 2 }
 Audio loading strategy. More...
enum  eImageFilter {
  IF_NOISE = 1 , IF_BLUR = 2 , IF_NEGATIVE = 3 , IF_GREY = 4 ,
  IF_BW = 5 , IF_WIGGLE = 6 , IF_PIXELATE = 7
}
 Image filters. More...
enum  eSpriteType : Uint8
enum  ePhysicsCollisionMode : Uint32 { PCM_AABB = 0 , PCM_SHAPE , PCM_PIXEL }
 Collision mode for Physics overlap checks. More...
enum  eWidgetState {
  WS_DEFAULT = -1 , WS_NORMAL = 0 , WS_HOVERED = 1 , WS_PRESSED = 2 ,
  WS_ACTION = 3 , WS_DEACTIVATED = 4
}
 Widget state. More...
enum  eWidgetType {
  WT_BASE = 0 , WT_LABEL = 1 , WT_IMAGE = 2 , WT_FRAME = 4 ,
  WT_BUTTON = 8 , WT_CHECKBOX = 16 , WT_PROGRESS = 32 , WT_SLIDER = 64 ,
  WT_TEXTEDIT = 256 , WT_NUMBEREDIT = 512 , WT_LIST = 1024 , WT_COMBOBOX = 2048
}
 Widget type. More...
enum  eSliderAxis { SA_HORIZONTAL = 0 , SA_VERTICAL = 1 }
 Slider axis. More...
enum  eWidgetFeature : Uint32 {
  WF_DISABLE = 0 , WF_FADE = 0x00010000 , WF_DRAGDROP = 0x00020000 , WF_ENCLOSE = 0x00040000 ,
  WF_DETACH = 0x00080000 , WF_BGFIT = 0x00100000 , WF_BGDISABLE = 0x00200000 , WF_EVENTS = 0x00400000 ,
  WF_MOUSEOVER = 0x00800000 , WF_LOSTFOCUS = 0x01000000
}
 Widget feature flags. More...
enum  ePanelType { PT_RETRIEVE = -1 , PT_MODELESS = 0 , PT_MODAL = 1 , PT_EPHEMERAL = 2 }
 Panel Type. More...
enum  ePanelSizeMode { PSM_MANUAL = 0 , PSM_SCREEN = 1 }
 Panel size mode. More...
enum  ePanelLayout : Uint32 { PL_NONE = 0 , PL_HFLOW = 1 , PL_VFLOW = 2 }
 Panel layout flags. More...
enum  eLayoutJustify
 Flow layout distribution along the main axis.
enum  eLayoutAlign
 Flow layout alignment on the cross axis.
enum  eSceneLayerFeature : Uint32 {
  SLF_DISABLE = 0 , SLF_REPEATX = 1 , SLF_REPEATY = 2 , SLF_UPDATE = 8 ,
  SLF_RENDER = 32 , SLF_SMOOTHSCROLL = 64 , SLF_PAUSE = 256
}
 Features for Scene layers. More...
enum  eSceneDebugOverlay : Uint32 {
  SDO_DISABLE = 0 , SDO_OBJECT_AABB = 1 , SDO_TILE_CELLGRID = 2 , SDO_TRIGGER_ZONES = 4 ,
  SDO_CAMERA_DEADZONE = 8
}
 Scene unified debug overlay flags. More...
enum  eSceneTileSetType { STST_NULL = -1 , STST_TILESET = 0 , STST_COLLECTION = 1 }
 Specifies how the TileSet is organized. More...
enum  eSceneStorageMode { SSM_DISK , SSM_CDC , SSM_INTERNAL }
 Specifies where the tileset data is physically stored. More...
enum  eSceneShapeType {
  SST_RECTANGLE = 0 , SST_ELLIPSE , SST_POINT , SST_POLYGON ,
  SST_POLYLINE , SST_TILE
}
 Specifies the geometric shape type of a SceneObject. More...
enum  eSceneLayerType {
  SLT_EMPTY = 0 , SLT_TILE , SLT_OBJECT , SLT_IMAGE ,
  SLT_USER_START = 8
}
 Specifies the type of a Scene layer. More...
enum  eSceneObjectRenderOrder {
  SORO_INDEX = 0 , SORO_TOPDOWN , SORO_FEET , SORO_Z ,
  SORO_Z_FEET
}
 Specifies object rendering order policy for SceneLayerObject. More...
enum  eSceneTriggerEventType : Uint32 { STET_ENTER = 0 , STET_STAY , STET_EXIT }
 Trigger event type. More...
enum  eSceneCameraMode : Uint32 {
  SCM_MANUAL = 0 , SCM_AUTOSCROLL , SCM_SNAP , SCM_SMOOTH ,
  SCM_DEADZONE , SCM_OFFSET
}
 Camera controller modes for a Scene layer. More...
enum  eNetMsg {
  NM_NOTHING = 0 , NM_DATA = 64 , NM_DATA_ACCEPTED = 66 , NM_DATA_DENIED = 67 ,
  NM_NEWCLIENT = 132 , NM_QUITCLIENT = 133 , NM_CLOSE = 134 , NM_INFO = 135 ,
  NM_PING = 136 , NM_ERROR = 192
}
 Network messages. More...
enum  eNetResult {
  NR_OK = 0 , NR_NO_INIT = -1 , NR_IS_INIT = -2 , NR_ABORT = -3 ,
  NR_CAN_NOT_CONNECT = -4 , NR_NO_SERVER_RUNNING = -10 , NR_NO_CLIENT_RUNNING = -11 , NR_ONLY_ONE_SERVER = -12 ,
  NR_ONLY_ONE_CLIENT = -13 , NR_WRONG_PORT = -14 , NR_OUT_OF_MEMORY = -15 , NR_TX_EMPTY_DN = -16 ,
  NR_INVALID_CLIENT = -20 , NR_DUPLICATED_CLIENT = -22 , NR_CLIENT_LIMIT_REACHED = -23 , NR_WRONG_PASSWORD = -24 ,
  NR_LOGIN_DISABLED = -25 , NR_BAD_PARAMETER = -26 , NR_RX_LIMIT_REACHED = -29 , NR_TX_THROTTLED = -30 ,
  NR_CREATE_THREAD = -31 , NR_CLIENT_INTERNAL = -100 , NR_SERVER_INTERNAL = -300 , NR_HASH_MISMATCH = -512 ,
  NR_SEQUENCER_MISMATCH = -1024 , NR_SDLNET_INIT = -2048 , NR_RX_BAD_HEADER = -2049 , NR_RX_BAD_DATA = -2050 ,
  NR_TX_BAD_DATA = -2051 , NR_RESOLVE_HOST = -4096 , NR_TCP_OPEN = -4097 , NR_ALLOCATE_SOCKET = -4098 ,
  NR_ADD_SOCKET = -4099 , NR_CHECK_SOCKET = -4100
}
 Network result codes. More...
enum  eNetTCPFeature : Uint32 { NTF_DISABLE = 0 , NTF_DISABLE_LOGIN = 1 , NTF_AES_CTR = 2 }
 NetTCP feature flags. More...
enum  eParticleVisual : Uint32 {
  PV_PIXEL = 0 , PV_RECT = 1 , PV_IMAGE = 2 , PV_SPRITE_SHARED = 3 ,
  PV_SPRITE_INSTANCE = 4 , PV_SOFT = 5 , PV_LINE = 6
}
 Particle visual rendering types. More...
enum  eParticleEmitterShape : Uint32 {
  PES_POINT = 0 , PES_LINE = 1 , PES_RECT = 2 , PES_CIRCLE = 3 ,
  PES_RING = 4
}
 Particle emitter geometric shapes. More...
enum  eParticleCollisionMode : Uint32 { PCM_NONE = 0 , PCM_BOUNCE = 1 , PCM_STOP = 2 , PCM_KILL = 3 }
 Particle collision behavior. More...
enum  eParticleEffectPreset : Uint32 {
  PEP_NONE = 0 , PEP_CLOUD = 1 , PEP_SMOKE = 2 , PEP_FIRE = 3 ,
  PEP_RAIN = 4 , PEP_STORM = 5 , PEP_SNOW = 6 , PEP_SHOCKWAVE = 7 ,
  PEP_EXPLOSION = 8 , PEP_SPARKS = 9 , PEP_CONFETTI = 10 , PEP_MAGIC = 11
}
 Particle effect presets. More...

Detailed Description

CRM64Pro GDK.

Enumeration Type Documentation

◆ eParticleVisual

Particle visual rendering types.

Enumerator
PV_PIXEL 

Render each particle as a pixel.

PV_RECT 

Render each particle as a filled rectangle.

PV_IMAGE 

Render each particle using an Image resource.

PV_SPRITE_SHARED 

Render each particle using a shared Sprite resource.

PV_SPRITE_INSTANCE 

Render each particle using an instanced Sprite resource.

PV_SOFT 

Render each particle as a soft radial glow.

PV_LINE 

Render each particle as a line segment.

◆ eParticleEmitterShape

Particle emitter geometric shapes.

Enumerator
PES_POINT 

Emit from a single point.

PES_LINE 

Emit along a horizontal line centered on emitter position.

PES_RECT 

Emit inside a rectangle centered on emitter position.

PES_CIRCLE 

Emit inside a circle centered on emitter position.

PES_RING 

Emit along a circle edge centered on emitter position.

◆ eParticleCollisionMode

Particle collision behavior.

Enumerator
PCM_NONE 

No particle collision.

PCM_BOUNCE 

Bounce on collision and keep alive.

PCM_STOP 

Stop movement after first collision.

PCM_KILL 

Kill particle on first collision.

◆ eParticleEffectPreset

Particle effect presets.

Enumerator
PEP_NONE 

No preset applied.

PEP_CLOUD 

Soft drifting cloud bank.

PEP_SMOKE 

Rising smoke column.

PEP_FIRE 

Additive flame plume.

PEP_RAIN 

Fast rain streaks.

PEP_STORM 

Heavy storm rain.

PEP_SNOW 

Gentle drifting snow field.

PEP_SHOCKWAVE 

Expanding impact ring.

PEP_EXPLOSION 

One-shot radial explosion burst.

PEP_SPARKS 

Thin fast spark streaks.

PEP_CONFETTI 

Falling confetti shower.

PEP_MAGIC 

Additive magical swirl portal.