-Demos:
*added ImGUI styles *added new assets (fonts, shaders) *added cimgui.dll *added imports for bindbc-sdl (for WASM) *added simple demo *added demo launcher *added snake demo *impoved demo utils *added cimgui.bc library for WASM -improved wasm build script -small change in vector
This commit is contained in:
parent
73f2aa6861
commit
cb7609dcaa
82 changed files with 11188 additions and 413 deletions
|
|
@ -1,225 +0,0 @@
|
|||
|
||||
// Copyright Michael D. Parker 2018.
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
module bindbc.sdl.bind.sdlgamecontroller;
|
||||
|
||||
import bindbc.sdl.config;
|
||||
|
||||
import bindbc.sdl.bind.sdljoystick,
|
||||
bindbc.sdl.bind.sdlrwops;
|
||||
import bindbc.sdl.bind.sdlstdinc : SDL_bool;
|
||||
|
||||
struct SDL_GameController;
|
||||
|
||||
enum SDL_GameControllerBindType {
|
||||
SDL_CONTROLLER_BINDTYPE_NONE = 0,
|
||||
SDL_CONTROLLER_BINDTYPE_BUTTON,
|
||||
SDL_CONTROLLER_BINDTYPE_AXIS,
|
||||
SDL_CONTROLLER_BINDTYPE_HAT,
|
||||
}
|
||||
mixin(expandEnum!SDL_GameControllerBindType);
|
||||
|
||||
struct SDL_GameControllerButtonBind {
|
||||
SDL_GameControllerBindType bindType;
|
||||
union value {
|
||||
int button;
|
||||
int axis;
|
||||
struct hat {
|
||||
int hat;
|
||||
int hat_mask;
|
||||
}
|
||||
}
|
||||
alias button = value.button;
|
||||
alias axis = value.axis;
|
||||
alias hat = value.hat;
|
||||
}
|
||||
|
||||
enum SDL_GameControllerAxis {
|
||||
SDL_CONTROLLER_AXIS_INVALID = -1,
|
||||
SDL_CONTROLLER_AXIS_LEFTX,
|
||||
SDL_CONTROLLER_AXIS_LEFTY,
|
||||
SDL_CONTROLLER_AXIS_RIGHTX,
|
||||
SDL_CONTROLLER_AXIS_RIGHTY,
|
||||
SDL_CONTROLLER_AXIS_TRIGGERLEFT,
|
||||
SDL_CONTROLLER_AXIS_TRIGGERRIGHT,
|
||||
SDL_CONTROLLER_AXIS_MAX
|
||||
}
|
||||
mixin(expandEnum!SDL_GameControllerAxis);
|
||||
|
||||
enum SDL_GameControllerButton {
|
||||
SDL_CONTROLLER_BUTTON_INVALID = -1,
|
||||
SDL_CONTROLLER_BUTTON_A,
|
||||
SDL_CONTROLLER_BUTTON_B,
|
||||
SDL_CONTROLLER_BUTTON_X,
|
||||
SDL_CONTROLLER_BUTTON_Y,
|
||||
SDL_CONTROLLER_BUTTON_BACK,
|
||||
SDL_CONTROLLER_BUTTON_GUIDE,
|
||||
SDL_CONTROLLER_BUTTON_START,
|
||||
SDL_CONTROLLER_BUTTON_LEFTSTICK,
|
||||
SDL_CONTROLLER_BUTTON_RIGHTSTICK,
|
||||
SDL_CONTROLLER_BUTTON_LEFTSHOULDER,
|
||||
SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
|
||||
SDL_CONTROLLER_BUTTON_DPAD_UP,
|
||||
SDL_CONTROLLER_BUTTON_DPAD_DOWN,
|
||||
SDL_CONTROLLER_BUTTON_DPAD_LEFT,
|
||||
SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
|
||||
SDL_CONTROLLER_BUTTON_MAX
|
||||
}
|
||||
mixin(expandEnum!SDL_GameControllerButton);
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl202) {
|
||||
@nogc nothrow
|
||||
int SDL_GameControllerAddMappingsFromFile(const(char)* file) {
|
||||
pragma(inline, true);
|
||||
return SDL_GameControllerAddMappingsFromRW(SDL_RWFromFile(file,"rb"),1);
|
||||
}
|
||||
}
|
||||
|
||||
version(BindSDL_Static) {
|
||||
extern(C) @nogc nothrow {
|
||||
int SDL_GameControllerAddMapping(const(char)*);
|
||||
char* SDL_GameControllerMappingForGUID(SDL_JoystickGUID);
|
||||
char* SDL_GameControllerMapping(SDL_GameController*);
|
||||
SDL_bool SDL_IsGameController(int);
|
||||
const(char)* SDL_GameControllerNameForIndex(int);
|
||||
SDL_GameController* SDL_GameControllerOpen(int);
|
||||
const(char)* SDL_GameControllerName(SDL_GameController*);
|
||||
SDL_bool SDL_GameControllerGetAttached(SDL_GameController*);
|
||||
SDL_Joystick* SDL_GameControllerGetJoystick(SDL_GameController*);
|
||||
int SDL_GameControllerEventState(int);
|
||||
void SDL_GameControllerUpdate();
|
||||
SDL_GameControllerAxis SDL_GameControllerGetAxisFromString(const(char)*);
|
||||
const(char)* SDL_GameControllerGetStringForAxis(SDL_GameControllerAxis);
|
||||
SDL_GameControllerButtonBind SDL_GameControllerGetBindForAxis(SDL_GameController*,SDL_GameControllerAxis);
|
||||
short SDL_GameControllerGetAxis(SDL_GameController*,SDL_GameControllerAxis);
|
||||
SDL_GameControllerButton SDL_GameControllerGetButtonFromString(const(char*));
|
||||
const(char)* SDL_GameControllerGetStringForButton(SDL_GameControllerButton);
|
||||
SDL_GameControllerButtonBind SDL_GameControllerGetBindForButton(SDL_GameController*,SDL_GameControllerButton);
|
||||
ubyte SDL_GameControllerGetButton(SDL_GameController*,SDL_GameControllerButton);
|
||||
void SDL_GameControllerClose(SDL_GameController*);
|
||||
|
||||
static if(sdlSupport >= SDLSupport.sdl202) {
|
||||
int SDL_GameControllerAddMappingsFromRW(SDL_RWops*,int);
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl204) {
|
||||
SDL_GameController* SDL_GameControllerFromInstanceID(SDL_JoystickID);
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl206) {
|
||||
ushort SDL_GameControllerGetProduct(SDL_GameController*);
|
||||
ushort SDL_GameControllerGetProductVersion(SDL_GameController*);
|
||||
ushort SDL_GameControllerGetVendor(SDL_GameController*);
|
||||
char* SDL_GameControllerMappingForIndex(int);
|
||||
int SDL_GameControllerNumMappings();
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
char* SDL_GameControllerMappingForDeviceIndex(int);
|
||||
int SDL_GameControllerRumble(SDL_GameController*,ushort,ushort,uint);
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl2010) {
|
||||
int SDL_GameControllerGetPlayerIndex(SDL_GameController*);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_GameControllerAddMapping = int function(const(char)*);
|
||||
alias pSDL_GameControllerMappingForGUID = char* function(SDL_JoystickGUID);
|
||||
alias pSDL_GameControllerMapping = char* function(SDL_GameController*);
|
||||
alias pSDL_IsGameController = SDL_bool function(int);
|
||||
alias pSDL_GameControllerNameForIndex = const(char)* function(int);
|
||||
alias pSDL_GameControllerOpen = SDL_GameController* function(int);
|
||||
alias pSDL_GameControllerName = const(char)* function(SDL_GameController*);
|
||||
alias pSDL_GameControllerGetAttached = SDL_bool function(SDL_GameController*);
|
||||
alias pSDL_GameControllerGetJoystick = SDL_Joystick* function(SDL_GameController*);
|
||||
alias pSDL_GameControllerEventState = int function(int);
|
||||
alias pSDL_GameControllerUpdate = void function();
|
||||
alias pSDL_GameControllerGetAxisFromString = SDL_GameControllerAxis function(const(char)*);
|
||||
alias pSDL_GameControllerGetStringForAxis = const(char)* function(SDL_GameControllerAxis);
|
||||
alias pSDL_GameControllerGetBindForAxis = SDL_GameControllerButtonBind function(SDL_GameController*,SDL_GameControllerAxis);
|
||||
alias pSDL_GameControllerGetAxis = short function(SDL_GameController*,SDL_GameControllerAxis);
|
||||
alias pSDL_GameControllerGetButtonFromString = SDL_GameControllerButton function(const(char*));
|
||||
alias pSDL_GameControllerGetStringForButton = const(char)* function(SDL_GameControllerButton);
|
||||
alias pSDL_GameControllerGetBindForButton = SDL_GameControllerButtonBind function(SDL_GameController*,SDL_GameControllerButton);
|
||||
alias pSDL_GameControllerGetButton = ubyte function(SDL_GameController*,SDL_GameControllerButton);
|
||||
alias pSDL_GameControllerClose = void function(SDL_GameController*);
|
||||
}
|
||||
__gshared {
|
||||
pSDL_GameControllerAddMapping SDL_GameControllerAddMapping;
|
||||
pSDL_GameControllerMappingForGUID SDL_GameControllerMappingForGUID;
|
||||
pSDL_GameControllerMapping SDL_GameControllerMapping;
|
||||
pSDL_IsGameController SDL_IsGameController;
|
||||
pSDL_GameControllerNameForIndex SDL_GameControllerNameForIndex;
|
||||
pSDL_GameControllerOpen SDL_GameControllerOpen;
|
||||
pSDL_GameControllerName SDL_GameControllerName;
|
||||
pSDL_GameControllerGetAttached SDL_GameControllerGetAttached;
|
||||
pSDL_GameControllerGetJoystick SDL_GameControllerGetJoystick;
|
||||
pSDL_GameControllerEventState SDL_GameControllerEventState;
|
||||
pSDL_GameControllerUpdate SDL_GameControllerUpdate;
|
||||
pSDL_GameControllerGetAxisFromString SDL_GameControllerGetAxisFromString;
|
||||
pSDL_GameControllerGetStringForAxis SDL_GameControllerGetStringForAxis;
|
||||
pSDL_GameControllerGetBindForAxis SDL_GameControllerGetBindForAxis;
|
||||
pSDL_GameControllerGetAxis SDL_GameControllerGetAxis;
|
||||
pSDL_GameControllerGetButtonFromString SDL_GameControllerGetButtonFromString;
|
||||
pSDL_GameControllerGetStringForButton SDL_GameControllerGetStringForButton;
|
||||
pSDL_GameControllerGetBindForButton SDL_GameControllerGetBindForButton;
|
||||
pSDL_GameControllerGetButton SDL_GameControllerGetButton;
|
||||
pSDL_GameControllerClose SDL_GameControllerClose;
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl202) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_GameControllerAddMappingsFromRW = int function(SDL_RWops*,int);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_GameControllerAddMappingsFromRW SDL_GameControllerAddMappingsFromRW;
|
||||
}
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl204) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_GameControllerFromInstanceID = SDL_GameController* function(SDL_JoystickID);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_GameControllerFromInstanceID SDL_GameControllerFromInstanceID;
|
||||
}
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl206) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_GameControllerGetProduct = ushort function(SDL_GameController*);
|
||||
alias pSDL_GameControllerGetProductVersion = ushort function(SDL_GameController*);
|
||||
alias pSDL_GameControllerGetVendor = ushort function(SDL_GameController*);
|
||||
alias pSDL_GameControllerMappingForIndex = char* function(int);
|
||||
alias pSDL_GameControllerNumMappings = int function();
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_GameControllerGetProduct SDL_GameControllerGetProduct;
|
||||
pSDL_GameControllerGetProductVersion SDL_GameControllerGetProductVersion;
|
||||
pSDL_GameControllerGetVendor SDL_GameControllerGetVendor;
|
||||
pSDL_GameControllerMappingForIndex SDL_GameControllerMappingForIndex;
|
||||
pSDL_GameControllerNumMappings SDL_GameControllerNumMappings;
|
||||
}
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl209) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_GameControllerMappingForDeviceIndex = char* function(int);
|
||||
alias pSDL_GameControllerRumble = int function(SDL_GameController*,ushort,ushort,uint);
|
||||
}
|
||||
|
||||
__gshared {
|
||||
pSDL_GameControllerMappingForDeviceIndex SDL_GameControllerMappingForDeviceIndex;
|
||||
pSDL_GameControllerRumble SDL_GameControllerRumble;
|
||||
}
|
||||
}
|
||||
static if(sdlSupport >= SDLSupport.sdl2010) {
|
||||
extern(C) @nogc nothrow {
|
||||
alias pSDL_GameControllerGetPlayerIndex = int function(SDL_GameController*);
|
||||
}
|
||||
__gshared {
|
||||
pSDL_GameControllerGetPlayerIndex SDL_GameControllerGetPlayerIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue