no message
This commit is contained in:
parent
5366ec606d
commit
88737d200d
|
@ -1875,6 +1875,7 @@ Studio* studioInit(s32 argc, char **argv, s32 samplerate, const char* folder, Sy
|
||||||
studioImpl.studio.close = studioClose;
|
studioImpl.studio.close = studioClose;
|
||||||
studioImpl.studio.updateProject = updateStudioProject;
|
studioImpl.studio.updateProject = updateStudioProject;
|
||||||
studioImpl.studio.exit = exitStudio;
|
studioImpl.studio.exit = exitStudio;
|
||||||
|
studioImpl.studio.config = getConfig;
|
||||||
|
|
||||||
return &studioImpl.studio;
|
return &studioImpl.studio;
|
||||||
}
|
}
|
||||||
|
|
46
src/studio.h
46
src/studio.h
|
@ -64,50 +64,6 @@
|
||||||
#define PROJECT_JS_EXT ".js"
|
#define PROJECT_JS_EXT ".js"
|
||||||
#define PROJECT_WREN_EXT ".wren"
|
#define PROJECT_WREN_EXT ".wren"
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
s32 arrow;
|
|
||||||
s32 hand;
|
|
||||||
s32 ibeam;
|
|
||||||
|
|
||||||
bool pixelPerfect;
|
|
||||||
} cursor;
|
|
||||||
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
tic_code_theme syntax;
|
|
||||||
|
|
||||||
u8 bg;
|
|
||||||
u8 select;
|
|
||||||
u8 cursor;
|
|
||||||
bool shadow;
|
|
||||||
} code;
|
|
||||||
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
u8 alpha;
|
|
||||||
} touch;
|
|
||||||
|
|
||||||
} gamepad;
|
|
||||||
|
|
||||||
} theme;
|
|
||||||
|
|
||||||
s32 gifScale;
|
|
||||||
s32 gifLength;
|
|
||||||
|
|
||||||
bool checkNewVersion;
|
|
||||||
bool noSound;
|
|
||||||
bool useVsync;
|
|
||||||
bool showSync;
|
|
||||||
|
|
||||||
} StudioConfig;
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
TIC_START_MODE,
|
TIC_START_MODE,
|
||||||
|
@ -185,7 +141,7 @@ void showTooltip(const char* text);
|
||||||
|
|
||||||
tic_key* getKeymap();
|
tic_key* getKeymap();
|
||||||
|
|
||||||
TIC80_API const StudioConfig* getConfig();
|
const StudioConfig* getConfig();
|
||||||
|
|
||||||
void setSpritePixel(tic_tile* tiles, s32 x, s32 y, u8 color);
|
void setSpritePixel(tic_tile* tiles, s32 x, s32 y, u8 color);
|
||||||
u8 getSpritePixel(tic_tile* tiles, s32 x, s32 y);
|
u8 getSpritePixel(tic_tile* tiles, s32 x, s32 y);
|
||||||
|
|
20
src/system.c
20
src/system.c
|
@ -322,7 +322,7 @@ static bool checkTouch(const SDL_Rect* rect, s32* x, s32* y)
|
||||||
|
|
||||||
if (!platform.gamepad.show)
|
if (!platform.gamepad.show)
|
||||||
{
|
{
|
||||||
platform.gamepad.alpha = getConfig()->theme.gamepad.touch.alpha;
|
platform.gamepad.alpha = platform.studio->config()->theme.gamepad.touch.alpha;
|
||||||
SDL_SetTextureAlphaMod(platform.gamepad.texture, platform.gamepad.alpha);
|
SDL_SetTextureAlphaMod(platform.gamepad.texture, platform.gamepad.alpha);
|
||||||
platform.gamepad.show = true;
|
platform.gamepad.show = true;
|
||||||
return false;
|
return false;
|
||||||
|
@ -761,7 +761,7 @@ static void blitCursor(const u8* in)
|
||||||
|
|
||||||
SDL_GetMouseState(&dst.x, &dst.y);
|
SDL_GetMouseState(&dst.x, &dst.y);
|
||||||
|
|
||||||
if(getConfig()->theme.cursor.pixelPerfect)
|
if(platform.studio->config()->theme.cursor.pixelPerfect)
|
||||||
{
|
{
|
||||||
dst.x -= (dst.x - rect.x) % scale;
|
dst.x -= (dst.x - rect.x) % scale;
|
||||||
dst.y -= (dst.y - rect.y) % scale;
|
dst.y -= (dst.y - rect.y) % scale;
|
||||||
|
@ -779,10 +779,10 @@ static void renderCursor()
|
||||||
{
|
{
|
||||||
case tic_cursor_hand:
|
case tic_cursor_hand:
|
||||||
{
|
{
|
||||||
if(getConfig()->theme.cursor.hand >= 0)
|
if(platform.studio->config()->theme.cursor.hand >= 0)
|
||||||
{
|
{
|
||||||
SDL_ShowCursor(SDL_DISABLE);
|
SDL_ShowCursor(SDL_DISABLE);
|
||||||
blitCursor(platform.studio->tic->config.bank0.tiles.data[getConfig()->theme.cursor.hand].data);
|
blitCursor(platform.studio->tic->config.bank0.tiles.data[platform.studio->config()->theme.cursor.hand].data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -793,10 +793,10 @@ static void renderCursor()
|
||||||
break;
|
break;
|
||||||
case tic_cursor_ibeam:
|
case tic_cursor_ibeam:
|
||||||
{
|
{
|
||||||
if(getConfig()->theme.cursor.ibeam >= 0)
|
if(platform.studio->config()->theme.cursor.ibeam >= 0)
|
||||||
{
|
{
|
||||||
SDL_ShowCursor(SDL_DISABLE);
|
SDL_ShowCursor(SDL_DISABLE);
|
||||||
blitCursor(platform.studio->tic->config.bank0.tiles.data[getConfig()->theme.cursor.ibeam].data);
|
blitCursor(platform.studio->tic->config.bank0.tiles.data[platform.studio->config()->theme.cursor.ibeam].data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -807,10 +807,10 @@ static void renderCursor()
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
if(getConfig()->theme.cursor.arrow >= 0)
|
if(platform.studio->config()->theme.cursor.arrow >= 0)
|
||||||
{
|
{
|
||||||
SDL_ShowCursor(SDL_DISABLE);
|
SDL_ShowCursor(SDL_DISABLE);
|
||||||
blitCursor(platform.studio->tic->config.bank0.tiles.data[getConfig()->theme.cursor.arrow].data);
|
blitCursor(platform.studio->tic->config.bank0.tiles.data[platform.studio->config()->theme.cursor.arrow].data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1039,7 +1039,7 @@ static s32 start(s32 argc, char **argv, const char* folder)
|
||||||
#if defined(__CHIP__)
|
#if defined(__CHIP__)
|
||||||
SDL_RENDERER_SOFTWARE
|
SDL_RENDERER_SOFTWARE
|
||||||
#else
|
#else
|
||||||
SDL_RENDERER_ACCELERATED | (getConfig()->useVsync ? SDL_RENDERER_PRESENTVSYNC : 0)
|
SDL_RENDERER_ACCELERATED | (platform.studio->config()->useVsync ? SDL_RENDERER_PRESENTVSYNC : 0)
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1049,7 +1049,7 @@ static s32 start(s32 argc, char **argv, const char* folder)
|
||||||
|
|
||||||
#if defined(__EMSCRIPTEN__)
|
#if defined(__EMSCRIPTEN__)
|
||||||
|
|
||||||
emscripten_set_main_loop(getConfig()->useVsync ? tick : emstick, 0, 1);
|
emscripten_set_main_loop(platform.studio->config()->useVsync ? tick : emstick, 0, 1);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
{
|
{
|
||||||
|
|
45
src/system.h
45
src/system.h
|
@ -24,6 +24,50 @@ typedef struct
|
||||||
|
|
||||||
} System;
|
} System;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
s32 arrow;
|
||||||
|
s32 hand;
|
||||||
|
s32 ibeam;
|
||||||
|
|
||||||
|
bool pixelPerfect;
|
||||||
|
} cursor;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
tic_code_theme syntax;
|
||||||
|
|
||||||
|
u8 bg;
|
||||||
|
u8 select;
|
||||||
|
u8 cursor;
|
||||||
|
bool shadow;
|
||||||
|
} code;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
u8 alpha;
|
||||||
|
} touch;
|
||||||
|
|
||||||
|
} gamepad;
|
||||||
|
|
||||||
|
} theme;
|
||||||
|
|
||||||
|
s32 gifScale;
|
||||||
|
s32 gifLength;
|
||||||
|
|
||||||
|
bool checkNewVersion;
|
||||||
|
bool noSound;
|
||||||
|
bool useVsync;
|
||||||
|
bool showSync;
|
||||||
|
|
||||||
|
} StudioConfig;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
tic_mem* tic;
|
tic_mem* tic;
|
||||||
|
@ -33,6 +77,7 @@ typedef struct
|
||||||
void (*exit)();
|
void (*exit)();
|
||||||
void (*close)();
|
void (*close)();
|
||||||
void (*updateProject)();
|
void (*updateProject)();
|
||||||
|
const StudioConfig* (*config)();
|
||||||
|
|
||||||
} Studio;
|
} Studio;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue