增加单击SW2抽签功能

This commit is contained in:
CSBOOK\44744
2026-06-28 18:14:21 +08:00
parent 4cc2089192
commit 984787d736
7 changed files with 301 additions and 8 deletions
+142 -8
View File
@@ -39,6 +39,106 @@ static const lcd_direct_image_t s_muyu_frames[] = {
},
};
static const lcd_direct_image_t s_chouqian_qianzhi_frames[] = {
{
.path = LCD_ASSET_BASE_PATH "chouqian_qianzhi0.rle",
.run_count = 74056U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_qianzhi1.rle",
.run_count = 73259U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_qianzhi2.rle",
.run_count = 72906U,
},
};
static const lcd_direct_image_t s_chouqian_buyun_frames[] = {
{
.path = LCD_ASSET_BASE_PATH "chouqian_buyun0.rle",
.run_count = 72370U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_buyun1.rle",
.run_count = 72552U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_buyun2.rle",
.run_count = 72757U,
},
};
static const lcd_direct_image_t s_chouqian_heping_frames[] = {
{
.path = LCD_ASSET_BASE_PATH "chouqian_heping0.rle",
.run_count = 72370U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_heping1.rle",
.run_count = 73049U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_heping2.rle",
.run_count = 73365U,
},
};
static const lcd_direct_image_t s_chouqian_shangshang_frames[] = {
{
.path = LCD_ASSET_BASE_PATH "chouqian_shangshang0.rle",
.run_count = 72370U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_shangshang1.rle",
.run_count = 72944U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_shangshang2.rle",
.run_count = 73190U,
},
};
static const lcd_direct_image_t s_chouqian_xiaoji_frames[] = {
{
.path = LCD_ASSET_BASE_PATH "chouqian_xiaoji0.rle",
.run_count = 72370U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_xiaoji1.rle",
.run_count = 72827U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_xiaoji2.rle",
.run_count = 73006U,
},
};
static const lcd_direct_image_t s_chouqian_zhongshang_frames[] = {
{
.path = LCD_ASSET_BASE_PATH "chouqian_zhongshang0.rle",
.run_count = 72370U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_zhongshang1.rle",
.run_count = 72135U,
},
{
.path = LCD_ASSET_BASE_PATH "chouqian_zhongshang2.rle",
.run_count = 72292U,
},
};
static const lcd_direct_image_t *lcd_direct_frame_from_array(const lcd_direct_image_t *frames,
size_t frame_count,
uint8_t frame_index)
{
if (frame_index >= frame_count) {
return NULL;
}
return &frames[frame_index];
}
const lcd_direct_image_t *lcd_direct_default_image(void)
{
return &s_default_image;
@@ -51,17 +151,51 @@ const lcd_direct_image_t *lcd_direct_asset_frame(const char *asset_dir, uint8_t
}
if (strcmp(asset_dir, "jichubiaoqing") == 0) {
if (frame_index < sizeof(s_basic_face_frames) / sizeof(s_basic_face_frames[0])) {
return &s_basic_face_frames[frame_index];
}
return NULL;
return lcd_direct_frame_from_array(s_basic_face_frames,
sizeof(s_basic_face_frames) / sizeof(s_basic_face_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "muyu") == 0) {
if (frame_index < sizeof(s_muyu_frames) / sizeof(s_muyu_frames[0])) {
return &s_muyu_frames[frame_index];
}
return NULL;
return lcd_direct_frame_from_array(s_muyu_frames,
sizeof(s_muyu_frames) / sizeof(s_muyu_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "chouqian_qianzhi") == 0) {
return lcd_direct_frame_from_array(s_chouqian_qianzhi_frames,
sizeof(s_chouqian_qianzhi_frames) / sizeof(s_chouqian_qianzhi_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "chouqian_buyun") == 0) {
return lcd_direct_frame_from_array(s_chouqian_buyun_frames,
sizeof(s_chouqian_buyun_frames) / sizeof(s_chouqian_buyun_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "chouqian_heping") == 0) {
return lcd_direct_frame_from_array(s_chouqian_heping_frames,
sizeof(s_chouqian_heping_frames) / sizeof(s_chouqian_heping_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "chouqian_shangshang") == 0) {
return lcd_direct_frame_from_array(s_chouqian_shangshang_frames,
sizeof(s_chouqian_shangshang_frames) / sizeof(s_chouqian_shangshang_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "chouqian_xiaoji") == 0) {
return lcd_direct_frame_from_array(s_chouqian_xiaoji_frames,
sizeof(s_chouqian_xiaoji_frames) / sizeof(s_chouqian_xiaoji_frames[0]),
frame_index);
}
if (strcmp(asset_dir, "chouqian_zhongshang") == 0) {
return lcd_direct_frame_from_array(s_chouqian_zhongshang_frames,
sizeof(s_chouqian_zhongshang_frames) / sizeof(s_chouqian_zhongshang_frames[0]),
frame_index);
}
return NULL;