gbrg/.git
11 days agowram: Removed unused status text buffer
Lukas Krickl [Thu, 4 Sep 2025 07:19:22 +0000 (09:19 +0200)]
wram: Removed unused status text buffer

12 days agoreworked arrow tiles
Lukas Krickl [Tue, 2 Sep 2025 15:49:33 +0000 (17:49 +0200)]
reworked arrow tiles

13 days agoupdated font
Lukas Krickl [Tue, 2 Sep 2025 03:52:02 +0000 (05:52 +0200)]
updated font

2 weeks agounit: Fixed a crash when exiting the select menu
Lukas Krickl [Mon, 1 Sep 2025 03:04:17 +0000 (05:04 +0200)]
unit: Fixed a crash when exiting the select menu

This crash was caused by the player state being set incorrectly.

2 weeks agoaction_menu: The initial draw now correctly takes the table lenth into account
Lukas Krickl [Sun, 31 Aug 2025 15:16:30 +0000 (17:16 +0200)]
action_menu: The initial draw now correctly takes the table lenth into account

2 weeks agoselect menu: the menu now renders an arrow to indicate available options
Lukas Krickl [Sun, 31 Aug 2025 15:15:10 +0000 (17:15 +0200)]
select menu: the menu now renders an arrow to indicate available options

2 weeks agoaction menu: it is now possible to select an action
Lukas Krickl [Sun, 31 Aug 2025 06:53:31 +0000 (08:53 +0200)]
action menu: it is now possible to select an action

The player then gets forced into the action state upon confirmation

2 weeks agoselect menu: The menu can now scroll quickly
Lukas Krickl [Sun, 31 Aug 2025 05:38:52 +0000 (07:38 +0200)]
select menu: The menu can now scroll quickly

2 weeks agoaction_menu: Added basic text menu
Lukas Krickl [Sun, 31 Aug 2025 04:40:18 +0000 (06:40 +0200)]
action_menu: Added basic text menu

2 weeks agoaction menu: Added initial text drawing
Lukas Krickl [Sat, 30 Aug 2025 18:02:20 +0000 (20:02 +0200)]
action menu: Added initial text drawing

2 weeks agoaction menu: Added stubs for text drawing
Lukas Krickl [Sat, 30 Aug 2025 16:10:19 +0000 (18:10 +0200)]
action menu: Added stubs for text drawing

2 weeks agoselect menu: added stub for select menu
Lukas Krickl [Sat, 30 Aug 2025 06:44:45 +0000 (08:44 +0200)]
select menu: added stub for select menu

2 weeks agounit_cpu: Added left and right attacks
Lukas Krickl [Sat, 30 Aug 2025 04:26:15 +0000 (06:26 +0200)]
unit_cpu: Added left and right attacks

2 weeks agoattack: replaced binary flag for ongoing attacks with a counter
Lukas Krickl [Sat, 30 Aug 2025 03:27:13 +0000 (05:27 +0200)]
attack: replaced binary flag for ongoing attacks with a counter

2 weeks agounit: dealy to active now automatically sets player turn done when the player is...
Lukas Krickl [Thu, 28 Aug 2025 07:59:50 +0000 (09:59 +0200)]
unit: dealy to active now automatically sets player turn done when the player is delaying

2 weeks agomapgen: Fixed crash caused by relative address absolute jump
Lukas Krickl [Thu, 28 Aug 2025 04:17:10 +0000 (06:17 +0200)]
mapgen: Fixed crash caused by relative address absolute jump

I have no idea how this did not crash every time.

2 weeks agoBUGS: Added note about file select crash
Lukas Krickl [Wed, 27 Aug 2025 16:40:34 +0000 (18:40 +0200)]
BUGS: Added note about file select crash

2 weeks agoattack: Added player UI redraw to attack
Lukas Krickl [Wed, 27 Aug 2025 16:31:57 +0000 (18:31 +0200)]
attack: Added player UI redraw to attack

2 weeks agoaction: delay to active after attack now uses template
Lukas Krickl [Wed, 27 Aug 2025 16:06:13 +0000 (18:06 +0200)]
action: delay to active after attack now uses template

2 weeks agounit: if delay to active waits for the attack to finish it now reruns delay to active...
Lukas Krickl [Wed, 27 Aug 2025 16:04:37 +0000 (18:04 +0200)]
unit: if delay to active waits for the attack to finish it now reruns delay to active fast

