no message

This commit is contained in:
BADIM-PC\Vadim 2018-01-24 16:59:02 +03:00
parent 1241b43ea7
commit dc8c10438b
3 changed files with 57 additions and 2 deletions

View File

@ -2615,6 +2615,35 @@ static void tick(Console* console)
tic_mem* tic = console->tic; tic_mem* tic = console->tic;
{
if(isKeyWasDown(tic_key_up)) onHistoryUp(console);
else if(isKeyWasDown(tic_key_down)) onHistoryDown(console);
else if(isKeyWasDown(tic_key_left))
{
if(console->inputPosition > 0)
console->inputPosition--;
}
else if(isKeyWasDown(tic_key_right))
{
console->inputPosition++;
size_t len = strlen(console->inputBuffer);
if(console->inputPosition > len)
console->inputPosition = len;
}
else if(isKeyWasDown(tic_key_return)) processConsoleCommand(console);
else if(isKeyWasDown(tic_key_backspace)) processConsoleBackspace(console);
else if(isKeyWasDown(tic_key_delete)) processConsoleDel(console);
else if(isKeyWasDown(tic_key_home)) processConsoleHome(console);
else if(isKeyWasDown(tic_key_end)) processConsoleEnd(console);
else if(isKeyWasDown(tic_key_tab)) processConsoleTab(console);
if(isAnyKeyWasDown())
{
scrollConsole(console);
console->cursor.delay = CONSOLE_CURSOR_DELAY;
}
}
char sym = getKeyboardText(); char sym = getKeyboardText();
if(sym) if(sym)

View File

@ -51,6 +51,9 @@
// #define OFFSET_TOP ((TIC80_FULLHEIGHT-TIC80_HEIGHT)/2) // #define OFFSET_TOP ((TIC80_FULLHEIGHT-TIC80_HEIGHT)/2)
#define POPUP_DUR (TIC_FRAMERATE*2) #define POPUP_DUR (TIC_FRAMERATE*2)
#define KEYBOARD_HOLD 20
#define KEYBOARD_PERIOD 3
#if defined(TIC80_PRO) #if defined(TIC80_PRO)
#define TIC_EDITOR_BANKS (TIC_BANKS) #define TIC_EDITOR_BANKS (TIC_BANKS)
#else #else
@ -329,19 +332,40 @@ char getKeyboardText()
static const char Symbols[] = "abcdefghijklmnopqrstuvwxyz0123456789-=[]\\;'`,./ "; static const char Symbols[] = "abcdefghijklmnopqrstuvwxyz0123456789-=[]\\;'`,./ ";
static const char Shift[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ)!@#$%^&*(_+{}|:\"~<>? "; static const char Shift[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ)!@#$%^&*(_+{}|:\"~<>? ";
enum{Count = sizeof Symbols, Hold = 20, Period = 3}; enum{Count = sizeof Symbols};
for(s32 i = 0; i < TIC80_KEY_BUFFER; i++) for(s32 i = 0; i < TIC80_KEY_BUFFER; i++)
{ {
tic_key key = tic->ram.input.keyboard.keys[i]; tic_key key = tic->ram.input.keyboard.keys[i];
if(key > 0 && key < Count && tic->api.keyp(tic, key, Hold, Period)) if(key > 0 && key < Count && tic->api.keyp(tic, key, KEYBOARD_HOLD, KEYBOARD_PERIOD))
return tic->api.key(tic, tic_key_shift) ? Shift[key-1] : Symbols[key-1]; return tic->api.key(tic, tic_key_shift) ? Shift[key-1] : Symbols[key-1];
} }
return 0; return 0;
} }
bool isKeyWasDown(tic_key key)
{
tic_mem* tic = studioImpl.studio.tic;
return tic->api.keyp(tic, key, KEYBOARD_HOLD, KEYBOARD_PERIOD);
}
bool isAnyKeyWasDown()
{
tic_mem* tic = studioImpl.studio.tic;
for(s32 i = 0; i < TIC80_KEY_BUFFER; i++)
{
tic_key key = tic->ram.input.keyboard.keys[i];
if(tic->api.keyp(tic, key, KEYBOARD_HOLD, KEYBOARD_PERIOD))
return true;
}
return false;
}
tic_tiles* getBankTiles() tic_tiles* getBankTiles()
{ {
return &studioImpl.studio.tic->cart.banks[studioImpl.bank.index.sprites].tiles; return &studioImpl.studio.tic->cart.banks[studioImpl.bank.index.sprites].tiles;

View File

@ -209,3 +209,5 @@ void studioTick(void* pixels);
void studioClose(); void studioClose();
char getKeyboardText(); char getKeyboardText();
bool isKeyWasDown(tic_key key);
bool isAnyKeyWasDown();