gbrg/.git
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

5 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

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

5 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

5 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

5 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

5 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

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

5 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

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

5 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

5 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 :^)

5 months agomap: mapgen now will not generate the same room twice in a row
Lukas Krickl [Mon, 6 Jan 2025 06:37:05 +0000 (07:37 +0100)]
map: mapgen now will not generate the same room twice in a row

This is simply done by calling rand again if the room is the same as the
previous room.

5 months agomap: Fixed f1 room table size calculation.
Lukas Krickl [Mon, 6 Jan 2025 06:28:06 +0000 (07:28 +0100)]
map: Fixed f1 room table size calculation.

This was an off-by-one error due to the placement of the start label
which included the table length itself.

5 months agomaps: Added 2 additional base maps
Lukas Krickl [Sat, 4 Jan 2025 10:31:42 +0000 (11:31 +0100)]
maps: Added 2 additional base maps

5 months agobase_room2/tileset1: Added new floor and block tiles
Lukas Krickl [Sat, 4 Jan 2025 06:44:35 +0000 (07:44 +0100)]
base_room2/tileset1: Added new floor and block tiles

5 months agowram: Added first flag for player
Lukas Krickl [Fri, 3 Jan 2025 18:43:01 +0000 (19:43 +0100)]
wram: Added first flag for player

5 months agomap: renamed base room table to f1 room table
Lukas Krickl [Fri, 3 Jan 2025 09:27:48 +0000 (10:27 +0100)]
map: renamed base room table to f1 room table

5 months agomap: Maps can now swap room tables based on the current floor
Lukas Krickl [Thu, 2 Jan 2025 21:50:21 +0000 (22:50 +0100)]
map: Maps can now swap room tables based on the current floor

5 months agotiles: Added placeholder door tiles
Lukas Krickl [Thu, 2 Jan 2025 21:40:43 +0000 (22:40 +0100)]
tiles: Added placeholder door tiles

5 months agomap: Added ability to re-roll exit if direction is already taken
Lukas Krickl [Thu, 2 Jan 2025 20:01:36 +0000 (21:01 +0100)]
map: Added ability to re-roll exit if direction is already taken

This is still lacking a fallback in case all 4 directions are taken.
This should not be possible right now anyway though.

Added .sav to girignore :^)

5 months agomake: Added maps/ to the include search path list
Lukas Krickl [Thu, 2 Jan 2025 18:57:34 +0000 (19:57 +0100)]
make: Added maps/ to the include search path list

5 months agomake: Removed verbose setting from build flags
Lukas Krickl [Thu, 2 Jan 2025 18:56:24 +0000 (19:56 +0100)]
make: Removed verbose setting from build flags

5 months agomap: Refactored actor table in base maps
Lukas Krickl [Thu, 2 Jan 2025 14:52:04 +0000 (15:52 +0100)]
map: Refactored actor table in base maps

Base maps now always include the entire actor table to make the copy
operatin easier and more clear.
This now allows us to save the actor table back.
The initial copy is now also easier :^)

5 months agomap: WIP actor table saving
Lukas Krickl [Thu, 2 Jan 2025 14:34:40 +0000 (15:34 +0100)]
map: WIP actor table saving

5 months agomap: Added randomness to room linking to make sure all linking cases
Lukas Krickl [Thu, 2 Jan 2025 14:15:31 +0000 (15:15 +0100)]
map: Added randomness to room linking to make sure all linking cases
work

5 months agomap: Rooms now dynamically add doors
Lukas Krickl [Thu, 2 Jan 2025 12:19:14 +0000 (13:19 +0100)]
map: Rooms now dynamically add doors

This is done by writing the flags and tiles when linking.
Also added a memcpy that will skip copying if the value is not zero.

5 months agomap: rooms are now generate in a basic recursive manner
Lukas Krickl [Wed, 1 Jan 2025 15:47:12 +0000 (16:47 +0100)]
map: rooms are now generate in a basic recursive manner

Rooms can generate until a pre-set max is reached
They alwys link north-south for now.

