gbrg/.git
6 weeks agorectangle: point test now returns the byte after the rectangle
Lukas Krickl [Thu, 2 Oct 2025 03:27:21 +0000 (05:27 +0200)]
rectangle: point test now returns the byte after the rectangle

This may help needing to increment the pointers in the test loop.

6 weeks agorectangle collision: Removed redundant point comparisons
Lukas Krickl [Wed, 1 Oct 2025 20:18:42 +0000 (22:18 +0200)]
rectangle collision: Removed redundant point comparisons

6 weeks agorectangle: optimized collision test by removing calls and pushes and calculating...
Lukas Krickl [Wed, 1 Oct 2025 16:09:29 +0000 (18:09 +0200)]
rectangle: optimized collision test by removing calls and pushes and calculating the points more directly

6 weeks agorectangle: added temporary storage for hl while refactoring is ongoing
Lukas Krickl [Wed, 1 Oct 2025 15:53:57 +0000 (17:53 +0200)]
rectangle: added temporary storage for hl while refactoring is ongoing

6 weeks agorectangle: wip optimizing rectangle point test
Lukas Krickl [Wed, 1 Oct 2025 15:24:49 +0000 (17:24 +0200)]
rectangle: wip optimizing rectangle point test

6 weeks agoactor: wip optimizing performacne of collision code
Lukas Krickl [Tue, 30 Sep 2025 16:36:57 +0000 (18:36 +0200)]
actor: wip optimizing performacne of collision code

6 weeks agodefs: reduced max player projectiles and rectangles
Lukas Krickl [Tue, 30 Sep 2025 15:32:41 +0000 (17:32 +0200)]
defs: reduced max player projectiles and rectangles

6 weeks agoplayer: Shooting is now on a timer
Lukas Krickl [Mon, 29 Sep 2025 14:58:59 +0000 (16:58 +0200)]
player: Shooting is now on a timer

6 weeks agoenemy: Added test collision resolution for bullets
Lukas Krickl [Mon, 29 Sep 2025 11:08:35 +0000 (13:08 +0200)]
enemy: Added test collision resolution for bullets

6 weeks agoprojectile: Added collision check for projectiles
Lukas Krickl [Mon, 29 Sep 2025 09:24:31 +0000 (11:24 +0200)]
projectile: Added collision check for projectiles

6 weeks agoactors: actor table is now split into logical groups
Lukas Krickl [Mon, 29 Sep 2025 04:36:30 +0000 (06:36 +0200)]
actors: actor table is now split into logical groups

This allows making collision detection do less work

6 weeks agodefs: Reduced actor max to 16
Lukas Krickl [Sun, 28 Sep 2025 16:02:00 +0000 (18:02 +0200)]
defs: Reduced actor max to 16

6 weeks agoprojectile: Added stub for player performing an attack action
Lukas Krickl [Sun, 28 Sep 2025 04:18:36 +0000 (06:18 +0200)]
projectile: Added stub for player performing an attack action

6 weeks agoplayer: Added cap for right and bottom of screen when moving
Lukas Krickl [Fri, 26 Sep 2025 16:58:47 +0000 (18:58 +0200)]
player: Added cap for right and bottom of screen when moving

6 weeks agoplayer: the player now spans in the bottom center of the map
Lukas Krickl [Fri, 26 Sep 2025 16:15:50 +0000 (18:15 +0200)]
player: the player now spans in the bottom center of the map

6 weeks agoactor: made the default collider smaller
Lukas Krickl [Fri, 26 Sep 2025 16:13:21 +0000 (18:13 +0200)]
actor: made the default collider smaller

7 weeks agoactor: Added actor spawning map object
Lukas Krickl [Fri, 26 Sep 2025 15:33:25 +0000 (17:33 +0200)]
actor: Added actor spawning map object

7 weeks agomakefile: Added option to easily change symbol type
Lukas Krickl [Fri, 26 Sep 2025 09:47:52 +0000 (11:47 +0200)]
makefile: Added option to easily change symbol type

7 weeks agorectangle: made jumps relative
Lukas Krickl [Fri, 26 Sep 2025 08:16:56 +0000 (10:16 +0200)]
rectangle: made jumps relative

