Skip to content

Commit

Permalink
change text display to graphx.h for a cleaner look
Browse files Browse the repository at this point in the history
  • Loading branch information
Blackgaurd committed Mar 12, 2022
1 parent eb4b9d9 commit bd6972b
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 150 deletions.
Binary file modified bin/WORDLE.8xp
Binary file not shown.
Binary file modified bin/WORDLE.bin
Binary file not shown.
63 changes: 31 additions & 32 deletions bin/WORDLE.map
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Section Base Top High Length
.init.reruncheck D1A933 D1A933 0h
.init D1A933 D1A95D 2Ah
.fini D1A95D D1A991 34h
.text D1A991 D1B660 CCFh
.data D1B660 D254B1 9E51h
.rodata D254B1 D25516 65h
.text D1A991 D1B641 CB0h
.data D1B641 D25492 9E51h
.rodata D25492 D254F7 65h
.init_array 000000 000000 0h
.ctors 000000 000000 0h
.dtors 000000 000000 0h
Expand All @@ -33,8 +33,7 @@ _os_DisableHomeTextBuffer = D1A991
_os_EnableHomeTextBuffer = D1A9A3
_random = D1A9B5
_srandom = D1AA0C
__state = D1B660
_os_FontDrawText = 021E00
__state = D1B641
_os_FontSelect = 021E28
__frameset = D1AA23
__frameset0 = D1AA31
Expand All @@ -45,10 +44,10 @@ __iremu = 000170
__ishru = 000184
__sand = 000200
__setflag = 000218
.missingappvar = D254B1
.libloadname = D254B6
.missingappvar = D25492
.libloadname = D25497
.libloadnamelen = 000007
.webaddress = D254BE
.webaddress = D2549F
__start = D1A933
___exithl = D1A95D
skip._exit = D1A95D
Expand All @@ -65,34 +64,34 @@ _drawGrid = D1AB37
_clearSquare = D1ABAA
_fillSquare = D1AC1A
_dispLetter = D1AC8F
_winLossDisplay = D1AD0F
_enterLetter = D1ADDF
_backspace = D1AE18
_handleKeys = D1AE34
_inDictionary = D1B048
_inSelected = D1B105
_resetGame = D1B1C2
_gameWin = D1B201
_gameLoss = D1B2FE
_evaluateGuess = D1B3FB
_init = D1B5D8
_mainGame = D1B5FA
_main = D1B645
_SELECTED = D1B670
_DICTIONARY = D1E389
_winLossDisplay = D1ACF0
_enterLetter = D1ADC0
_backspace = D1ADF9
_handleKeys = D1AE15
_inDictionary = D1B029
_inSelected = D1B0E6
_resetGame = D1B1A3
_gameWin = D1B1E2
_gameLoss = D1B2DF
_evaluateGuess = D1B3DC
_init = D1B5B9
_mainGame = D1B5DB
_main = D1B626
_SELECTED = D1B651
_DICTIONARY = D1E36A
_rowPtr = D052C6
_colPtr = D052C7
_answer = D052C8
_guess = D052CE
L_.str = D254D3
_YOU_WIN = D254A4
L_.str.1 = D254DC
_YOU_LOSE = D254A7
L_.str.2 = D254E6
_PLAY_AGAIN = D254AA
L_.str.3 = D25502
_reveal = D254AD
_gameRunning = D254B0
L_.str = D254B4
_YOU_WIN = D25485
L_.str.1 = D254BD
_YOU_LOSE = D25488
L_.str.2 = D254C7
_PLAY_AGAIN = D2548B
L_.str.3 = D254E3
_reveal = D2548E
_gameRunning = D25491
_prevkey = D052D4
_#gfx_Begin = D1A901
_#gfx_End = D1A905
Expand Down
Binary file removed img/IMG_4787.JPG
Binary file not shown.
124 changes: 34 additions & 90 deletions obj/src/main.c.src
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ _clearScreenSafe:
_drawGrid:
ld hl, -9
call __frameset
ld hl, -75
ld hl, 74
push hl
call _gfx_SetColor
ld de, 0
Expand Down Expand Up @@ -250,7 +250,7 @@ _clearSquare:
pop hl
pop hl
pop hl
ld hl, -75
ld hl, 74
push hl
call _gfx_SetColor
pop hl
Expand Down Expand Up @@ -311,7 +311,7 @@ _fillSquare:
pop hl
pop hl
pop hl
ld hl, -75
ld hl, 74
push hl
call _gfx_SetColor
pop hl
Expand All @@ -331,63 +331,48 @@ _fillSquare:
section .text,"ax",@progbits
public _dispLetter
_dispLetter:
ld hl, -8
ld hl, -4
call __frameset
ld a, (ix + 6)
ld iyh, a
ld b, (ix + 9)
ld d, (ix + 9)
ld h, (ix + 12)
ld c, 37
ld iyl, 1
ld e, c
ld d, b
mlt de
ld a, e
ld e, 37
ld c, e
ld b, d
mlt bc
ld a, c
add a, 68
ld e, a
ld l, c
ld (ix - 3), a
ld l, e
mlt hl
ld a, l
add a, 10
ex de, hl
ld e, iyh
ex de, hl
ld (ix - 2), l
ld (ix - 4), a
ld a, (ix + 6)
add a, -32
ld (ix - 2), a
ld (ix - 1), 0
or a, a
sbc hl, hl
ld (ix - 5), hl
ld l, e
ld (ix - 8), hl
ld c, iyl
call __ishru
ld.sis de, 3
add.sis hl, de
ld de, (ix - 5)
ld e, a
ld (ix - 5), de
srl a
add a, 2
ld e, a
push de
ld hl, 3
push hl
pea ix - 2
call _os_FontDrawText
pop hl
pop hl
pop hl
ld hl, -75
push hl
call _gfx_SetColor
call _gfx_SetTextScale
pop hl
ld hl, 35
push hl
push hl
ld hl, (ix - 5)
pop hl
or a, a
sbc hl, hl
push hl
ld hl, (ix - 8)
pop iy
push af
ld a, (ix - 3)
ld iyl, a
pop af
ld de, 7
add iy, de
ld l, (ix - 4)
add hl, de
push hl
call _gfx_Rectangle
push iy
pea ix - 2
call _gfx_PrintStringXY
ld sp, ix
pop ix
ret
Expand Down Expand Up @@ -1537,7 +1522,7 @@ BB18_15:
BB18_18:
ld a, (_rowPtr)
ld l, a
ld de, 74
ld de, -75
push de
push hl
ld hl, (ix - 29)
Expand Down Expand Up @@ -9815,46 +9800,6 @@ _START_X:
_START_Y:
dw 10

