no message

This commit is contained in:
BADIM-PC\Vadim 2018-02-13 12:44:16 +03:00
parent 79d199a9dd
commit 237f575352
3 changed files with 50 additions and 262 deletions

View File

@ -51,6 +51,7 @@ static struct
} gamepad; } gamepad;
bool missedFrame; bool missedFrame;
bool fullscreen;
} platform; } platform;
static void initSound() static void initSound()
@ -233,27 +234,6 @@ static void processMouse()
input->mouse.middle = mb & SDL_BUTTON_MMASK; input->mouse.middle = mb & SDL_BUTTON_MMASK;
input->mouse.right = mb & SDL_BUTTON_RMASK; input->mouse.right = mb & SDL_BUTTON_RMASK;
} }
// for(int i = 0; i < COUNT_OF(platform.mouse.state); i++)
// {
// MouseState* state = &platform.mouse.state[i];
// if(!state->down && (platform.mouse.button & SDL_BUTTON(i + 1)))
// {
// state->down = true;
// state->start.x = platform.mouse.cursor.x;
// state->start.y = platform.mouse.cursor.y;
// }
// else if(state->down && !(platform.mouse.button & SDL_BUTTON(i + 1)))
// {
// state->end.x = platform.mouse.cursor.x;
// state->end.y = platform.mouse.cursor.y;
// state->click = true;
// state->down = false;
// }
// }
} }
static void processKeyboard() static void processKeyboard()
@ -918,38 +898,44 @@ static const char* getAppFolder()
return appFolder; return appFolder;
} }
void setClipboardText(const char* text) static void _setClipboardText(const char* text)
{ {
SDL_SetClipboardText(text); SDL_SetClipboardText(text);
} }
bool hasClipboardText() static bool _hasClipboardText()
{ {
return SDL_HasClipboardText(); return SDL_HasClipboardText();
} }
char* getClipboardText() static char* _getClipboardText()
{ {
return SDL_GetClipboardText(); return SDL_GetClipboardText();
} }
u64 getPerformanceCounter() static u64 _getPerformanceCounter()
{ {
return SDL_GetPerformanceCounter(); return SDL_GetPerformanceCounter();
} }
u64 getPerformanceFrequency() static u64 _getPerformanceFrequency()
{ {
return SDL_GetPerformanceFrequency(); return SDL_GetPerformanceFrequency();
} }
static void _goFullscreen()
{
platform.fullscreen = !platform.fullscreen;
SDL_SetWindowFullscreen(platform.window, platform.fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
}
static System sysHandlers = static System sysHandlers =
{ {
.setClipboardText = setClipboardText, .setClipboardText = _setClipboardText,
.hasClipboardText = hasClipboardText, .hasClipboardText = _hasClipboardText,
.getClipboardText = getClipboardText, .getClipboardText = _getClipboardText,
.getPerformanceCounter = getPerformanceCounter, .getPerformanceCounter = _getPerformanceCounter,
.getPerformanceFrequency = getPerformanceFrequency, .getPerformanceFrequency = _getPerformanceFrequency,
.netGetRequest = netGetRequest, .netGetRequest = netGetRequest,
.createNet = createNet, .createNet = createNet,
@ -957,6 +943,8 @@ static System sysHandlers =
.file_dialog_load = file_dialog_load, .file_dialog_load = file_dialog_load,
.file_dialog_save = file_dialog_save, .file_dialog_save = file_dialog_save,
.goFullscreen = _goFullscreen,
}; };
s32 main(s32 argc, char **argv) s32 main(s32 argc, char **argv)

View File

@ -104,33 +104,13 @@ static struct
u64 mdate; u64 mdate;
}cart; }cart;
// SDL_Window* window;
// SDL_Renderer* renderer;
// SDL_Texture* texture;
// struct
// {
// SDL_AudioSpec spec;
// SDL_AudioDeviceID device;
// SDL_AudioCVT cvt;
// } audio;
// SDL_Joystick* joysticks[TIC_GAMEPADS];
EditorMode mode; EditorMode mode;
EditorMode prevMode; EditorMode prevMode;
EditorMode dialogMode; EditorMode dialogMode;
struct struct
{ {
// tic_point cursor;
// u32 button;
MouseState state[3]; MouseState state[3];
// SDL_Texture* texture;
// const u8* src;
// tic_cursor system;
} mouse; } mouse;
struct struct
@ -139,34 +119,8 @@ static struct
bool active; bool active;
} gesture; } gesture;
// const u8* keyboard;
tic_key keycodes[KEYMAP_COUNT]; tic_key keycodes[KEYMAP_COUNT];
// struct
// {
// tic80_gamepads keyboard;
// tic80_gamepads touch;
// tic80_gamepads joystick;
// SDL_Texture* texture;
// bool show;
// s32 counter;
// s32 alpha;
// bool backProcessed;
// struct
// {
// s32 size;
// tic_point axis;
// tic_point a;
// tic_point b;
// tic_point x;
// tic_point y;
// } part;
// } gamepad;
struct struct
{ {
bool show; bool show;
@ -209,8 +163,6 @@ static struct
} video; } video;
bool fullscreen;
struct struct
{ {
Code* code; Code* code;
@ -243,43 +195,21 @@ static struct
} studioImpl = } studioImpl =
{ {
.tic80local = NULL, .tic80local = NULL,
// .tic = NULL,
// .window = NULL,
// .renderer = NULL,
// .texture = NULL,
// .audio =
// {
// .device = 0,
// },
.cart = .cart =
{ {
.mdate = 0, .mdate = 0,
}, },
// .joysticks = {NULL, NULL, NULL, NULL},
.mode = TIC_START_MODE, .mode = TIC_START_MODE,
.prevMode = TIC_CODE_MODE, .prevMode = TIC_CODE_MODE,
.dialogMode = TIC_CONSOLE_MODE, .dialogMode = TIC_CONSOLE_MODE,
// .mouse =
// {
// .cursor = {-1, -1},
// .button = 0,
// .src = NULL,
// .texture = NULL,
// .system = SDL_SYSTEM_CURSOR_ARROW,
// },
.gesture = .gesture =
{ {
.pos = {0, 0}, .pos = {0, 0},
.active = false, .active = false,
}, },
// .keyboard = NULL,
.keycodes = .keycodes =
{ {
tic_key_up, tic_key_up,
@ -293,11 +223,6 @@ static struct
tic_key_s, // y tic_key_s, // y
}, },
// .gamepad =
// {
// .show = false,
// },
.bank = .bank =
{ {
.show = false, .show = false,
@ -322,7 +247,6 @@ static struct
.frames = 0, .frames = 0,
}, },
.fullscreen = false,
.missedFrame = false, .missedFrame = false,
.argc = 0, .argc = 0,
.argv = NULL, .argv = NULL,
@ -922,11 +846,6 @@ ClipboardEvent getClipboardEvent()
return TIC_CLIPBOARD_NONE; return TIC_CLIPBOARD_NONE;
} }
// const u8* getKeyboard()
// {
// return studioImpl.keyboard;
// }
static void showPopupMessage(const char* text) static void showPopupMessage(const char* text)
{ {
studioImpl.popup.counter = POPUP_DUR; studioImpl.popup.counter = POPUP_DUR;
@ -1021,13 +940,6 @@ void resumeRunMode()
studioImpl.mode = TIC_RUN_MODE; studioImpl.mode = TIC_RUN_MODE;
} }
// static void showSoftKeyboard()
// {
// if(studioImpl.mode == TIC_CONSOLE_MODE || studioImpl.mode == TIC_CODE_MODE)
// if(!SDL_IsTextInputActive())
// SDL_StartTextInput();
// }
void setStudioMode(EditorMode mode) void setStudioMode(EditorMode mode)
{ {
if(mode != studioImpl.mode) if(mode != studioImpl.mode)
@ -1063,8 +975,6 @@ void setStudioMode(EditorMode mode)
} }
studioImpl.mode = mode; studioImpl.mode = mode;
// showSoftKeyboard();
} }
} }
@ -1086,14 +996,14 @@ void changeStudioMode(s32 dir)
} }
} }
// static void showGameMenu() static void showGameMenu()
// { {
// studioImpl.studio.tic->api.pause(studioImpl.studio.tic); studioImpl.studio.tic->api.pause(studioImpl.studio.tic);
// studioImpl.studio.tic->api.reset(studioImpl.studio.tic); studioImpl.studio.tic->api.reset(studioImpl.studio.tic);
// initMenuMode(); initMenuMode();
// studioImpl.mode = TIC_MENU_MODE; studioImpl.mode = TIC_MENU_MODE;
// } }
void hideGameMenu() void hideGameMenu()
{ {
@ -1654,8 +1564,7 @@ static bool isGameMenu()
static void goFullscreen() static void goFullscreen()
{ {
// studioImpl.fullscreen = !studioImpl.fullscreen; studioImpl.system->goFullscreen();
// SDL_SetWindowFullscreen(studioImpl.window, studioImpl.fullscreen ? SDL_WINDOW_FULLSCREEN_DESKTOP : 0);
} }
void runProject() void runProject()
@ -1799,53 +1708,35 @@ static inline bool isKeyBeenPressedOnce(s32 key)
static void processShortcuts() static void processShortcuts()
{ {
// if(event->repeat) return false;
tic_mem* tic = studioImpl.studio.tic; tic_mem* tic = studioImpl.studio.tic;
// SDL_Keymod mod = event->keysym.mod;
if(studioImpl.mode == TIC_START_MODE) return; if(studioImpl.mode == TIC_START_MODE) return;
if(studioImpl.mode == TIC_CONSOLE_MODE && !studioImpl.console->active) return; if(studioImpl.mode == TIC_CONSOLE_MODE && !studioImpl.console->active) return;
if(isGameMenu())
{
// switch(event->keysym.sym)
// {
// case SDLK_ESCAPE:
// case SDLK_AC_BACK:
// studioImpl.mode == TIC_MENU_MODE ? hideGameMenu() : showGameMenu();
// // studioImpl.gamepad.backProcessed = true;
// return true;
// case SDLK_F11:
// goFullscreen();
// return true;
// case SDLK_RETURN:
// if(mod & KMOD_RALT)
// {
// goFullscreen();
// return true;
// }
// break;
// case SDLK_F7:
// setCoverImage();
// return true;
// case SDLK_F8:
// takeScreenshot();
// return true;
// #if !defined(__EMSCRIPTEN__)
// case SDLK_F9:
// startVideoRecord();
// return true;
// #endif
// default:
// return false;
// }
}
bool alt = tic->api.key(tic, tic_key_alt); bool alt = tic->api.key(tic, tic_key_alt);
bool ctrl = tic->api.key(tic, tic_key_ctrl); bool ctrl = tic->api.key(tic, tic_key_ctrl);
if(isGameMenu())
{
if(isKeyBeenPressedOnce(tic_key_escape))
{
studioImpl.mode == TIC_MENU_MODE ? hideGameMenu() : showGameMenu();
// studioImpl.gamepad.backProcessed = true;
return;
}
else if(isKeyBeenPressedOnce(tic_key_f11)) goFullscreen();
else if(isKeyBeenPressedOnce(tic_key_return))
{
if(alt) goFullscreen();
}
else if(isKeyBeenPressedOnce(tic_key_f7)) setCoverImage();
else if(isKeyBeenPressedOnce(tic_key_f8)) takeScreenshot();
#if !defined(__EMSCRIPTEN__)
else if(isKeyBeenPressedOnce(tic_key_f9)) startVideoRecord();
#endif
}
if(alt) if(alt)
{ {
if(isKeyBeenPressedOnce(tic_key_grave)) setStudioMode(TIC_CONSOLE_MODE); if(isKeyBeenPressedOnce(tic_key_grave)) setStudioMode(TIC_CONSOLE_MODE);
@ -1855,17 +1746,6 @@ static void processShortcuts()
else if(isKeyBeenPressedOnce(tic_key_4)) setStudioMode(TIC_SFX_MODE); else if(isKeyBeenPressedOnce(tic_key_4)) setStudioMode(TIC_SFX_MODE);
else if(isKeyBeenPressedOnce(tic_key_5)) setStudioMode(TIC_MUSIC_MODE); else if(isKeyBeenPressedOnce(tic_key_5)) setStudioMode(TIC_MUSIC_MODE);
else if(isKeyBeenPressedOnce(tic_key_return)) goFullscreen(); else if(isKeyBeenPressedOnce(tic_key_return)) goFullscreen();
// switch(event->keysym.sym)
// {
// case SDLK_BACKQUOTE: setStudioMode(TIC_CONSOLE_MODE); return true;
// case SDLK_1: setStudioMode(TIC_CODE_MODE); return true;
// case SDLK_2: setStudioMode(TIC_SPRITE_MODE); return true;
// case SDLK_3: setStudioMode(TIC_MAP_MODE); return true;
// case SDLK_4: setStudioMode(TIC_SFX_MODE); return true;
// case SDLK_5: setStudioMode(TIC_MUSIC_MODE); return true;
// default: break;
// }
} }
else if(ctrl) else if(ctrl)
{ {
@ -1875,13 +1755,6 @@ static void processShortcuts()
else if(isKeyBeenPressedOnce(tic_key_r)) runProject(); else if(isKeyBeenPressedOnce(tic_key_r)) runProject();
else if(isKeyBeenPressedOnce(tic_key_return)) runProject(); else if(isKeyBeenPressedOnce(tic_key_return)) runProject();
else if(isKeyBeenPressedOnce(tic_key_s)) saveProject(); else if(isKeyBeenPressedOnce(tic_key_s)) saveProject();
// switch(event->keysym.sym)
// {
// case SDLK_PAGEUP: changeStudioMode(-1); return true;
// case SDLK_PAGEDOWN: changeStudioMode(1); return true;
// }
} }
else else
{ {
@ -1914,82 +1787,7 @@ static void processShortcuts()
setStudioMode(studioImpl.mode == TIC_CONSOLE_MODE ? studioImpl.prevMode : TIC_CONSOLE_MODE); setStudioMode(studioImpl.mode == TIC_CONSOLE_MODE ? studioImpl.prevMode : TIC_CONSOLE_MODE);
} }
// switch(event->keysym.sym)
// {
// case SDLK_F1: setStudioMode(TIC_CODE_MODE); return true;
// case SDLK_F2: setStudioMode(TIC_SPRITE_MODE); return true;
// case SDLK_F3: setStudioMode(TIC_MAP_MODE); return true;
// case SDLK_F4: setStudioMode(TIC_SFX_MODE); return true;
// case SDLK_F5: setStudioMode(TIC_MUSIC_MODE); return true;
// case SDLK_F7: setCoverImage(); return true;
// case SDLK_F8: takeScreenshot(); return true;
// #if !defined(__EMSCRIPTEN__)
// case SDLK_F9: startVideoRecord(); return true;
// #endif
// default: break;
// }
} }
// switch(event->keysym.sym)
// {
// case SDLK_q:
// if(mod & TIC_MOD_CTRL)
// {
// exitStudio();
// return true;
// }
// break;
// case SDLK_r:
// if(mod & TIC_MOD_CTRL)
// {
// runProject();
// return true;
// }
// break;
// case SDLK_s:
// if(mod & TIC_MOD_CTRL)
// {
// saveProject();
// return true;
// }
// break;
// case SDLK_F11: goFullscreen(); return true;
// case SDLK_RETURN:
// if(mod & KMOD_RALT)
// {
// goFullscreen();
// return true;
// }
// else if(mod & TIC_MOD_CTRL)
// {
// runProject();
// return true;
// }
// break;
// case SDLK_ESCAPE:
// case SDLK_AC_BACK:
// {
// Code* code = studioImpl.editor[studioImpl.bank.index.code].code;
// if(studioImpl.mode == TIC_CODE_MODE && code->mode != TEXT_EDIT_MODE)
// {
// code->escape(code);
// return true;
// }
// if(studioImpl.mode == TIC_DIALOG_MODE)
// {
// studioImpl.dialog->escape(studioImpl.dialog);
// return true;
// }
// setStudioMode(studioImpl.mode == TIC_CONSOLE_MODE ? studioImpl.prevMode : TIC_CONSOLE_MODE);
// }
// return true;
// default: break;
// }
} }
// static void processGamepad() // static void processGamepad()

View File

@ -231,6 +231,8 @@ typedef struct
void (*file_dialog_load)(file_dialog_load_callback callback, void* data); void (*file_dialog_load)(file_dialog_load_callback callback, void* data);
void (*file_dialog_save)(file_dialog_save_callback callback, const char* name, const u8* buffer, size_t size, void* data, u32 mode); void (*file_dialog_save)(file_dialog_save_callback callback, const char* name, const u8* buffer, size_t size, void* data, u32 mode);
void (*goFullscreen)();
} System; } System;
TIC80_API Studio* studioInit(s32 argc, char **argv, s32 samplerate, const char* appFolder, System* system); TIC80_API Studio* studioInit(s32 argc, char **argv, s32 samplerate, const char* appFolder, System* system);