Lukas Krickl [Mon, 27 Jan 2025 12:31:16 +0000 (13:31 +0100)]
anim: added static animation step variable
Lukas Krickl [Mon, 27 Jan 2025 09:25:36 +0000 (10:25 +0100)]
anim: Added setup for movement animation
Lukas Krickl [Mon, 27 Jan 2025 04:23:41 +0000 (05:23 +0100)]
warm: made player pointer compatible with code expecting actors
Lukas Krickl [Sun, 26 Jan 2025 18:43:51 +0000 (19:43 +0100)]
collision: Removed dead code
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
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
Lukas Krickl [Sun, 26 Jan 2025 17:53:00 +0000 (18:53 +0100)]
animation: added basic setup for new animation system
Lukas Krickl [Sun, 26 Jan 2025 06:35:57 +0000 (07:35 +0100)]
anim: Added struct for animations
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.
Lukas Krickl [Sun, 26 Jan 2025 05:17:07 +0000 (06:17 +0100)]
animation: Added basic docs for animations
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.
Lukas Krickl [Sun, 26 Jan 2025 04:53:23 +0000 (05:53 +0100)]
TODO: updated todo
Lukas Krickl [Sat, 25 Jan 2025 15:11:44 +0000 (16:11 +0100)]
map: Added docs for room traversal
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.
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
Lukas Krickl [Sat, 25 Jan 2025 05:17:56 +0000 (06:17 +0100)]
map: Added note about future dungeon generation
Lukas Krickl [Sun, 19 Jan 2025 16:23:57 +0000 (17:23 +0100)]
gitignore: Added .patch to gitignore
Lukas Krickl [Sun, 19 Jan 2025 15:59:18 +0000 (16:59 +0100)]
defs: moved defs from wram.s to defs.s
Lukas Krickl [Sun, 19 Jan 2025 09:47:47 +0000 (10:47 +0100)]
mapram: Removed .section from mapram to avoid mlb generation being wrong
Lukas Krickl [Sun, 19 Jan 2025 07:05:20 +0000 (08:05 +0100)]
defs: Move .section to their proper locations
Lukas Krickl [Sun, 19 Jan 2025 06:34:57 +0000 (07:34 +0100)]
sections: Renamed sections to more style apropriate names
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
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.
Lukas Krickl [Fri, 17 Jan 2025 20:03:31 +0000 (21:03 +0100)]
actor: Added player version of rf flag update sub
Lukas Krickl [Wed, 15 Jan 2025 17:03:16 +0000 (18:03 +0100)]
BUGS: Added bug note for anim_move
Lukas Krickl [Wed, 15 Jan 2025 16:31:35 +0000 (17:31 +0100)]
actor: Fixed actors clearing their position whenever they move
Lukas Krickl [Wed, 15 Jan 2025 04:48:43 +0000 (05:48 +0100)]
actor: added mask for tile postions
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.
Lukas Krickl [Tue, 14 Jan 2025 05:07:50 +0000 (06:07 +0100)]
map: removed map_set and map_unset_flag
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.
Lukas Krickl [Sun, 12 Jan 2025 17:54:56 +0000 (18:54 +0100)]
actor: wip code for setting RF_ACTOR flag
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 :^)
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.
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.
Lukas Krickl [Sat, 4 Jan 2025 10:31:42 +0000 (11:31 +0100)]
maps: Added 2 additional base maps
Lukas Krickl [Sat, 4 Jan 2025 06:44:35 +0000 (07:44 +0100)]
base_room2/tileset1: Added new floor and block tiles
Lukas Krickl [Fri, 3 Jan 2025 18:43:01 +0000 (19:43 +0100)]
wram: Added first flag for player
Lukas Krickl [Fri, 3 Jan 2025 09:27:48 +0000 (10:27 +0100)]
map: renamed base room table to f1 room table
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
Lukas Krickl [Thu, 2 Jan 2025 21:40:43 +0000 (22:40 +0100)]
tiles: Added placeholder door tiles
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 :^)
Lukas Krickl [Thu, 2 Jan 2025 18:57:34 +0000 (19:57 +0100)]
make: Added maps/ to the include search path list
Lukas Krickl [Thu, 2 Jan 2025 18:56:24 +0000 (19:56 +0100)]
make: Removed verbose setting from build flags
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 :^)
Lukas Krickl [Thu, 2 Jan 2025 14:34:40 +0000 (15:34 +0100)]
map: WIP actor table saving
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
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.
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.
Lukas Krickl [Wed, 1 Jan 2025 11:14:10 +0000 (12:14 +0100)]
map: room linking is now generic
Lukas Krickl [Wed, 1 Jan 2025 10:25:20 +0000 (11:25 +0100)]
map: added rotuine to link two rooms to each other
Lukas Krickl [Wed, 1 Jan 2025 09:30:10 +0000 (10:30 +0100)]
map: Added reverse look-up-table for directions
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
Lukas Krickl [Wed, 1 Jan 2025 04:20:49 +0000 (05:20 +0100)]
LICENSE: Updated year to 2025
Lukas Krickl [Tue, 31 Dec 2024 18:45:48 +0000 (19:45 +0100)]
preproc: Added DEBUG guard around map load panic
Lukas Krickl [Tue, 31 Dec 2024 16:19:21 +0000 (17:19 +0100)]
map: Added proof of concept for linking rooms in ram
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
Lukas Krickl [Tue, 31 Dec 2024 10:51:42 +0000 (11:51 +0100)]
map: Added base room copy routine
Lukas Krickl [Tue, 31 Dec 2024 07:26:23 +0000 (08:26 +0100)]
Moved stack to end of DXXX wram bank
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
Lukas Krickl [Mon, 30 Dec 2024 18:38:55 +0000 (19:38 +0100)]
map: wip map copy
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 :^)
Lukas Krickl [Mon, 30 Dec 2024 07:28:04 +0000 (08:28 +0100)]
Added floor usae to map_gen docs
Lukas Krickl [Mon, 30 Dec 2024 07:27:05 +0000 (08:27 +0100)]
Added wram defs
Lukas Krickl [Sun, 29 Dec 2024 10:41:31 +0000 (11:41 +0100)]
Renamed room_struct to room_header
Lukas Krickl [Sat, 28 Dec 2024 09:14:56 +0000 (10:14 +0100)]
WIP: Added placeholders for map generator
Lukas Krickl [Sat, 28 Dec 2024 07:12:57 +0000 (08:12 +0100)]
hram: Added hram 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)
Lukas Krickl [Fri, 27 Dec 2024 15:15:20 +0000 (16:15 +0100)]
Added future refactoring idea for actor tables to TODO
Lukas Krickl [Fri, 27 Dec 2024 15:13:36 +0000 (16:13 +0100)]
map: renamed curr_room_init_actors to curr_room_actor_table
Lukas Krickl [Fri, 27 Dec 2024 10:24:08 +0000 (11:24 +0100)]
Added version to save game
Lukas Krickl [Fri, 27 Dec 2024 10:23:41 +0000 (11:23 +0100)]
Added version to save game
Lukas Krickl [Fri, 27 Dec 2024 09:42:04 +0000 (10:42 +0100)]
Added room body struct
Lukas Krickl [Fri, 27 Dec 2024 09:27:38 +0000 (10:27 +0100)]
Added docs for save game
Lukas Krickl [Fri, 27 Dec 2024 09:23:31 +0000 (10:23 +0100)]
Added struct for save game
Lukas Krickl [Fri, 27 Dec 2024 09:16:47 +0000 (10:16 +0100)]
Added better docs for savegame storage
Lukas Krickl [Thu, 26 Dec 2024 09:26:24 +0000 (10:26 +0100)]
Updated tileset player tiles
Lukas Krickl [Thu, 26 Dec 2024 07:40:32 +0000 (08:40 +0100)]
Added a few constants for save game size
Lukas Krickl [Tue, 24 Dec 2024 13:10:23 +0000 (14:10 +0100)]
Made vram access more secure when loading maps.
A row is now guaranteed to wait for the *next* vblank
before proceeding to draw.
Additionall we are now disabling objects when drawing a new room.
Lukas Krickl [Tue, 24 Dec 2024 11:29:42 +0000 (12:29 +0100)]
Added new test room.
Also fixed a bug that caused the A value to be destroyed
in room_goto. This caused it to always use the special exit value.
Lukas Krickl [Tue, 24 Dec 2024 10:56:29 +0000 (11:56 +0100)]
Added optional vblank wait to room row draw
This allows us to load a room without turning off the screen :^)
Lukas Krickl [Tue, 24 Dec 2024 07:18:34 +0000 (08:18 +0100)]
Fixed crash during room transitions
This was caused by a bad pointer being passed to load_room_from.
Lukas Krickl [Tue, 24 Dec 2024 06:49:52 +0000 (07:49 +0100)]
WIP: room loading
It now crashes whenever a transition happens.
Lukas Krickl [Tue, 24 Dec 2024 05:17:36 +0000 (06:17 +0100)]
Added a few bug notes
Lukas Krickl [Mon, 23 Dec 2024 16:30:05 +0000 (17:30 +0100)]
Room loading now disables lcd to draw new room.
This should eventually become a smooth transition
Lukas Krickl [Mon, 23 Dec 2024 13:46:51 +0000 (14:46 +0100)]
WIP: room loader
Lukas Krickl [Mon, 23 Dec 2024 13:28:51 +0000 (14:28 +0100)]
Added ability to flag room loading
When a player collides with a door a special flag is set that
allows the engine to initiate a room load during the next vblank
Lukas Krickl [Mon, 23 Dec 2024 08:02:49 +0000 (09:02 +0100)]
WIP: exit direction selection
Lukas Krickl [Sat, 21 Dec 2024 05:33:18 +0000 (06:33 +0100)]
Added notes about scrolling
Lukas Krickl [Fri, 20 Dec 2024 18:32:27 +0000 (19:32 +0100)]
WIP: room transition loader
Lukas Krickl [Fri, 20 Dec 2024 10:02:31 +0000 (11:02 +0100)]
Bat actors now use direction constants for movement
Lukas Krickl [Fri, 20 Dec 2024 10:01:33 +0000 (11:01 +0100)]
Added special exit flag
Lukas Krickl [Sun, 15 Dec 2024 18:41:27 +0000 (19:41 +0100)]
Added notes for room transitions
Lukas Krickl [Sun, 15 Dec 2024 18:11:52 +0000 (19:11 +0100)]
Added docs for room transitions
Lukas Krickl [Sun, 15 Dec 2024 18:07:55 +0000 (19:07 +0100)]
Removed unused map function
Lukas Krickl [Sun, 15 Dec 2024 10:00:21 +0000 (11:00 +0100)]
Removed test room loader code and replaced it with an actual memcpy call
The test loader for a hard coded room was still present in video init.
This lead to an incorrect assumption being made in the map converter.
Rooms are now loaded directly from the actual base struct.
The base struct now also always points to an empty room exit table.
Lukas Krickl [Sun, 15 Dec 2024 09:28:54 +0000 (10:28 +0100)]
WIP: exit table for rooms
Lukas Krickl [Thu, 12 Dec 2024 05:23:42 +0000 (06:23 +0100)]
Removed redundant comparison in actor update
Lukas Krickl [Wed, 11 Dec 2024 13:07:57 +0000 (14:07 +0100)]
Added docs for map flags
Lukas Krickl [Wed, 11 Dec 2024 10:32:51 +0000 (11:32 +0100)]
Added new rand table.
Re-worked rand to use the table as a source of prng
Lukas Krickl [Tue, 10 Dec 2024 16:59:39 +0000 (17:59 +0100)]
Added actor collision checking
The bat actor now correctly checks for walls and doors and will
refuse to leave the screen.