From 67142bdb01fd4167fd6caa37afd5eb947d74b806 Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Wed, 20 Jul 2022 08:10:05 +0200 Subject: [PATCH] Add charwin get/put rect functions --- include/c64/charwin.c | 94 ++++++++++++++++++++++++++++++++++++++++++- include/c64/charwin.h | 13 ++++++ 2 files changed, 106 insertions(+), 1 deletion(-) diff --git a/include/c64/charwin.c b/include/c64/charwin.c index 98380f7..592f92e 100644 --- a/include/c64/charwin.c +++ b/include/c64/charwin.c @@ -422,7 +422,7 @@ char cwin_getat_char_raw(CharWin * win, char x, char y) return *sp; } -#pragma native(cwin_getat_char_raw) +#pragma native(cwin_getat_chars_raw) void cwin_getat_chars_raw(CharWin * win, char x, char y, char * chars, char num) { @@ -434,6 +434,98 @@ void cwin_getat_chars_raw(CharWin * win, char x, char y, char * chars, char num) } } + +#pragma native(cwin_put_rect_raw) + +void cwin_put_rect_raw(CharWin * win, char x, char y, char w, char h, const char * chars, char color) +{ + int offset = mul40[y] + x; + + char * sp = win->sp + offset; + char * cp = win->cp + offset; + + for(char i=0; isp + offset; + char * cp = win->cp + offset; + + for(char i=0; isp + offset; + + for(char i=0; isp + offset; + + for(char i=0; i