feat: white cursor with black outline (desktop/login/firstInit) + fix hash patcher param

- outline = empty pixel with any 8-neighbour filled, stays inside cursor save region

- patch_login_hash.ps1: typed byte[] params + ASCII comments, default path fallback (was silently misbinding under some hosts)
This commit is contained in:
Linehu
2026-10-04 22:43:18 +08:00
parent b4d9c8e7ed
commit a570fe09b5
4 changed files with 53 additions and 18 deletions
+15
View File
@@ -130,6 +130,21 @@ void cursor_restore_bg(void) {
}
void cursor_draw(int mx, int my) {
/* 白色指针 + 黑色描边:描边 = 空心像素且 8 邻域有实心(不出保存区) */
for (int r = 0; r < CURSOR_SIZE; r++) {
for (int c = 0; c < CURSOR_SIZE; c++) {
if (cursor_shape[r][c]) continue;
int near = 0;
for (int dy = -1; dy <= 1 && !near; dy++) {
for (int dx = -1; dx <= 1; dx++) {
int rr = r + dy, cc = c + dx;
if (rr < 0 || rr >= CURSOR_SIZE || cc < 0 || cc >= CURSOR_SIZE) continue;
if (cursor_shape[rr][cc]) { near = 1; break; }
}
}
if (near) du_pixel(&g_fb, mx + c, my + r, 0xFF000000u);
}
}
for (int r = 0; r < CURSOR_SIZE; r++) {
for (int c = 0; c < CURSOR_SIZE; c++) {
if (cursor_shape[r][c]) {