Commit graph

131 commits

Author SHA1 Message Date
Zed A. Shaw
40b2d7f45d Bring over various autowalker improvements. 2025-09-04 12:23:43 -04:00
Zed A. Shaw
9c5bad5959 This fixes the bug where you get 'stuck' while moving and passing an enemy. Need to sort out why this fixes it though. Closes #30. 2025-09-04 11:48:12 -04:00
Zed A. Shaw
a11e7de14e Fix up the spatialmap to have an occupied_by method which checks if a square is occupied and returns what is there. 2025-09-02 12:46:05 -04:00
Zed A. Shaw
e92fd2b6f3 Needed to rewrite the pathing to get this to work. I actually had been using a purposefully broken pathing algorithm from when I was making random maps. 2025-08-30 10:48:52 -04:00
Zed A. Shaw
4a2d8770d9 Cleaned up how the camera is configured so that it can be easily queried in other parts like the autowalker. 2025-08-25 23:23:05 -04:00
Zed A. Shaw
4bf9a9177f Made an AI debug view to I can make working on the AI easier. I might add the ability to toggle things on/off live to see what the AI does. 2025-08-23 01:40:51 -04:00
Zed A. Shaw
fc8e65f4d6 Enemies how fight back when cornered, either by being blocked by another enemy or when at a dead end walls. 2025-08-22 22:29:22 -04:00
Zed A. Shaw
586343a614 Enemies will now fight back if they're cornered. Was actually way easier than I thought. 2025-08-21 23:32:34 -04:00
Zed A. Shaw
7ffa6025ce And finally fix some of the API names to make more sense in their current location. 2025-08-20 23:49:30 -04:00
Zed A. Shaw
a20d701096 Rename to GameDB and GameDB::Level. 2025-08-20 23:20:36 -04:00
Zed A. Shaw
c46927ea10 Now all of the old LevelManager code is gone. Next phase is to rename the Game:: to something better then test the shit out of it. 2025-08-20 13:31:02 -04:00
Zed A. Shaw
a83ee77eea levelmanager.* is now gone, but the code is just moved over to game_level. Now to clean up the api and give it a new name. 2025-08-20 01:10:42 -04:00
Zed A. Shaw
5aca2fb56a Tests are now clean so next step is to officially nuke the level manager. 2025-08-20 00:48:20 -04:00
Zed A. Shaw
564f9842a2 All of the UIs should be cleared out, and that just leaves the tests. 2025-08-19 23:58:42 -04:00
Zed A. Shaw
d5ff57e025 Now systems.cpp is disconnected from levelmanager. That leaves the GUIs and then to completely remove it and clean up the api. 2025-08-19 11:05:32 -04:00
Zed A. Shaw
81e25f73bb Next phase of the refactor is done. Now to replace everything in Systems. 2025-08-19 01:07:28 -04:00
Zed A. Shaw
b839fb6463 The problem was keeping a reference in a class/object means that it will not get updated copies when levelmanager makes a new level. Honestly that whole constelation of bullshit needs to die. Closes #62. 2025-08-18 01:13:31 -04:00
Zed A. Shaw
25a143cf22 Turns out I don't need to remove so much when I simply don't want to display something. Closes #82. 2025-08-17 10:51:08 -04:00
Zed A. Shaw
a86912705c Refactored the mouse handling to use the new guecss Modifiers system and improved Clickable. 2025-08-14 14:10:28 -04:00
Zed A. Shaw
ad0069e899 Made it so you can right-click on an item to use it, but yeah it's bad. Gotta refactor. 2025-08-13 11:43:23 -04:00
Zed A. Shaw
f19c1dbb20 Now you can heal yourself. 2025-08-11 16:59:19 -04:00
Zed A. Shaw
e03a63f9fb A little bit of refactoring while thinking about the loot next. 2025-08-10 12:42:28 -04:00
Zed A. Shaw
05d54ff661 Now also combat works no matter what's on the ground. Closes #81. 2025-08-09 00:13:38 -04:00
Zed A. Shaw
f84b63f0e6 The problem with picking up items under a dead body is fixed but now need to fix combat. 2025-08-07 12:13:39 -04:00
Zed A. Shaw
0d889cd0ff Quick start to making it possible to use healing items, or any item really. Going with a style that it has to be on your toolbar to use it, and the toolbelt looks in your inventory to see ifyou have healing items. 2025-08-06 13:16:22 -04:00
Zed A. Shaw
9bf6926dc3 A bit of optimization to keep from generating the sorted sprite list over and over. Also tried to solve the problem of tombstone covering everything but no luck. 2025-08-03 23:58:59 -04:00
Zed A. Shaw
694ee210d6 Now floor drops always work by having a drop against a wall just drop at your feet. Closes #77. 2025-08-02 23:26:42 -04:00
Zed A. Shaw
1788b8fb28 Now items drop where you aim, and won't let you drop on a floor. But maybe one more change. 2025-08-02 23:11:59 -04:00
Zed A. Shaw
e51fb8627c Switching to Linux to find a memory bug and I want to keep a record of what caused it. 2025-07-30 22:34:26 -04:00
Zed A. Shaw
d6326c9e41 Mostly working spatical map with 2 level collision/space structure. Not the best implementation but this is the idea. 2025-07-29 03:12:44 -04:00
Zed A. Shaw
d93bc1615c Big changes to use the new lel-guecs setup but now almost everything works. Only thing missing is Issue #16 in quecs. 2025-07-23 14:03:41 -04:00
Zed A. Shaw
ff7111b006 Icons now work way better and don't have the the 'Rayview cuts icons' bug. It actually was a bug in the lel-guecs Sprite class that was using the TextureRect from the source sprite. Now its initialized with the framesize from the .json. This also uses the new guecs::Icon, but I have to fix that as it doesn't scale correctly. Closes #2. 2025-07-22 15:04:22 -04:00
Zed A. Shaw
b311713064 Quick prototype of how switch to an icon during pickup makes the rendering bug go away and also looks better visually. 2025-07-22 01:08:48 -04:00
Zed A. Shaw
6f91533950 Fog of War now works fairly normally, but I think I'll have to do something so people don't live in the map. Probably something like hearing distance is increased because you're louder with a map out, and you can't see enemies on the map. 2025-07-21 23:21:24 -04:00
Zed A. Shaw
2997dc363b FoW is now moved into lighting so light determines what's seen not player's last position. Not sure if I like that though. 2025-07-21 13:10:03 -04:00
Zed A. Shaw
d264760405 Fog of War works but it's in the wrong place and needs to be based on light. 2025-07-20 01:34:39 -04:00
Zed A. Shaw
aa72cfe4a4 Now have a working compass based directional player sprite in the map, but using the compass isn't going to work long term. Need to move that into the raycaster.cpp and get real degrees for facing direction. 2025-07-18 13:09:53 -04:00
Zed A. Shaw
3b81959aa9 Map now displays way better. The paper is gone for now. 2025-07-17 14:22:04 -04:00
Zed A. Shaw
0272ba8540 Trying a bit of color changes. 2025-07-15 14:46:14 -04:00
Zed A. Shaw
75646619b3 Map now displays and works, just need to refine the colors and the compass directions. 2025-07-15 13:28:23 -04:00
Zed A. Shaw
dd541ae59d Ripped out the string based map and created a Matrix map drawing function. 2025-07-12 10:51:55 -04:00
Zed A. Shaw
056b0b307b Implemented a little screenshot tool. 2025-07-08 00:55:24 -04:00
Zed A. Shaw
f64b202ee7 Finally have inventory not crashing for most edge cases. This solves many bugs but mostly closes #58. 2025-07-07 13:25:17 -04:00
Zed A. Shaw
601f3331ed As an experiment, disable copy and move of the StatusUI. 2025-07-06 23:59:06 -04:00
Zed A. Shaw
cd89625c96 Just need one function for the 'hold_item' action. 2025-07-06 23:35:17 -04:00
Zed A. Shaw
265e53e05a Simple fix, and honestly I should eliminate this whole thing and use one unified event system. Closes #1. 2025-07-06 12:05:28 -04:00
Zed A. Shaw
af3568154a Just had to grab the sprite, duh. Closes #3. 2025-07-06 11:36:30 -04:00
Zed A. Shaw
a26f0b0c0a Player's aim is now updated constantly as they move, just need to solve #57 to complete it. Closes #9. 2025-07-05 11:18:26 -04:00
Zed A. Shaw
584c4e9f67 Make the AIM_CLICK handler in FSM properly deal with an item already there while looting or not. Closes #56. 2025-07-03 22:26:06 -04:00
Zed A. Shaw
970905fcd5 Make the player's inventory just a regular entity attached to the player.entity. 2025-07-02 23:55:06 -04:00