Posted November 28, 2023 by KanedaFr
#lynx
Today is the real start.
After SpritesMind logo screen yesterday, I added a blank title screen and the main game screen.
With this game, I planned to play with the strech/tilt/.... capacities of sprite which I didn't understand for Hungry Monsters.
I made a big mistake at first because I used
SCB_REHVS floor_right = { BPP_4 | TYPE_NONCOLL, REHV | REUSEPAL, 0x01, &D_small_side_left, A_wall, 80 , 102-2*96/3, SCALE_x1, 0x00AB, 0x0024 };
You don't see it ?
Well I thought the right structure was enough but in fact, you also need to be sure sprctrl1 (2nd item) is in sync.
So here I had to change REHV to REHVS
so, the same thing but fixed
SCB_REHVS floor_right = { BPP_4 | TYPE_NONCOLL, REHVS | REUSEPAL, 0x01, &D_small_side_left, A_wall, 80 , 102-2*96/3, SCALE_x1, 0x00AB, 0x0024 };
Note : the TYPE_xx is probably wrong, it's not (yet) clear enought for me the difference between TYPE_NONCOLL, TYPE_NORMAL, TYPE_BACKGROUND. I read and re read tutorial about it but it's still not clear :(
The way Lynx draws sprites using linked list is perfect to achieve the painter algorithm, needed to draw a 3D Dungeon
I first tried to draw my dungeon using this order but it wasn't good enough.
So I drew it this way :
- floor (with stretch!!)
- level D vertical wall (2 walls + 2 flippped walls)
- level C horizontal wall (3 walls)
- level C vertical wall (2 walls + 2 flippped walls)
- level B horizontal wall (3 walls)
- level B vertical wall (1 wall + 1 flippped wall)
- level A horizontal wall (3 walls)
- level A vertical wall (1 wall + 1 flippped wall)
or
with 0 = floor
and it works !!!
At last, after all these years, I draw a 3D dungeon on a video game system !!!
While the painter algorithm is working, I hadn't enough time left to add controls to move inside the maze and to update dummy assets by the required ones : I can't wait for day 3 !