gbrg/.git
10 months agowip: state machine for cursor
Lukas Krickl [Thu, 27 Mar 2025 11:56:04 +0000 (12:56 +0100)]
wip: state machine for cursor

10 months agoAdded note about state handling
Lukas Krickl [Thu, 27 Mar 2025 10:53:38 +0000 (11:53 +0100)]
Added note about state handling

10 months agostate machine: working on a simple state machine
Lukas Krickl [Thu, 27 Mar 2025 10:45:39 +0000 (11:45 +0100)]
state machine: working on a simple state machine

This can be used for simple cursor actions

10 months agocursor: the cursor can no longer wrap
Lukas Krickl [Thu, 27 Mar 2025 10:16:09 +0000 (11:16 +0100)]
cursor: the cursor can no longer wrap

Scroll also stops when getting to the edge.

10 months agocursor: preventing camera from scrolling out of bounds in top/left
Lukas Krickl [Wed, 26 Mar 2025 17:21:21 +0000 (18:21 +0100)]
cursor: preventing camera from scrolling out of bounds in top/left
direction

10 months agoworking on canceling scrolls when camera cannot move
Lukas Krickl [Wed, 26 Mar 2025 16:48:05 +0000 (17:48 +0100)]
working on canceling scrolls when camera cannot move

10 months agoWIP: working on aborting moves when they would wrap map
Lukas Krickl [Sat, 22 Mar 2025 17:36:30 +0000 (18:36 +0100)]
WIP: working on aborting moves when they would wrap map

10 months agotiles: re-arranged tiles and fixed map
Lukas Krickl [Fri, 21 Mar 2025 19:20:26 +0000 (20:20 +0100)]
tiles: re-arranged tiles and fixed map

10 months agotiles: reworked tile loader to use better bank names
Lukas Krickl [Fri, 21 Mar 2025 18:56:30 +0000 (19:56 +0100)]
tiles: reworked tile loader to use better bank names

10 months agovideo: Added bg tileset cycles
Lukas Krickl [Fri, 21 Mar 2025 17:34:55 +0000 (18:34 +0100)]
video: Added bg tileset cycles

10 months agoscroll: scroll updates are now correctly performed right after moving
Lukas Krickl [Fri, 21 Mar 2025 17:19:19 +0000 (18:19 +0100)]
scroll: scroll updates are now correctly performed right after moving

This prevents the cursor from being displayed incorrectly for a single
frame causing a flash.

10 months agocursor: working on making cursor movement better
Lukas Krickl [Thu, 20 Mar 2025 18:51:28 +0000 (19:51 +0100)]
cursor: working on making cursor movement better

Mostly trying to improvie cursor sprite positoning when scrolling.

10 months agoplayer: Removed cursor abort again for now
Lukas Krickl [Thu, 20 Mar 2025 18:32:42 +0000 (19:32 +0100)]
player: Removed cursor abort again for now