2 weeks agounit: Added a simple delay flag for when an attack is ongoing
Lukas Krickl [Wed, 27 Aug 2025 15:49:24 +0000 (17:49 +0200)]
unit: Added a simple delay flag for when an attack is ongoing

2 weeks agoattack: reduced attack animation to 1 frame for now
Lukas Krickl [Wed, 27 Aug 2025 15:37:46 +0000 (17:37 +0200)]
attack: reduced attack animation to 1 frame for now

hp UI is not redrawing but hits are registered

2 weeks agounit: units now attack
Lukas Krickl [Wed, 27 Aug 2025 15:16:38 +0000 (17:16 +0200)]
unit: units now attack

This does not work well yet. Only one unit should be able to attack.
The attack direction is broken.

2 weeks agounit_cpu: wip action attack
Lukas Krickl [Tue, 26 Aug 2025 16:29:27 +0000 (18:29 +0200)]
unit_cpu: wip action attack

2 weeks agounit_cpu: Added stub for attack state
Lukas Krickl [Tue, 26 Aug 2025 03:48:35 +0000 (05:48 +0200)]
unit_cpu: Added stub for attack state

2 weeks agomapgen: Fixed units spawnning in bad spots
Lukas Krickl [Tue, 26 Aug 2025 03:28:06 +0000 (05:28 +0200)]
mapgen: Fixed units spawnning in bad spots

2 weeks agomapgen: actor spawning now checks if an actor already exists at the selected position
Lukas Krickl [Mon, 25 Aug 2025 17:24:42 +0000 (19:24 +0200)]
mapgen: actor spawning now checks if an actor already exists at the selected position

3 weeks agomapgen: The player now spawns in a random spot
Lukas Krickl [Mon, 25 Aug 2025 12:29:47 +0000 (14:29 +0200)]
mapgen: The player now spawns in a random spot

3 weeks agomapgen: wip placing player randomly
Lukas Krickl [Sun, 24 Aug 2025 20:38:22 +0000 (22:38 +0200)]
mapgen: wip placing player randomly

3 weeks agomapgen: player spawn map is now selected randomly
Lukas Krickl [Sun, 24 Aug 2025 17:21:26 +0000 (19:21 +0200)]
mapgen: player spawn map is now selected randomly

3 weeks agoaction: Added miss text
Lukas Krickl [Sun, 24 Aug 2025 06:33:02 +0000 (08:33 +0200)]
action: Added miss text

Fixed actor lookup returning actors of type NULL

3 weeks agoui: Added max hp display
Lukas Krickl [Sat, 23 Aug 2025 18:45:18 +0000 (20:45 +0200)]
ui: Added max hp display

3 weeks agostats: Added basic hp display
Lukas Krickl [Sat, 23 Aug 2025 12:52:42 +0000 (14:52 +0200)]
stats: Added basic hp display

3 weeks agostrings: Added decimal printing
Lukas Krickl [Sat, 23 Aug 2025 05:43:53 +0000 (07:43 +0200)]
strings: Added decimal printing

3 weeks agoaction: fixed stack error when no unit is hit
Lukas Krickl [Sat, 23 Aug 2025 03:37:31 +0000 (05:37 +0200)]
action: fixed stack error when no unit is hit

3 weeks agoaction: added basic display for damage value
Lukas Krickl [Sat, 23 Aug 2025 03:34:57 +0000 (05:34 +0200)]
action: added basic display for damage value

Currently we print in hex this will need to be decimal eventually

3 weeks agoactsave: fixed bug when calculating act sg pointer
Lukas Krickl [Fri, 22 Aug 2025 17:34:50 +0000 (19:34 +0200)]
actsave: fixed bug when calculating act sg pointer

3 weeks agoact_sg: now saving type as well to prevent actors from rendering for a frame when...
Lukas Krickl [Fri, 22 Aug 2025 16:00:30 +0000 (18:00 +0200)]
act_sg: now saving type as well to prevent actors from rendering for a frame when loading a map

3 weeks agoact_save: actsave now stores mp and hp
Lukas Krickl [Fri, 22 Aug 2025 15:53:09 +0000 (17:53 +0200)]
act_save: actsave now stores mp and hp

Added damage calculation to attack.

Fixed a bug in act_sg that caused the previous slot to be re-read by the wrong map.
This was fixed by storign the previous frame's player map cursor. This allows us to use the previous frame
as a save location and the current value as a restore location.