7 weeks agoactor: collision now uses pre-computed points for the source rectangle
Lukas Krickl [Fri, 26 Sep 2025 08:11:11 +0000 (10:11 +0200)]
actor: collision now uses pre-computed points for the source rectangle

7 weeks agoactor: added temporary pre-calculation for rectangle points
Lukas Krickl [Fri, 26 Sep 2025 06:48:28 +0000 (08:48 +0200)]
actor: added temporary pre-calculation for rectangle points

7 weeks agoplayer: wip weapon types
Lukas Krickl [Fri, 26 Sep 2025 05:13:35 +0000 (07:13 +0200)]
player: wip weapon types

7 weeks agoplayer: movement now happens on the same frame again
Lukas Krickl [Thu, 25 Sep 2025 09:10:20 +0000 (11:10 +0200)]
player: movement now happens on the same frame again

7 weeks agoactor: collision checks now only check points that matter when moving
Lukas Krickl [Thu, 25 Sep 2025 04:01:57 +0000 (06:01 +0200)]
actor: collision checks now only check points that matter when moving

7 weeks agoplayer: splut up/down and left/right direction into separate frames
Lukas Krickl [Wed, 24 Sep 2025 13:02:42 +0000 (15:02 +0200)]
player: splut up/down and left/right direction into separate frames

7 weeks agovideo: fixed oam flickering when frame is skipped
Lukas Krickl [Wed, 24 Sep 2025 09:20:14 +0000 (11:20 +0200)]
video: fixed oam flickering when frame is skipped

7 weeks agoactors: Added some more demo actors to test performance
Lukas Krickl [Wed, 24 Sep 2025 08:03:57 +0000 (10:03 +0200)]
actors: Added some more demo actors to test performance

7 weeks agoactor: Added actor -> actor collision
Lukas Krickl [Wed, 24 Sep 2025 07:50:15 +0000 (09:50 +0200)]
actor: Added actor -> actor collision

7 weeks agoplayer: Added underflow and overflow protection to movement
Lukas Krickl [Wed, 24 Sep 2025 04:33:33 +0000 (06:33 +0200)]
player: Added underflow and overflow protection to movement

7 weeks agorectangle: fixed collision breaking during scroll due to rectangle positions overflow...
Lukas Krickl [Wed, 24 Sep 2025 04:27:29 +0000 (06:27 +0200)]
rectangle: fixed collision breaking during scroll due to rectangle positions overflowing or underflowing

7 weeks agoplayer: scroll only happens if a move was made
Lukas Krickl [Wed, 24 Sep 2025 03:33:21 +0000 (05:33 +0200)]
player: scroll only happens if a move was made

7 weeks agovideo: scroll adjust timer now does not depend on scroll adjust step
Lukas Krickl [Tue, 23 Sep 2025 20:56:46 +0000 (22:56 +0200)]
video: scroll adjust timer now does not depend on scroll adjust step

7 weeks agoscroll adjust: made step configurable
Lukas Krickl [Tue, 23 Sep 2025 20:55:15 +0000 (22:55 +0200)]
scroll adjust: made step configurable

7 weeks agoplayer: Added sub-pixel movement
Lukas Krickl [Tue, 23 Sep 2025 20:47:34 +0000 (22:47 +0200)]
player: Added sub-pixel movement

7 weeks agoupdate: video adjust scroll now hapens in game update state instead of blank
Lukas Krickl [Tue, 23 Sep 2025 17:08:16 +0000 (19:08 +0200)]
update: video adjust scroll now hapens in game update state instead of blank

7 weeks agovideo: vblank now skips everything but inptus if update is still pending
Lukas Krickl [Tue, 23 Sep 2025 17:04:41 +0000 (19:04 +0200)]
video: vblank now skips everything but inptus if update is still pending

7 weeks agomapobj: map objects are not loaded as soon as the player scrolls instead of during...
Lukas Krickl [Tue, 23 Sep 2025 16:22:01 +0000 (18:22 +0200)]
mapobj: map objects are not loaded as soon as the player scrolls instead of during draw

7 weeks agorectangle collision: fixed rect to rect collision for actors
Lukas Krickl [Tue, 23 Sep 2025 15:55:55 +0000 (17:55 +0200)]
rectangle collision: fixed rect to rect collision for actors

