Commit Graph

193 Commits

Author SHA1 Message Date
23e187c7fd Fix rendering of ranged weapons 2021-12-23 12:04:50 -05:00
98407d2c77 Spawn items from JSON data 2021-12-23 11:38:37 -05:00
70494d8122 Start of data-driven design (Section 4.2) 2021-12-23 11:00:37 -05:00
Timothy Warren
cb2839733b Complete section 4.19 2021-12-17 16:54:36 -05:00
Timothy Warren
f749d9a9e5 Create camera, and adjust drawing code to render arbitrary size maps 2021-12-17 16:35:30 -05:00
Timothy Warren
6af7476c51 Tweak door behavior, completing section 4.18 2021-12-17 14:31:39 -05:00
Timothy Warren
1e969db5b0 Allow doors to be opened 2021-12-17 14:23:36 -05:00
Timothy Warren
a2cdf9e4cd Fix formatting of prebuilt rooms 2021-12-17 14:21:26 -05:00
Timothy Warren
ae3f83b544 Make doors opaque, and block the way 2021-12-17 14:07:14 -05:00
Timothy Warren
d028065a4a Spawn doors 2021-12-17 13:53:14 -05:00
Timothy Warren
2b91cbcc8f Restore randomness, and complete section 4.17 2021-12-17 11:33:21 -05:00
Timothy Warren
75d9af0562 Add ability to spawn items and enemies in corridors 2021-12-17 11:29:16 -05:00
Timothy Warren
132d1dac62 Track corridor tile locations, and update corridor builders to update the map builder state 2021-12-17 11:14:41 -05:00
Timothy Warren
5cbd914a98 Add straight line corridor builder 2021-12-17 10:57:03 -05:00
Timothy Warren
ac8b70af2b Add nearest neighbor corridor builder 2021-12-17 10:44:35 -05:00
Timothy Warren
f281a8be7a Add circular room builder, and finish section 4.16 2021-12-16 16:23:38 -05:00
Timothy Warren
d7b617474f Create basic room drawer 2021-12-16 16:07:33 -05:00
Timothy Warren
2ef1f3e1c8 Make map building random again, completes section 4.15 2021-12-16 14:26:50 -05:00
Timothy Warren
939996c71e Expand Room sorter with more options 2021-12-16 13:48:36 -05:00
Timothy Warren
b0b154c8d7 Decompose bsp_dungeon builder into rooms, corridors, and sorting 2021-12-16 13:26:48 -05:00
Timothy Warren
23dfbeeeb9 Split corridor creation from room creation for simple_map builder 2021-12-16 11:38:53 -05:00
Timothy Warren
9ef557d938 Update random_builder function with temporary setup 2021-12-15 15:51:01 -05:00
Timothy Warren
099f373ee8 Add room_exploder and room_corner_rounder map filters 2021-12-15 15:50:17 -05:00
Timothy Warren
74fcc25b8c Make dla and drunken map builders implement MetaMapBuilder trait 2021-12-15 13:58:47 -05:00
Timothy Warren
ee9e96e828 Implment MetaMapBuilder for Cellular Automata map builder 2021-12-15 13:50:27 -05:00
Timothy Warren
8249622a3e Complete section 4.14 2021-12-15 12:08:44 -05:00
Timothy Warren
ee5e690180 Clean up unused use statements 2021-12-15 12:08:23 -05:00
Timothy Warren
fc0843847e Finish refactoring of map builders 2021-12-15 11:36:17 -05:00
Timothy Warren
71a07b301c Refactor waveform_collapse map builder to use Rust builder pattern 2021-12-15 11:07:19 -05:00
Timothy Warren
8a596bf93c Refactor voronoi builder to use Rust builder pattern 2021-12-15 10:57:30 -05:00
Timothy Warren
db1c4c2d44 Refactor some voronoi-based builders to use Rust builder pattern 2021-12-15 10:45:58 -05:00
Timothy Warren
a6d37bf0dc Refactor voronoi map builder to use Rust builder pattern 2021-12-15 10:08:05 -05:00
3f692846f8 Refactor bsp_interior map builder to use Rust builder pattern 2021-12-14 17:39:24 -05:00
ec6e44477b Refactor bsp_dungeon builder to use Rust builder pattern 2021-12-14 17:29:44 -05:00
Timothy Warren
541421eb5b Refactor simple map builder to use the Rust builder pattern 2021-12-14 16:29:36 -05:00
Timothy Warren
9d97f3bd0d Complete section 4.13 2021-12-14 14:16:18 -05:00
Timothy Warren
99d5a78512 Fix some linting issues 2021-12-14 14:15:22 -05:00
Timothy Warren
cce44f78f4 Finish Prefab map builder 2021-12-14 11:19:03 -05:00
Timothy Warren
5454dd0755 Add initial room vaults 2021-12-13 15:22:59 -05:00
9ff645066b Reorder use statements 2021-12-10 20:16:48 -05:00
Timothy Warren
ce3d92bfe2 Complete section 4.12 2021-12-10 16:35:09 -05:00
Timothy Warren
28692ec50c Refactor entity (Enemy, Item, Equipment) spawning 2021-12-10 16:34:11 -05:00
Timothy Warren
8bf63ad876 Add ability to load string map in the prefab map builder 2021-12-10 15:17:51 -05:00
Timothy Warren
db168dc01a Use named submodules instead of mod.rs submodules 2021-12-10 14:36:27 -05:00
Timothy Warren
baec7dbee1 Refactor prefab_builder into a folder 2021-12-10 14:29:03 -05:00
Timothy Warren
def589086c Create prefab_builder 2021-12-10 11:31:39 -05:00
Timothy Warren
54e9e684e7 Cleanup some code for the start of Section 4.12 2021-12-10 11:30:58 -05:00
Timothy Warren
9879fa30b6 Complete section 4.11 2021-12-09 11:34:46 -05:00
Timothy Warren
0bc9e1a938 Add a layout solver to the waveform_collapse map builder 2021-12-09 10:31:43 -05:00
Timothy Warren
5fcc22ab6a Add constraints and common submodules to waveform_collapse map builder 2021-12-08 15:31:52 -05:00
Timothy Warren
3ce4994417 Generate a map from a REX Paint file 2021-12-07 15:13:02 -05:00
Timothy Warren
5c78512002 Complete section 4.10 2021-12-07 14:55:39 -05:00
Timothy Warren
616f75f6a5 Complete section 4.9 2021-12-07 10:36:41 -05:00
Timothy Warren
d0c4f9b8c2 Extract symmetry and brush size functions from DLA map builder 2021-12-07 10:23:52 -05:00
Timothy Warren
9b4953be7d Add DLA map building algorithms, finishing section 4.8 2021-12-07 10:17:13 -05:00
Timothy Warren
5e147b40c2 Complete section 4.7, using maze generation to build a map 2021-12-06 15:49:40 -05:00
Timothy Warren
d01a60f8fb Finish section 4.6 2021-12-06 14:23:35 -05:00
b24bf3562c Start section 4.6 2021-12-03 19:33:56 -05:00
Timothy Warren
545deb24d8 Generate map with cellular automata, completes section 4.5 2021-12-03 15:55:07 -05:00
Timothy Warren
e8c03b9536 Add corridors to the bsp interior map builder, completing section 4.4 2021-12-03 14:15:17 -05:00
Timothy Warren
c38a8f1629 Implement start of BSP Interior map builder (Section 4.4) 2021-12-03 10:00:19 -05:00
Timothy Warren
731e6dd243 Fix some clippy warnings 2021-12-02 15:03:55 -05:00
Timothy Warren
0f8d4d8fab Randomly choose which map builder to use 2021-12-02 15:00:06 -05:00
Timothy Warren
86d46b8d5b Fix some minor component issues 2021-12-02 14:59:35 -05:00
Timothy Warren
37b042e434 Add BSP map builder 2021-12-02 14:59:00 -05:00
Timothy Warren
c7cd65af7a Add some convient trait implementations for the Position component 2021-12-01 15:25:48 -05:00
Timothy Warren
e55218c325 Make map setup more DRY, add map generation visualizer, completes section 4.2 2021-12-01 14:45:27 -05:00
Timothy Warren
713c3f6fb8 Complete section 4.1 by removing rooms from Maps 2021-12-01 12:08:14 -05:00
Timothy Warren
feb7988f5f Move map builder state into map builder 2021-12-01 12:03:49 -05:00
Timothy Warren
6b48111a97 Move more map procedure stuff into the map builder 2021-12-01 11:41:29 -05:00
Timothy Warren
7f8c16a79f Refactor map generation to return original player position 2021-12-01 11:02:39 -05:00
Timothy Warren
8bb6bf35d6 Refactor map generation into its own submodule 2021-12-01 10:47:41 -05:00
Timothy Warren
06e7311523 Complete section 3.7 2021-12-01 10:14:30 -05:00
Timothy Warren
4011e7d7d3 Make single-activation traps work 2021-12-01 09:46:34 -05:00
Timothy Warren
804904dd4b Add a basic hidden trap mechanism 2021-11-29 16:00:07 -05:00
Timothy Warren
32874bf9f5 Fix main menu selection if there is no save file. Also remove redundant variables and returns 2021-11-29 15:10:56 -05:00
Timothy Warren
1f8869879c Add background image to main menu 2021-11-29 14:59:46 -05:00
Timothy Warren
d0b0a84984 Add item to reveal current map, completes section 3.5 2021-11-29 14:39:15 -05:00
3effbdb586 Use less redundant code style with 'if let' statements 2021-11-19 19:52:15 -05:00
Timothy Warren
87d825276e Finish section 3.4 2021-11-19 11:31:27 -05:00
Timothy Warren
69194a2dd6 Slightly simplify adding entries to game log 2021-11-19 11:30:25 -05:00
Timothy Warren
81f64b07a6 Add rations, and the ability to eat them 2021-11-18 15:25:29 -05:00
Timothy Warren
7b93ecc26c Show hunger status 2021-11-18 11:47:57 -05:00
Timothy Warren
950c0a3ef1 Arrange key mappings in a bit more intuitive order 2021-11-18 10:56:51 -05:00
Timothy Warren
b9e499b421 Add additional set of controls for diagonals 2021-11-18 10:48:14 -05:00
Timothy Warren
e0f3b7c255 Make sure all numpad inputs are mirrored on the number row, so that Mac OS works with numpad controls 2021-11-18 10:32:50 -05:00
Timothy Warren
c490ab114b Implement the hunger system 2021-11-18 10:28:49 -05:00
15a0f1779c Add HungerClock component 2021-11-17 16:23:01 -05:00
c4db6f5932 Make import style more consistent 2021-11-17 16:08:46 -05:00
a973e6a444 Complete section 3.3 2021-11-17 15:55:48 -05:00
Timothy Warren
5bd85f5d86 Add particle effects for item usage 2021-11-17 13:50:55 -05:00
Timothy Warren
1dd5db42f7 Add particle effects for Melee combat 2021-11-16 11:33:58 -05:00
Timothy Warren
c4bc637c79 Fix wall drawing bug and get rid of clippy warnings 2021-11-16 10:45:39 -05:00
Timothy Warren
a198fe1832 Implement bloodstains 2021-11-16 10:28:05 -05:00
Timothy Warren
b1b3105a80 Complete section 3.1 2021-11-15 14:12:27 -05:00
Timothy Warren
ffc997ce20 Cleanup code structure to match the end of the first section of the tutorial 2021-11-15 13:55:31 -05:00
Timothy Warren
416af96be3 Complete the first section 2021-11-15 13:27:40 -05:00
Timothy Warren
43e9ebd52b Add some better equipment 2021-11-15 11:48:01 -05:00
Timothy Warren
a2ef1810d9 Add ability to remove equipped items 2021-11-15 11:32:09 -05:00
Timothy Warren
b2ed5e7758 Update dagger and shield to have attack/defense bonuses 2021-11-15 09:45:12 -05:00