3 weeks agostats: Added basic damage calculation
Lukas Krickl [Fri, 22 Aug 2025 12:35:17 +0000 (14:35 +0200)]
stats: Added basic damage calculation

3 weeks agostats: added stubs for calculating some stats
Lukas Krickl [Thu, 21 Aug 2025 19:11:17 +0000 (21:11 +0200)]
stats: added stubs for calculating some stats

3 weeks agounit_cpu: Made the default AI follow the player a little bit less
Lukas Krickl [Thu, 21 Aug 2025 18:27:24 +0000 (20:27 +0200)]
unit_cpu: Made the default AI follow the player a little bit less

3 weeks agoaction: Added basic attack effect
Lukas Krickl [Thu, 21 Aug 2025 17:17:15 +0000 (19:17 +0200)]
action: Added basic attack effect

For now it simply deletes the hit actor

3 weeks agomapgen: fixed most issues with the current door placement implementation
Lukas Krickl [Thu, 21 Aug 2025 16:17:55 +0000 (18:17 +0200)]
mapgen: fixed most issues with the current door placement implementation

3 weeks agomapgen: Fixed various small issues in door placement
Lukas Krickl [Thu, 21 Aug 2025 15:31:13 +0000 (17:31 +0200)]
mapgen: Fixed various small issues in door placement

3 weeks agomapgen: wip mapgen
Lukas Krickl [Thu, 21 Aug 2025 13:58:27 +0000 (15:58 +0200)]
mapgen: wip mapgen

3 weeks agomapgen: wip door generator
Lukas Krickl [Thu, 21 Aug 2025 13:47:19 +0000 (15:47 +0200)]
mapgen: wip door generator

3 weeks agoremoving doors now does not set the exit flag anymore but instead clears all other...
Lukas Krickl [Thu, 21 Aug 2025 10:53:21 +0000 (12:53 +0200)]
removing doors now does not set the exit flag anymore but instead clears all other flags

3 weeks agorooms: Added more template maps
Lukas Krickl [Thu, 21 Aug 2025 10:47:57 +0000 (12:47 +0200)]
rooms: Added more template maps

3 weeks agomapgen: if a player spawns on a door the door tile is now removed
Lukas Krickl [Thu, 21 Aug 2025 10:33:48 +0000 (12:33 +0200)]
mapgen: if a player spawns on a door the door tile is now removed

3 weeks agoplayer: updated exit handling to allow for map cursor movement
Lukas Krickl [Thu, 21 Aug 2025 09:52:41 +0000 (11:52 +0200)]
player: updated exit handling to allow for map cursor movement

3 weeks agodoors: doors are not covered anymore
Lukas Krickl [Thu, 21 Aug 2025 06:58:34 +0000 (08:58 +0200)]
doors: doors are not covered anymore

3 weeks agoexits: removed rerferences to existing exit tables
Lukas Krickl [Thu, 21 Aug 2025 06:56:35 +0000 (08:56 +0200)]
exits: removed rerferences to existing exit tables

This is the first step for the exti system rework.

3 weeks agomapgen: refactored map loader
Lukas Krickl [Thu, 21 Aug 2025 03:58:30 +0000 (05:58 +0200)]
mapgen: refactored map loader

3 weeks agomapgen: wip rework of mapgen
Lukas Krickl [Wed, 20 Aug 2025 21:49:14 +0000 (23:49 +0200)]
mapgen: wip rework of mapgen

3 weeks agoAdded notes for map rework
Lukas Krickl [Wed, 20 Aug 2025 21:35:51 +0000 (23:35 +0200)]
Added notes for map rework

3 weeks agomap: removed seed index
Lukas Krickl [Wed, 20 Aug 2025 03:24:44 +0000 (05:24 +0200)]
map: removed seed index

3 weeks agomapgen: Added door drawing routine
Lukas Krickl [Tue, 19 Aug 2025 16:24:03 +0000 (18:24 +0200)]
mapgen: Added door drawing routine

This is the first step to making a better map generator.

Doors are now placed based on a door exit list for each possible room in a floor.

3 weeks agomaps: wip reworking map system
Lukas Krickl [Tue, 19 Aug 2025 14:50:53 +0000 (16:50 +0200)]
maps: wip reworking map system

3 weeks agoTODO: Added note about mapgen rework
Lukas Krickl [Tue, 19 Aug 2025 14:20:49 +0000 (16:20 +0200)]
TODO: Added note about mapgen rework