7 weeks agodebug: Fixed debug rect draw
Lukas Krickl [Tue, 23 Sep 2025 03:54:19 +0000 (05:54 +0200)]
debug: Fixed debug rect draw

7 weeks agodebug: debug rectangle draw now uses the same point functions as collisions
Lukas Krickl [Tue, 23 Sep 2025 03:45:06 +0000 (05:45 +0200)]
debug: debug rectangle draw now uses the same point functions as collisions

This is still wip and kinda broken now

7 weeks agocollision: wip actor -> rectangle collision
Lukas Krickl [Mon, 22 Sep 2025 18:33:37 +0000 (20:33 +0200)]
collision: wip actor -> rectangle collision

7 weeks agoactors: test movement now loads tmp rect
Lukas Krickl [Mon, 22 Sep 2025 17:09:16 +0000 (19:09 +0200)]
actors: test movement now loads tmp rect

7 weeks agoactor: wip collision code
Lukas Krickl [Mon, 22 Sep 2025 15:34:06 +0000 (17:34 +0200)]
actor: wip collision code

7 weeks agocollision: wip player movement
Lukas Krickl [Mon, 22 Sep 2025 07:53:11 +0000 (09:53 +0200)]
collision: wip player movement

7 weeks agorectangle: Added routines to get each point in a rectangle
Lukas Krickl [Mon, 22 Sep 2025 03:43:32 +0000 (05:43 +0200)]
rectangle: Added routines to get each point in a rectangle

7 weeks agomap: Added second debug rectangle
Lukas Krickl [Sun, 21 Sep 2025 16:27:06 +0000 (18:27 +0200)]
map: Added second debug rectangle

7 weeks agodebug: Fixed x positons for right points in debug rectangle
Lukas Krickl [Sun, 21 Sep 2025 15:59:53 +0000 (17:59 +0200)]
debug: Fixed x positons for right points in debug rectangle

7 weeks agodebug: fixed top debug rectangle draw
Lukas Krickl [Sun, 21 Sep 2025 15:55:19 +0000 (17:55 +0200)]
debug: fixed top debug rectangle draw

7 weeks agoremoved maps
Lukas Krickl [Sun, 21 Sep 2025 15:49:08 +0000 (17:49 +0200)]
removed maps

7 weeks agodebug: wip rectangle debug renderer
Lukas Krickl [Sun, 21 Sep 2025 15:46:04 +0000 (17:46 +0200)]
debug: wip rectangle debug renderer

7 weeks agomaps: removed legacy maps and script
Lukas Krickl [Sun, 21 Sep 2025 15:08:53 +0000 (17:08 +0200)]
maps: removed legacy maps and script

7 weeks agomap: Added rectangle loader and adjustment for rectangle position when scrolling
Lukas Krickl [Sun, 21 Sep 2025 15:05:02 +0000 (17:05 +0200)]
map: Added rectangle loader and adjustment for rectangle position when scrolling

7 weeks agodebug: Added debug functin switcher
Lukas Krickl [Sun, 21 Sep 2025 10:03:10 +0000 (12:03 +0200)]
debug: Added debug functin switcher

7 weeks agodebug: Added jp to hl for debug routine
Lukas Krickl [Sun, 21 Sep 2025 06:34:22 +0000 (08:34 +0200)]
debug: Added jp to hl for debug routine

7 weeks agodebug: Added stub for debug functions
Lukas Krickl [Sun, 21 Sep 2025 06:32:27 +0000 (08:32 +0200)]
debug: Added stub for debug functions

7 weeks agodefs: removed y_hi from actors and rectangles
Lukas Krickl [Sun, 21 Sep 2025 04:39:09 +0000 (06:39 +0200)]
defs: removed y_hi from actors and rectangles

7 weeks agocollision: added basic stubs for collision rectangles
Lukas Krickl [Sun, 21 Sep 2025 04:27:57 +0000 (06:27 +0200)]
collision: added basic stubs for collision rectangles

7 weeks agomap: Added wall row pattern
Lukas Krickl [Sun, 21 Sep 2025 03:48:21 +0000 (05:48 +0200)]
map: Added wall row pattern