10 months agoMerge pull request 'Scope change' (#5) from scope-change into master
unlink2 [Thu, 20 Mar 2025 18:26:31 +0000 (18:26 +0000)]
Merge pull request 'Scope change' (#5) from scope-change into master

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

10 months agocursor: working on aborting cursor move and scroll when reaching the origin/scope-change
Lukas Krickl [Wed, 19 Mar 2025 21:48:27 +0000 (22:48 +0100)]
cursor: working on aborting cursor move and scroll when reaching the
edge of the map

10 months agoui: Added window
Lukas Krickl [Tue, 18 Mar 2025 20:15:42 +0000 (21:15 +0100)]
ui: Added window

10 months agoRemoved story.md
Lukas Krickl [Tue, 18 Mar 2025 19:32:58 +0000 (20:32 +0100)]
Removed story.md

10 months agotiles: added placeholder tiles for rci buildings
Lukas Krickl [Tue, 18 Mar 2025 17:37:02 +0000 (18:37 +0100)]
tiles: added placeholder tiles for rci buildings

10 months agovideo: Added delay to scroll
Lukas Krickl [Tue, 18 Mar 2025 16:29:25 +0000 (17:29 +0100)]
video: Added delay to scroll

also added a few tiles

10 months agocursor: moved cursor movement to macro
Lukas Krickl [Tue, 18 Mar 2025 16:11:43 +0000 (17:11 +0100)]
cursor: moved cursor movement to macro

10 months agoscroll: Added basic scrolling to map
Lukas Krickl [Mon, 17 Mar 2025 16:55:14 +0000 (17:55 +0100)]
scroll: Added basic scrolling to map

10 months agomap: changed map size to 32*24
Lukas Krickl [Mon, 17 Mar 2025 15:36:54 +0000 (16:36 +0100)]
map: changed map size to 32*24

10 months agomap: Added base map loader
Lukas Krickl [Mon, 17 Mar 2025 15:33:44 +0000 (16:33 +0100)]
map: Added base map loader

10 months agodefs: Tiles now have an offset to refer to a head tile
Lukas Krickl [Mon, 17 Mar 2025 04:22:12 +0000 (05:22 +0100)]
defs: Tiles now have an offset to refer to a head tile

This head tile is used to point to a tile that manages to overall state
of multi-tile structures.

10 months agoplayer: Added basic cursor movement
Lukas Krickl [Sun, 16 Mar 2025 20:55:10 +0000 (21:55 +0100)]
player: Added basic cursor movement

10 months agodefs: Added struct def for cells
Lukas Krickl [Sun, 16 Mar 2025 20:13:33 +0000 (21:13 +0100)]
defs: Added struct def for cells

10 months agoscope change: removed most gameplay code
Lukas Krickl [Sun, 16 Mar 2025 19:28:09 +0000 (20:28 +0100)]
scope change: removed most gameplay code

This will be a full-on rework of the engine.

10 months agoTODO: clarified tile update
Lukas Krickl [Sun, 16 Mar 2025 16:45:37 +0000 (17:45 +0100)]
TODO: clarified tile update

10 months agoScope change: Updated readme and TODO
Lukas Krickl [Sun, 16 Mar 2025 11:34:59 +0000 (12:34 +0100)]
Scope change: Updated readme and TODO

10 months agoMerge pull request 'bat-rework' (#4) from bat-rework into master
unlink2 [Sun, 16 Mar 2025 11:05:56 +0000 (11:05 +0000)]
Merge pull request 'bat-rework' (#4) from bat-rework into master

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

10 months agotiles: Added placeholder 'at' symbol origin/bat-rework
Lukas Krickl [Sat, 15 Mar 2025 04:43:42 +0000 (05:43 +0100)]
tiles: Added placeholder 'at' symbol

10 months agoAdded todo
Lukas Krickl [Thu, 13 Mar 2025 18:49:54 +0000 (19:49 +0100)]
Added todo

10 months agoactor: restored actor ability to collide with walls and doors
Lukas Krickl [Sun, 9 Mar 2025 11:38:07 +0000 (12:38 +0100)]
actor: restored actor ability to collide with walls and doors

10 months agoactor: Removed old animation code
Lukas Krickl [Sun, 9 Mar 2025 11:11:16 +0000 (12:11 +0100)]
actor: Removed old animation code

10 months agoTODO: reworded todo item for stats
Lukas Krickl [Fri, 7 Mar 2025 14:16:38 +0000 (15:16 +0100)]
TODO: reworded todo item for stats

10 months agoTODO: Added todo for new stats system
Lukas Krickl [Fri, 7 Mar 2025 14:06:22 +0000 (15:06 +0100)]
TODO: Added todo for new stats system

10 months agobat: bats now pick a random direction to walk in again
Lukas Krickl [Thu, 6 Mar 2025 20:10:37 +0000 (21:10 +0100)]
bat: bats now pick a random direction to walk in again

Bats can now move on their own again, but they do not perform collision
checks nor mark tiles as occupied yet.

10 months agoTODO: Added note about actor spawning
Lukas Krickl [Mon, 3 Mar 2025 06:30:35 +0000 (07:30 +0100)]
TODO: Added note about actor spawning

10 months agochore: Updated gitignore
Lukas Krickl [Sat, 1 Mar 2025 22:38:10 +0000 (23:38 +0100)]
chore: Updated gitignore

10 months agosymbols: Changed default symbol format
Lukas Krickl [Sat, 1 Mar 2025 18:31:27 +0000 (19:31 +0100)]
symbols: Changed default symbol format

10 months agoactor/player: Added basic cursor tile
Lukas Krickl [Thu, 27 Feb 2025 19:50:32 +0000 (20:50 +0100)]
actor/player: Added basic cursor tile

This tile indicate which actor is currently moving.

10 months agobase_room: re-generated room
Lukas Krickl [Thu, 27 Feb 2025 05:04:10 +0000 (06:04 +0100)]
base_room: re-generated room

10 months agomaps: Fixed bug that caused the mapgen script to palce actors wrongly.
Lukas Krickl [Wed, 26 Feb 2025 19:10:38 +0000 (20:10 +0100)]
maps: Fixed bug that caused the mapgen script to palce actors wrongly.

Actor position rounding was incorrect causing actors to be in the wrong
spot.

10 months agoBUGS: Added note about actor positions
Lukas Krickl [Wed, 26 Feb 2025 04:47:39 +0000 (05:47 +0100)]
BUGS: Added note about actor positions

11 months agoTODO: Added cursor note
Lukas Krickl [Mon, 24 Feb 2025 05:03:24 +0000 (06:03 +0100)]
TODO: Added cursor note

11 months agoactor: removed bat update code
Lukas Krickl [Sun, 23 Feb 2025 13:56:56 +0000 (14:56 +0100)]
actor: removed bat update code

This is now replaced with a never ending state machine update.

11 months agostate machine: every actor now has its own state machine memory area
Lukas Krickl [Sun, 23 Feb 2025 11:16:14 +0000 (12:16 +0100)]
state machine: every actor now has its own state machine memory area

Each actor gets 3 bytes. the sm load ptr macro now loads the correct
offset.
When a turn is ended the sm offset is advanced by sm_size. If the actor
table is reset to 0, sm offset is also reset.

11 months agoactor: Renamed player_go to actor_go states
Lukas Krickl [Sun, 23 Feb 2025 06:26:43 +0000 (07:26 +0100)]
actor: Renamed player_go to actor_go states

11 months agoactors rework: cleanup
Lukas Krickl [Fri, 21 Feb 2025 17:19:06 +0000 (18:19 +0100)]
actors rework: cleanup

11 months agosram: Fixed sram_rand allocation
Lukas Krickl [Tue, 18 Feb 2025 15:59:03 +0000 (16:59 +0100)]
sram: Fixed sram_rand allocation

11 months agorand: Replaced rand with a very basic feedback shift register
Lukas Krickl [Sat, 15 Feb 2025 14:17:18 +0000 (15:17 +0100)]
rand: Replaced rand with a very basic feedback shift register

This is by no means perfect but it is more random than what was here
before

11 months agoMerge pull request 'state: Removed old player input handling - replaced with new...
unlink2 [Sat, 15 Feb 2025 08:40:44 +0000 (08:40 +0000)]
Merge pull request 'state: Removed old player input handling - replaced with new state machine' (#3) from state-machine-movement into master

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

11 months agorand: srand is now stored in sram origin/state-machine-movement
Lukas Krickl [Sat, 15 Feb 2025 05:49:04 +0000 (06:49 +0100)]
rand: srand is now stored in sram

This makes it so srand is not always the same value on boot.

11 months agoTODO: Added extra note about combat
Lukas Krickl [Sat, 15 Feb 2025 04:37:22 +0000 (05:37 +0100)]
TODO: Added extra note about combat

11 months agoTODO: Added combat note
Lukas Krickl [Fri, 14 Feb 2025 16:59:18 +0000 (17:59 +0100)]
TODO: Added combat note

11 months agostate: adding states for bat enemy
Lukas Krickl [Thu, 6 Feb 2025 15:56:53 +0000 (16:56 +0100)]
state: adding states for bat enemy

11 months agoanimation: made walk speed more easily adjustable
Lukas Krickl [Sun, 2 Feb 2025 09:58:41 +0000 (10:58 +0100)]
animation: made walk speed more easily adjustable

11 months agoTODO: Added notes about items
Lukas Krickl [Sun, 2 Feb 2025 06:55:51 +0000 (07:55 +0100)]
TODO: Added notes about items

11 months agostate: Removed old player input handling - replaced with new state
Lukas Krickl [Sun, 2 Feb 2025 05:30:32 +0000 (06:30 +0100)]
state: Removed old player input handling - replaced with new state
machine

The new implmenetation is a more modular approach to handling actor
states.
It works by swapping a simple state parameter out and calling
functions from a table.
The table to call is still left up to the actors.

11 months agostate: Added docs for state machine call params
Lukas Krickl [Sat, 1 Feb 2025 13:43:16 +0000 (14:43 +0100)]
state: Added docs for state machine call params

11 months agostate: Added first call to state machine in player
Lukas Krickl [Sat, 1 Feb 2025 12:28:37 +0000 (13:28 +0100)]
state: Added first call to state machine in player

11 months agostate: Added state machine stub for future acotr/player updates
Lukas Krickl [Sat, 1 Feb 2025 12:07:30 +0000 (13:07 +0100)]
state: Added state machine stub for future acotr/player updates

11 months agoanim: Documented use of animation calls
Lukas Krickl [Sat, 1 Feb 2025 06:34:51 +0000 (07:34 +0100)]
anim: Documented use of animation calls

11 months agoanimation: Added animation ptr handling
Lukas Krickl [Fri, 31 Jan 2025 04:36:51 +0000 (05:36 +0100)]
animation: Added animation ptr handling

11 months agoanimation: Removed animation setup
Lukas Krickl [Thu, 30 Jan 2025 04:37:45 +0000 (05:37 +0100)]
animation: Removed animation setup

The first re-write will be replaced with a simpler approach.

11 months agoTODO: Added note about animations
Lukas Krickl [Wed, 29 Jan 2025 18:58:49 +0000 (19:58 +0100)]
TODO: Added note about animations

11 months agoTODO: Added notes about combat
Lukas Krickl [Wed, 29 Jan 2025 17:59:37 +0000 (18:59 +0100)]
TODO: Added notes about combat

11 months agoplayer: moved collision check to subroutine
Lukas Krickl [Mon, 27 Jan 2025 13:32:24 +0000 (14:32 +0100)]
player: moved collision check to subroutine

11 months agoanim: added static animation step variable
Lukas Krickl [Mon, 27 Jan 2025 12:31:16 +0000 (13:31 +0100)]
anim: added static animation step variable

11 months agoanim: Added setup for movement animation
Lukas Krickl [Mon, 27 Jan 2025 09:25:36 +0000 (10:25 +0100)]
anim: Added setup for movement animation

11 months agowarm: made player pointer compatible with code expecting actors
Lukas Krickl [Mon, 27 Jan 2025 04:23:41 +0000 (05:23 +0100)]
warm: made player pointer compatible with code expecting actors

11 months agocollision: Removed dead code
Lukas Krickl [Sun, 26 Jan 2025 18:43:51 +0000 (19:43 +0100)]
collision: Removed dead code

11 months agoanimation: reduced walk animation call to a single function instead of 4
Lukas Krickl [Sun, 26 Jan 2025 18:29:50 +0000 (19:29 +0100)]
animation: reduced walk animation call to a single function instead of 4

11 months agoanimation: removed ready flag
Lukas Krickl [Sun, 26 Jan 2025 18:14:06 +0000 (19:14 +0100)]
animation: removed ready flag

Instead if no animation is playing simply set the type to nop

11 months agoanimation: added basic setup for new animation system
Lukas Krickl [Sun, 26 Jan 2025 17:53:00 +0000 (18:53 +0100)]
animation: added basic setup for new animation system

11 months agoanim: Added struct for animations
Lukas Krickl [Sun, 26 Jan 2025 06:35:57 +0000 (07:35 +0100)]
anim: Added struct for animations

11 months agoanimation: Added basic animation update table
Lukas Krickl [Sun, 26 Jan 2025 05:46:28 +0000 (06:46 +0100)]
animation: Added basic animation update table

This will limit us to 127 animations but I think this will be
plenty for now. If there is every a point where the table
might run out we might need to introduce a new system.

11 months agoanimation: Added basic docs for animations
Lukas Krickl [Sun, 26 Jan 2025 05:17:07 +0000 (06:17 +0100)]
animation: Added basic docs for animations

11 months agoanimation: Added new animation file
Lukas Krickl [Sun, 26 Jan 2025 05:08:34 +0000 (06:08 +0100)]
animation: Added new animation file

This will replace the existing manual playback of animations
with a more general system.

11 months agoTODO: updated todo
Lukas Krickl [Sun, 26 Jan 2025 04:53:23 +0000 (05:53 +0100)]
TODO: updated todo

12 months agomap: Added docs for room traversal
Lukas Krickl [Sat, 25 Jan 2025 15:11:44 +0000 (16:11 +0100)]
map: Added docs for room traversal

12 months agomap: Added the ability to have branching paths in rooms
Lukas Krickl [Sat, 25 Jan 2025 10:55:03 +0000 (11:55 +0100)]
map: Added the ability to have branching paths in rooms

This is simply done by following door pointers when a direction with
an existing door is picked.

12 months agomap: Fixed de not being preserved when re-trying room door placement
Lukas Krickl [Sat, 25 Jan 2025 05:51:52 +0000 (06:51 +0100)]
map: Fixed de not being preserved when re-trying room door placement

12 months agomap: Added note about future dungeon generation
Lukas Krickl [Sat, 25 Jan 2025 05:17:56 +0000 (06:17 +0100)]
map: Added note about future dungeon generation

12 months agogitignore: Added .patch to gitignore
Lukas Krickl [Sun, 19 Jan 2025 16:23:57 +0000 (17:23 +0100)]
gitignore: Added .patch to gitignore

12 months agodefs: moved defs from wram.s to defs.s
Lukas Krickl [Sun, 19 Jan 2025 15:59:18 +0000 (16:59 +0100)]
defs: moved defs from wram.s to defs.s

12 months agomapram: Removed .section from mapram to avoid mlb generation being wrong
Lukas Krickl [Sun, 19 Jan 2025 09:47:47 +0000 (10:47 +0100)]
mapram: Removed .section from mapram to avoid mlb generation being wrong

12 months agodefs: Move .section to their proper locations
Lukas Krickl [Sun, 19 Jan 2025 07:05:20 +0000 (08:05 +0100)]
defs: Move .section to their proper locations

12 months agosections: Renamed sections to more style apropriate names
Lukas Krickl [Sun, 19 Jan 2025 06:34:57 +0000 (07:34 +0100)]
sections: Renamed sections to more style apropriate names

12 months agodefs: Added new def file for structs
Lukas Krickl [Sun, 19 Jan 2025 06:26:54 +0000 (07:26 +0100)]
defs: Added new def file for structs

TODO: move all structs to this file.

Added new .section keyword to places where it makes sense

12 months agoactor: moved rf flag setter to a macro
Lukas Krickl [Sat, 18 Jan 2025 05:58:24 +0000 (06:58 +0100)]
actor: moved rf flag setter to a macro

This allows it to also be used as a copy-paste for palyer flag purposes.

12 months agoactor: Added player version of rf flag update sub
Lukas Krickl [Fri, 17 Jan 2025 20:03:31 +0000 (21:03 +0100)]
actor: Added player version of rf flag update sub

12 months agoBUGS: Added bug note for anim_move
Lukas Krickl [Wed, 15 Jan 2025 17:03:16 +0000 (18:03 +0100)]
BUGS: Added bug note for anim_move

12 months agoactor: Fixed actors clearing their position whenever they move
Lukas Krickl [Wed, 15 Jan 2025 16:31:35 +0000 (17:31 +0100)]
actor: Fixed actors clearing their position whenever they move

12 months agoactor: added mask for tile postions
Lukas Krickl [Wed, 15 Jan 2025 04:48:43 +0000 (05:48 +0100)]
actor: added mask for tile postions

12 months agoactor: Fixed actor tile flagging
Lukas Krickl [Tue, 14 Jan 2025 20:42:57 +0000 (21:42 +0100)]
actor: Fixed actor tile flagging

Actors now flag the correct tile, but they will unflag during their next
turn. This means that collision is till broken, but less broken than
before :^)

The actors flagged the wrong tile due to a missing offset for the target
position.

12 months agomap: removed map_set and map_unset_flag
Lukas Krickl [Tue, 14 Jan 2025 05:07:50 +0000 (06:07 +0100)]
map: removed map_set and map_unset_flag

12 months agoactor: Added code for allowing actors to set RF_ACTOR
Lukas Krickl [Mon, 13 Jan 2025 08:36:44 +0000 (09:36 +0100)]
actor: Added code for allowing actors to set RF_ACTOR

This seems to still be a bit broken, but actors are now setting up their
room flags when they move.

12 months agoactor: wip code for setting RF_ACTOR flag
Lukas Krickl [Sun, 12 Jan 2025 17:54:56 +0000 (18:54 +0100)]
actor: wip code for setting RF_ACTOR flag

12 months agomap: Mapgen now loads the table entries correctly.
Lukas Krickl [Mon, 6 Jan 2025 07:14:10 +0000 (08:14 +0100)]
map: Mapgen now loads the table entries correctly.

Before this was rather broken and the fact that it did not crash was
just luck. It was not reading room pointers correctly nor was the room
max mask not masking correctly due to an off-by-one-error :^)