4 weeks agoaction: Added tile offset to attack action
Lukas Krickl [Mon, 18 Aug 2025 03:28:22 +0000 (05:28 +0200)]
action: Added tile offset to attack action

4 weeks agoattack: wip added attack animation
Lukas Krickl [Sun, 17 Aug 2025 15:51:17 +0000 (17:51 +0200)]
attack: wip added attack animation

The location is still wrong but the basic idea is there :^)

4 weeks agoaction: Added delay to active after picking an attack direction
Lukas Krickl [Sun, 17 Aug 2025 12:54:42 +0000 (14:54 +0200)]
action: Added delay to active after picking an attack direction

4 weeks agoactions: Added setup for picking directions
Lukas Krickl [Sun, 17 Aug 2025 04:09:15 +0000 (06:09 +0200)]
actions: Added setup for picking directions

4 weeks agoaction: Added ability to abort attack command
Lukas Krickl [Sat, 16 Aug 2025 16:02:49 +0000 (18:02 +0200)]
action: Added ability to abort attack command

4 weeks agoattack: Added direction UI setup.
Lukas Krickl [Sat, 16 Aug 2025 06:20:58 +0000 (08:20 +0200)]
attack: Added direction UI setup.

4 weeks agounit: Added basic stub for handling assinged actions on A or B
Lukas Krickl [Sat, 16 Aug 2025 04:17:34 +0000 (06:17 +0200)]
unit: Added basic stub for handling assinged actions on A or B

4 weeks agoTODO: Added note for menu and actions
Lukas Krickl [Fri, 15 Aug 2025 17:14:12 +0000 (19:14 +0200)]
TODO: Added note for menu and actions

4 weeks agounit: removed dedicated attack state.
Lukas Krickl [Fri, 15 Aug 2025 16:52:21 +0000 (18:52 +0200)]
unit: removed dedicated attack state.

Units now only have an active and idle state they can switch to

4 weeks agoplayer: Added player turn taken flag
Lukas Krickl [Fri, 15 Aug 2025 07:42:04 +0000 (09:42 +0200)]
player: Added player turn taken flag

This flag delays all other units from moving until the player has made
a choice.

4 weeks agounit: Added stubs for attack state
Lukas Krickl [Fri, 15 Aug 2025 07:08:23 +0000 (09:08 +0200)]
unit: Added stubs for attack state

4 weeks agodefs: Added additional note for battle order
Lukas Krickl [Fri, 15 Aug 2025 05:07:13 +0000 (07:07 +0200)]
defs: Added additional note for battle order

4 weeks agodefs: Added battle order to actors
Lukas Krickl [Fri, 15 Aug 2025 05:05:54 +0000 (07:05 +0200)]
defs: Added battle order to actors

4 weeks agobattle: Added notes about unit state switching
Lukas Krickl [Fri, 15 Aug 2025 04:53:24 +0000 (06:53 +0200)]
battle: Added notes about unit state switching

4 weeks agounit: Added unit fine at
Lukas Krickl [Fri, 15 Aug 2025 04:20:50 +0000 (06:20 +0200)]
unit: Added unit fine at

4 weeks agounit: Added stub for unit find at
Lukas Krickl [Thu, 14 Aug 2025 04:54:01 +0000 (06:54 +0200)]
unit: Added stub for unit find at

4 weeks agodefs: Added battle record struct
Lukas Krickl [Wed, 13 Aug 2025 16:23:10 +0000 (18:23 +0200)]
defs: Added battle record struct

4 weeks agobattle: Added stub for battle mode
Lukas Krickl [Wed, 13 Aug 2025 16:21:12 +0000 (18:21 +0200)]
battle: Added stub for battle mode

4 weeks agoobjanim: Added left and right door opening animations
Lukas Krickl [Wed, 13 Aug 2025 15:02:11 +0000 (17:02 +0200)]
objanim: Added left and right door opening animations

4 weeks agoroompattern: fixed constant names for left and right door...
Lukas Krickl [Tue, 12 Aug 2025 20:46:11 +0000 (22:46 +0200)]
roompattern: fixed constant names for left and right door...

4 weeks agoobjanim: removed infinite animation loop for left door
Lukas Krickl [Tue, 12 Aug 2025 20:44:20 +0000 (22:44 +0200)]
objanim: removed infinite animation loop for left door

4 weeks agoobjanim: wip left and right door animation
Lukas Krickl [Tue, 12 Aug 2025 20:43:34 +0000 (22:43 +0200)]
objanim: wip left and right  door animation

This will require special handling to actually make the animations work