7 weeks agomap: Added disable scroll object
Lukas Krickl [Sat, 20 Sep 2025 18:03:20 +0000 (20:03 +0200)]
map: Added disable scroll object

7 weeks agovideo: Added despawn logic for actors going off-screen
Lukas Krickl [Sat, 20 Sep 2025 17:49:21 +0000 (19:49 +0200)]
video: Added despawn logic for actors going off-screen

7 weeks agoscroll: fixed scrolling triggering too frequently
Lukas Krickl [Sat, 20 Sep 2025 16:15:22 +0000 (18:15 +0200)]
scroll: fixed scrolling triggering too frequently

7 weeks agovideo: made scroll smooth
Lukas Krickl [Sat, 20 Sep 2025 16:01:20 +0000 (18:01 +0200)]
video: made scroll smooth

7 weeks agoactor: adjusting actors with scroll
Lukas Krickl [Sat, 20 Sep 2025 15:01:19 +0000 (17:01 +0200)]
actor: adjusting actors with scroll

Fixed map row draw not wrapping when reaching end of scrn0

7 weeks agomap: wip map scrolling
Lukas Krickl [Sat, 20 Sep 2025 11:40:45 +0000 (13:40 +0200)]
map: wip map scrolling

7 weeks agomapobj: Added basic mapobject handling.
Lukas Krickl [Sat, 20 Sep 2025 11:13:11 +0000 (13:13 +0200)]
mapobj: Added basic mapobject handling.

Map objects get loaded as new map rows are drawn.

7 weeks agochore: Added rectangel defs
Lukas Krickl [Sat, 20 Sep 2025 07:37:21 +0000 (09:37 +0200)]
chore: Added rectangel defs

7 weeks agoplayer: Added basic movement
Lukas Krickl [Sat, 20 Sep 2025 07:10:16 +0000 (09:10 +0200)]
player: Added basic movement

7 weeks agoenemy: added demo actor draw
Lukas Krickl [Sat, 20 Sep 2025 06:07:10 +0000 (08:07 +0200)]
enemy: added demo actor draw

