Merge pull request #265 from kichikuou/Key_ClearFlagNoCtrl

Implement SACT2.Key_ClearFlagNoCtrl
This commit is contained in:
Nunuhara Cabbage
2025-08-24 13:30:50 -07:00
committed by GitHub
7 changed files with 17 additions and 9 deletions
+1 -1
View File
@@ -140,7 +140,7 @@ extern bool keyboard_focus;
void handle_window_events(void);
void handle_events(void);
bool key_is_down(enum sact_keycode code);
void key_clear_flag(void);
void key_clear_flag(bool no_ctrl);
bool joy_key_is_down(uint8_t code);
void joy_clear_flag(void);
bool joy_get_stick_status(int controller, int type, float *deg, float *pow);
+1
View File
@@ -101,6 +101,7 @@ int sact_Joypad_IsKeyDown(int num, int key);
bool sact_Joypad_GetAnalogStickStatus(int num, int type, float *degree, float *power);
bool sact_Joypad_GetDigitalStickStatus(int num, int type, bool *left, bool *right, bool *up, bool *down);
int sact_Key_ClearFlag(void);
void sact_Key_ClearFlagNoCtrl(void);
int sact_Key_IsDown(int keycode);
int sact_CG_IsExist(int cg_no);
void sact_System_GetDate(int *year, int *month, int *mday, int *wday);
+1 -1
View File
@@ -375,7 +375,7 @@ HLL_LIBRARY(ChipmunkSpriteEngine,
HLL_EXPORT(SP_SetBrightness, ChipmunkSpriteEngine_SP_SetBrightness),
HLL_EXPORT(SP_GetBrightness, ChipmunkSpriteEngine_SP_GetBrightness),
HLL_TODO_EXPORT(SP_CreateCopy, SACTDX_SP_CreateCopy),
HLL_TODO_EXPORT(Key_ClearFlagNoCtrl, SACTDX_Key_ClearFlagNoCtrl),
HLL_EXPORT(Key_ClearFlagNoCtrl, sact_Key_ClearFlagNoCtrl),
HLL_TODO_EXPORT(Key_ClearFlagOne, SACTDX_Key_ClearFlagOne),
HLL_EXPORT(TRANS_Begin, sact_TRANS_Begin),
HLL_EXPORT(TRANS_Update, sact_TRANS_Update),
+1 -1
View File
@@ -36,7 +36,7 @@ HLL_WARN_UNIMPLEMENTED( , void, InputDevice, Init, void *imainsystem);
void InputDevice_ClearKeyDownFlag(void)
{
key_clear_flag();
key_clear_flag(false);
}
static int InputDevice_IsKeyDown(int key)
+9 -4
View File
@@ -794,10 +794,15 @@ bool sact_Joypad_GetDigitalStickStatus(int num, int type, bool *left, bool *righ
int sact_Key_ClearFlag(void)
{
key_clear_flag();
key_clear_flag(false);
return 1;
}
void sact_Key_ClearFlagNoCtrl(void)
{
key_clear_flag(true);
}
int sact_Key_IsDown(int keycode)
{
handle_events();
@@ -1001,7 +1006,6 @@ HLL_WARN_UNIMPLEMENTED( , void, SACTDX, SetVolumeMixerBGMGroupNum, int n);
//static void SACTDX_FFT_rdft(ref array@float a);
//static void SACTDX_FFT_hanning_window(ref array@float a);
//static int SACTDX_Music_AnalyzeSampleData(ref array@float l, ref array@float r, ref array@int src, int chns, int bps);
//static void SACTDX_Key_ClearFlagNoCtrl(void);
//static void SACTDX_Key_ClearFlagOne(int nKeyCode);
int sact_TRANS_Begin(int type)
@@ -1045,7 +1049,8 @@ void sact_DX_SetUsePower2Texture(bool use)
}
#define SACT2_EXPORTS \
HLL_EXPORT(Init, SACT2_Init)
HLL_EXPORT(Init, SACT2_Init), \
HLL_EXPORT(Key_ClearFlagNoCtrl, sact_Key_ClearFlagNoCtrl)
#define SACTDX_EXPORTS \
HLL_EXPORT(Init, SACTDX_Init), \
@@ -1060,7 +1065,7 @@ void sact_DX_SetUsePower2Texture(bool use)
HLL_TODO_EXPORT(FFT_rdft, SACTDX_FFT_rdft), \
HLL_TODO_EXPORT(FFT_hanning_window, SACTDX_FFT_hanning_window), \
HLL_TODO_EXPORT(Music_AnalyzeSampleData, SACTDX_Music_AnalyzeSampleData), \
HLL_TODO_EXPORT(Key_ClearFlagNoCtrl, SACTDX_Key_ClearFlagNoCtrl), \
HLL_EXPORT(Key_ClearFlagNoCtrl, sact_Key_ClearFlagNoCtrl), \
HLL_TODO_EXPORT(Key_ClearFlagOne, SACTDX_Key_ClearFlagOne), \
HLL_EXPORT(TRANS_Begin, sact_TRANS_Begin), \
HLL_EXPORT(TRANS_Update, sact_TRANS_Update), \
+1 -1
View File
@@ -1106,7 +1106,7 @@ HLL_LIBRARY(StoatSpriteEngine,
HLL_TODO_EXPORT(FFT_rdft, SACTDX_FFT_rdft),
HLL_TODO_EXPORT(FFT_hanning_window, SACTDX_FFT_hanning_window),
HLL_TODO_EXPORT(Music_AnalyzeSampleData, SACTDX_Music_AnalyzeSampleData),
HLL_TODO_EXPORT(Key_ClearFlagNoCtrl, SACTDX_Key_ClearFlagNoCtrl),
HLL_EXPORT(Key_ClearFlagNoCtrl, sact_Key_ClearFlagNoCtrl),
HLL_TODO_EXPORT(Key_ClearFlagOne, SACTDX_Key_ClearFlagOne),
HLL_EXPORT(TRANS_Begin, sact_TRANS_Begin),
HLL_EXPORT(TRANS_Update, sact_TRANS_Update),
+3 -1
View File
@@ -188,9 +188,11 @@ bool key_is_down(enum sact_keycode code)
return key_state[code];
}
void key_clear_flag(void)
void key_clear_flag(bool no_ctrl)
{
for (int i = 0; i < VK_NR_KEYCODES; i++) {
if (no_ctrl && i == VK_CONTROL)
continue;
key_state[i] = false;
}
}