4 weeks agoobjanim: Added top door animation
Lukas Krickl [Tue, 12 Aug 2025 19:16:23 +0000 (21:16 +0200)]
objanim: Added top door animation

4 weeks agoobjanim: Added framework for makign door animations more generic
Lukas Krickl [Tue, 12 Aug 2025 18:36:57 +0000 (20:36 +0200)]
objanim: Added framework for makign door animations more generic

4 weeks agoobjanim: Added simple animation for down door opening.
Lukas Krickl [Tue, 12 Aug 2025 16:23:20 +0000 (18:23 +0200)]
objanim: Added simple animation for down door opening.

This now just needs to be made more generic for the other directions.

4 weeks agoobjanim: renamed door open animation to allow room for more animations in different...
Lukas Krickl [Tue, 12 Aug 2025 15:14:05 +0000 (17:14 +0200)]
objanim: renamed door open animation to allow room for more animations in different directions

4 weeks agodoor opening: Fixed animation getting stuck.
Lukas Krickl [Mon, 11 Aug 2025 18:29:48 +0000 (20:29 +0200)]
door opening: Fixed animation getting stuck.

This was caused because the cf flag was never cleared if the player did not move.

4 weeks agocollision: moved last cf flags y and x position for collision to actor
Lukas Krickl [Mon, 11 Aug 2025 16:50:34 +0000 (18:50 +0200)]
collision: moved last cf flags y and x position for collision to actor

4 weeks agodefs: fixed player rt macros
Lukas Krickl [Mon, 11 Aug 2025 15:54:38 +0000 (17:54 +0200)]
defs: fixed player rt macros

4 weeks agodefs: Added actor last collision values
Lukas Krickl [Mon, 11 Aug 2025 15:52:08 +0000 (17:52 +0200)]
defs: Added actor last collision values

4 weeks agoAdded known bug
Lukas Krickl [Mon, 11 Aug 2025 15:48:26 +0000 (17:48 +0200)]
Added known bug

4 weeks agodoors: doors now have collision.
Lukas Krickl [Mon, 11 Aug 2025 15:44:56 +0000 (17:44 +0200)]
doors: doors now have collision.

The door animation now only plays when the player touches a door.
This made the code a lot simpler to deal with overall.

5 weeks agounit collision test: writes y and x positon to wram as a return value
Lukas Krickl [Sun, 10 Aug 2025 19:34:08 +0000 (21:34 +0200)]
unit collision test: writes y and x positon to wram as a return value

5 weeks agounit: try move now writes the tile flags if collision occured
Lukas Krickl [Sun, 10 Aug 2025 14:32:36 +0000 (16:32 +0200)]
unit: try move now writes the tile flags if collision occured

5 weeks agoplayer: disabled rendering while door animation is playing
Lukas Krickl [Sun, 10 Aug 2025 09:24:25 +0000 (11:24 +0200)]
player: disabled rendering while door animation is playing

5 weeks agoplayer: skipping input on the frame a door animation is triggered
Lukas Krickl [Sun, 10 Aug 2025 07:33:09 +0000 (09:33 +0200)]
player: skipping input on the frame a door animation is triggered

5 weeks agoobjanim: the animation now overwrites player rt special flags
Lukas Krickl [Sun, 10 Aug 2025 06:47:07 +0000 (08:47 +0200)]
objanim: the animation now overwrites player rt special flags

This makes it so the room is only uncovered when the animation finishes.

5 weeks agogameplay: the game now pauses while the door opening animation is playing.
Lukas Krickl [Sun, 10 Aug 2025 06:28:22 +0000 (08:28 +0200)]
gameplay: the game now pauses while the door opening animation is playing.

For this a new special flag to pause update was added.
This pause needs to be handeled in update routines.
This is done to keep rendering some objects while not processing gameplay code.

5 weeks agovblank: Added way to overwrite vblank handler at runtime
Lukas Krickl [Sun, 10 Aug 2025 06:17:24 +0000 (08:17 +0200)]
vblank: Added way to overwrite vblank handler at runtime

This is done by having 4 bytes of self modifying code in wram.
It offers enough space for a call and a reti instruction.
Currently it is simply hard-set to the default handler, but if a custom handler is ever needed
it can be put there.

5 weeks agoroompatterns: Defined door tiles as constants
Lukas Krickl [Sat, 9 Aug 2025 18:58:55 +0000 (20:58 +0200)]
roompatterns: Defined door tiles as constants