7 weeks agoMerge pull request 'position rework and movement rework' (#6) from movement-rework...
unlink2 [Sat, 20 Sep 2025 05:14:24 +0000 (07:14 +0200)]
Merge pull request 'position rework and movement rework' (#6) from movement-rework into master

Reviewed-on: https://codeberg.org/unlink2/gbrg/pulls/6

7 weeks agoactor: wip 16 bit positions origin/movement-rework
Lukas Krickl [Sat, 20 Sep 2025 04:22:11 +0000 (06:22 +0200)]
actor: wip 16 bit positions

7 weeks agoactor: Added generic actor draw function
Lukas Krickl [Fri, 19 Sep 2025 16:27:17 +0000 (18:27 +0200)]
actor: Added generic actor draw function

8 weeks agoactor: wip actor drawing
Lukas Krickl [Fri, 19 Sep 2025 15:45:07 +0000 (17:45 +0200)]
actor: wip actor drawing

8 weeks agomap: Added initial pattern page draw
Lukas Krickl [Fri, 19 Sep 2025 14:52:03 +0000 (16:52 +0200)]
map: Added initial pattern page draw

8 weeks agomap: Added def macros for various structs
Lukas Krickl [Fri, 19 Sep 2025 12:32:36 +0000 (14:32 +0200)]
map: Added def macros for various structs

8 weeks agomap: Re-added tile bank loader
Lukas Krickl [Fri, 19 Sep 2025 09:23:24 +0000 (11:23 +0200)]
map: Re-added tile bank loader

8 weeks agodefs: wip rowpatterns
Lukas Krickl [Fri, 19 Sep 2025 08:48:34 +0000 (10:48 +0200)]
defs: wip rowpatterns

8 weeks agoremoved most test maps
Lukas Krickl [Fri, 19 Sep 2025 07:58:35 +0000 (09:58 +0200)]
removed most test maps

8 weeks agorework: Removed existing map setup and actor code
Lukas Krickl [Fri, 19 Sep 2025 07:32:56 +0000 (09:32 +0200)]
rework: Removed existing map setup and actor code

8 weeks agoupdated todo
Lukas Krickl [Fri, 19 Sep 2025 06:40:50 +0000 (08:40 +0200)]
updated todo

8 weeks agoTODO: Added todo for mapobjects
Lukas Krickl [Fri, 19 Sep 2025 06:25:02 +0000 (08:25 +0200)]
TODO: Added todo for mapobjects

8 weeks agoadded more todos
Lukas Krickl [Fri, 19 Sep 2025 05:14:40 +0000 (07:14 +0200)]
added more todos

8 weeks agoTODO: Added note
Lukas Krickl [Fri, 19 Sep 2025 05:12:20 +0000 (07:12 +0200)]
TODO: Added note

8 weeks agomovement: Fixed tile collision checks and exits
Lukas Krickl [Fri, 19 Sep 2025 05:00:04 +0000 (07:00 +0200)]
movement: Fixed tile collision checks and exits

8 weeks agoposition rework: positions are now absolute pixels
Lukas Krickl [Fri, 19 Sep 2025 03:50:31 +0000 (05:50 +0200)]
position rework: positions are now absolute pixels

This of course broke various components

8 weeks agoadded more todos
Lukas Krickl [Thu, 18 Sep 2025 17:09:11 +0000 (19:09 +0200)]
added more todos

8 weeks agoTODO: Added todo note
Lukas Krickl [Thu, 18 Sep 2025 03:33:57 +0000 (05:33 +0200)]
TODO: Added todo note

8 weeks agoremoved BREAK
Lukas Krickl [Tue, 16 Sep 2025 10:07:48 +0000 (12:07 +0200)]
removed BREAK

8 weeks agomapgen: fixed hl being corruped when setting actor positions.
Lukas Krickl [Tue, 16 Sep 2025 10:07:09 +0000 (12:07 +0200)]
mapgen: fixed hl being corruped when setting actor positions.

8 weeks agomapgen: disabled act sg during initial map load
Lukas Krickl [Tue, 16 Sep 2025 09:53:56 +0000 (11:53 +0200)]
mapgen: disabled act sg during initial map load

8 weeks agomapgen: fixed typo
Lukas Krickl [Tue, 16 Sep 2025 07:05:25 +0000 (09:05 +0200)]
mapgen: fixed typo

8 weeks agoaudio: Added simple attack noise
Lukas Krickl [Mon, 15 Sep 2025 20:06:28 +0000 (22:06 +0200)]
audio: Added simple attack noise

8 weeks agoaudio: Added walk and door open sound
Lukas Krickl [Mon, 15 Sep 2025 19:12:58 +0000 (21:12 +0200)]
audio: Added walk and door open sound

8 weeks agoutil: Added strz macro
Lukas Krickl [Mon, 15 Sep 2025 03:36:18 +0000 (05:36 +0200)]
util: Added strz macro

2 months agodebug: Added jump to debug routines
Lukas Krickl [Sun, 14 Sep 2025 16:58:46 +0000 (18:58 +0200)]
debug: Added jump to debug routines

2 months agodebug: made debug menu interactive
Lukas Krickl [Sun, 14 Sep 2025 15:59:11 +0000 (17:59 +0200)]
debug: made debug menu interactive

2 months agodebug: Added stub for debug menu
Lukas Krickl [Sun, 14 Sep 2025 10:34:57 +0000 (12:34 +0200)]
debug: Added stub for debug menu

2 months agoanimation: fixed timer sometimes skipping the end frame
Lukas Krickl [Sun, 14 Sep 2025 05:21:56 +0000 (07:21 +0200)]
animation: fixed timer sometimes skipping the end frame

This fix simply replaced the equality check with a greater than check.

2 months agoanimations: Added new attack animations to all unit types
Lukas Krickl [Sun, 14 Sep 2025 03:40:57 +0000 (05:40 +0200)]
animations: Added new attack animations to all unit types

Currently there seems to be an issue where the animations play longer than the timer.

2 months agoanimations: Added animation loading based on tables
Lukas Krickl [Sat, 13 Sep 2025 05:03:29 +0000 (07:03 +0200)]
animations: Added animation loading based on tables

This replaced the old hard-coded animations for attacks.

2 months agoanimations: Added stub for animation switching
Lukas Krickl [Sat, 13 Sep 2025 03:52:30 +0000 (05:52 +0200)]
animations: Added stub for animation switching