gbrg/.git
3 months agoui: Added objputs
Lukas Krickl [Sat, 29 Mar 2025 17:57:35 +0000 (18:57 +0100)]
ui: Added objputs

This routine allows printing using objects rather than bg tiles.

3 months agoui: Added basic ui state change
Lukas Krickl [Sat, 29 Mar 2025 15:57:43 +0000 (16:57 +0100)]
ui: Added basic ui state change

3 months agocells: Updated cell struct
Lukas Krickl [Sat, 29 Mar 2025 10:51:42 +0000 (11:51 +0100)]
cells: Updated cell struct

Added more notes for how cells operate

3 months agoupdated raod grass and water tiles
Lukas Krickl [Sat, 29 Mar 2025 06:37:57 +0000 (07:37 +0100)]
updated raod grass and water tiles

3 months agoupdate: Removed update table
Lukas Krickl [Sat, 29 Mar 2025 06:27:26 +0000 (07:27 +0100)]
update: Removed update table

3 months agoui: added stub for UI state
Lukas Krickl [Sat, 29 Mar 2025 05:22:26 +0000 (06:22 +0100)]
ui: added stub for UI state

3 months agomap: reduced cell memory size
Lukas Krickl [Fri, 28 Mar 2025 17:20:03 +0000 (18:20 +0100)]
map: reduced cell memory size

3 months agogame_state: game state updates now use the same state machine as actors
Lukas Krickl [Fri, 28 Mar 2025 13:28:39 +0000 (14:28 +0100)]
game_state: game state updates now use the same state machine as actors

3 months agostate: Added proper state machine based cursor movement
Lukas Krickl [Thu, 27 Mar 2025 19:56:04 +0000 (20:56 +0100)]
state: Added proper state machine based cursor movement

3 months agocursor: cursor movement is now handeled by the state system
Lukas Krickl [Thu, 27 Mar 2025 16:59:28 +0000 (17:59 +0100)]
cursor: cursor movement is now handeled by the state system

3 months agowip: state update routine
Lukas Krickl [Thu, 27 Mar 2025 12:59:23 +0000 (13:59 +0100)]
wip: state update routine

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

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

3 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

3 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.

3 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

3 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

3 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

3 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

3 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

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

3 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.

3 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.

3 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

3 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

3 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

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

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

3 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

3 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

3 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

3 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

3 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

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

3 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.

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

3 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

3 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.

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

3 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

3 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

3 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

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

3 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

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

3 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

3 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

3 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.

3 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

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

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

4 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.

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

4 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.

4 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

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

4 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.

4 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.

4 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

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

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

4 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

4 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

4 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.

4 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

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

4 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

4 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

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

4 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.

4 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

4 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

4 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

4 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

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

5 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.

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

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

5 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

5 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

5 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

5 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

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

5 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

5 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

5 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

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

5 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.

5 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

5 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.

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

5 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

5 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.

5 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

5 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

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

5 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

5 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

5 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

5 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