section .rodata,"a",@progbits
public _LIGHT_GRAY
_LIGHT_GRAY:
db 222

section .rodata,"a",@progbits
public _GRAY
_GRAY:
db 181

section .rodata,"a",@progbits
public _DARK_GRAY
_DARK_GRAY:
db 74

section .rodata,"a",@progbits
public _RED
_RED:
db 224

section .rodata,"a",@progbits
public _YELLOW
_YELLOW:
db 229

section .rodata,"a",@progbits
public _GREEN
_GREEN:
db 4

section .rodata,"a",@progbits
public _BLACK
_BLACK:
db 0

section .rodata,"a",@progbits
public _WHITE
_WHITE:
db 255

section .bss,"aw",@nobits
public _rowPtr
_rowPtr:
Expand Down Expand Up @@ -9946,7 +9891,6 @@ _prevkey:
extern __imulu
extern _gfx_SetColor
extern _gfx_Rectangle
extern _os_FontDrawText
extern _gfx_PrintStringXY
extern _gfx_End
extern __frameset0
Expand Down
45 changes: 17 additions & 28 deletions src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
*----------------------------------------
*/

//! letters will be lowercase
// TODO: switch letter handling from os to graphx
//! letters will be lowercase internally
// TODO: update rectangle drawing to no clip