5 months agomap: room linking is now generic
Lukas Krickl [Wed, 1 Jan 2025 11:14:10 +0000 (12:14 +0100)]
map: room linking is now generic

5 months agomap: added rotuine to link two rooms to each other
Lukas Krickl [Wed, 1 Jan 2025 10:25:20 +0000 (11:25 +0100)]
map: added rotuine to link two rooms to each other

5 months agomap: Added reverse look-up-table for directions
Lukas Krickl [Wed, 1 Jan 2025 09:30:10 +0000 (10:30 +0100)]
map: Added reverse look-up-table for directions

5 months agomap: Removed clearing code for exits since they should be zeroed anyway
Lukas Krickl [Wed, 1 Jan 2025 09:20:30 +0000 (10:20 +0100)]
map: Removed clearing code for exits since they should be zeroed anyway

5 months agoLICENSE: Updated year to 2025
Lukas Krickl [Wed, 1 Jan 2025 04:20:49 +0000 (05:20 +0100)]
LICENSE: Updated year to 2025

5 months agopreproc: Added DEBUG guard around map load panic
Lukas Krickl [Tue, 31 Dec 2024 18:45:48 +0000 (19:45 +0100)]
preproc: Added DEBUG guard around map load panic

6 months agomap: Added proof of concept for linking rooms in ram
Lukas Krickl [Tue, 31 Dec 2024 16:19:21 +0000 (17:19 +0100)]
map: Added proof of concept for linking rooms in ram

6 months agomap: Added basic panic handler that is called when the map ptr is NULL
Lukas Krickl [Tue, 31 Dec 2024 15:35:49 +0000 (16:35 +0100)]
map: Added basic panic handler that is called when the map ptr is NULL

6 months agomap: Added base room copy routine
Lukas Krickl [Tue, 31 Dec 2024 10:51:42 +0000 (11:51 +0100)]
map: Added base room copy routine

6 months agoMoved stack to end of DXXX wram bank
Lukas Krickl [Tue, 31 Dec 2024 07:26:23 +0000 (08:26 +0100)]
Moved stack to end of DXXX wram bank

6 months agomap: maps now set the correct tile ptr for a newly generate map
Lukas Krickl [Tue, 31 Dec 2024 07:07:02 +0000 (08:07 +0100)]
map: maps now set the correct tile ptr for a newly generate map

6 months agomap: wip map copy
Lukas Krickl [Mon, 30 Dec 2024 18:38:55 +0000 (19:38 +0100)]
map: wip map copy

6 months agomap: Added basic structure and docs for mapgen
Lukas Krickl [Mon, 30 Dec 2024 14:16:29 +0000 (15:16 +0100)]
map: Added basic structure and docs for mapgen

This implementation is not yet functional, but the basic idea is taking
shape :^)

6 months agoAdded floor usae to map_gen docs
Lukas Krickl [Mon, 30 Dec 2024 07:28:04 +0000 (08:28 +0100)]
Added floor usae to map_gen docs

6 months agoAdded wram defs
Lukas Krickl [Mon, 30 Dec 2024 07:27:05 +0000 (08:27 +0100)]
Added wram defs

6 months agoRenamed room_struct to room_header
Lukas Krickl [Sun, 29 Dec 2024 10:41:31 +0000 (11:41 +0100)]
Renamed room_struct to room_header

6 months agoWIP: Added placeholders for map generator
Lukas Krickl [Sat, 28 Dec 2024 09:14:56 +0000 (10:14 +0100)]
WIP: Added placeholders for map generator

6 months agohram: Added hram section
Lukas Krickl [Sat, 28 Dec 2024 07:12:57 +0000 (08:12 +0100)]
hram: Added hram section

6 months agomap: Added map ram section
Lukas Krickl [Sat, 28 Dec 2024 07:10:59 +0000 (08:10 +0100)]
map: Added map ram section

The map ram section is used to store the current map.
This is a distinct section from the save ram. It should take up a 4KB
bank in WRAM (D000)