#include <graphx.h>
#include <keypadc.h>
Expand All @@ -31,14 +31,14 @@ const u16 START_X = (LCD_WIDTH - COLS * SIZE - GAP * (COLS - 1)) / 2;
const u16 START_Y = (LCD_HEIGHT - ROWS * SIZE - GAP * (ROWS - 1)) / 2;

// color codes
const color LIGHT_GRAY = 0xde; // kinda looks blue im no artist
const color GRAY = 0xb5;
const color DARK_GRAY = 0x4a;
const color RED = 0xe0;
const color YELLOW = 0xe5;
const color GREEN = 0x04;
const color BLACK = 0x00;
const color WHITE = 0xff;
#define LIGHT_GRAY 0xde // kinda looks blue im no artist
#define GRAY 0xb5
#define DARK_GRAY 0x4a
#define RED 0xe0
#define YELLOW 0xe5
#define GREEN 0x04
#define BLACK 0x00
#define WHITE 0xff

// grid & wordle variables
u8 rowPtr = 0, colPtr = 0;
Expand Down Expand Up @@ -94,7 +94,7 @@ void clearScreenSafe(color clr) {
gfx_FillRectangle(0, 0, LCD_WIDTH, LCD_HEIGHT);
}
void drawGrid() {
gfx_SetColor(GRAY);
gfx_SetColor(DARK_GRAY);

// for some reason x is across and y is down
// opposite to how 2d arrays are usually done
Expand All @@ -109,25 +109,22 @@ void clearSquare(u8 x, u8 y) {
u8 posx = START_X + x * (SIZE + GAP), posy = START_Y + y * (SIZE + GAP);
gfx_SetColor(WHITE);
gfx_FillRectangle(posx, posy, SIZE, SIZE);
gfx_SetColor(GRAY);
gfx_SetColor(DARK_GRAY);
gfx_Rectangle(posx, posy, SIZE, SIZE);
}
void fillSquare(u8 x, u8 y, color clr) {
u8 posx = START_X + x * (SIZE + GAP), posy = START_Y + y * (SIZE + GAP);
gfx_SetColor(clr);
gfx_FillRectangle(posx, posy, SIZE, SIZE);
gfx_SetColor(GRAY);
gfx_SetColor(DARK_GRAY);
gfx_Rectangle(posx, posy, SIZE, SIZE);
}
void dispLetter(char letter, u8 x, u8 y) {
u8 posx = START_X + x * (SIZE + GAP), posy = START_Y + y * (SIZE + GAP);

char nullTerminated[2] = {letter, '\0'};
os_FontDrawText(nullTerminated, (posx) / 2 + 3, (posy) / 2 + 2);

// cover edges with rectangle
gfx_SetColor(GRAY);
gfx_Rectangle(posx, posy, SIZE, SIZE);
char nullTerminated[2] = {letter - 'a' + 'A', '\0'};
gfx_SetTextScale(3, 3);
gfx_PrintStringXY(nullTerminated, posx + 7, posy + 7);
}
void winLossDisplay(u8 pos) {
// pos: 0 is top, 1 is bottom
Expand Down Expand Up @@ -261,14 +258,6 @@ void resetGame() {
drawGrid();
copyStr(answer, SELECTED[randInt(0, SELECTED_LEN - 1)]);
rowPtr = colPtr = 0;
#ifdef DEBUG
char nT[6];
for (u8 i = 0; i < COLS; i++) {
nT[i] = answer[i];
}
nT[COLS] = '\0';
os_FontDrawText(nT, 0, 0);
#endif
}
void gameWin() {
u8 pos = (rowPtr >= ROWS / 2);
Expand Down Expand Up @@ -344,7 +333,7 @@ void evaluateGuess() {
ansFreq[guess[i] - 'a']--;
fillSquare(i, rowPtr, YELLOW);
} else {
fillSquare(i, rowPtr, DARK_GRAY);
fillSquare(i, rowPtr, GRAY);
}
dispLetter(guess[i], i, rowPtr);
}
Expand Down

0 comments on commit bd6972b

Please sign in to comment.