item
This commit is contained in:
@@ -3,9 +3,29 @@
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
include(cmake/modules/csvtoenum.cmake)
|
||||
|
||||
# Sources
|
||||
target_sources(${DUSK_LIBRARY_TARGET_NAME}
|
||||
PUBLIC
|
||||
item.c
|
||||
inventory.c
|
||||
)
|
||||
backpack.c
|
||||
)
|
||||
|
||||
# Generate itemtype_t enum from CSV
|
||||
set(ITEM_CSV "${CMAKE_CURRENT_LIST_DIR}/itemtypes.csv")
|
||||
set(ITEM_HEADER "${CMAKE_CURRENT_LIST_DIR}/itemtypes2.h")
|
||||
csvtoenum(${ITEM_CSV} ${ITEM_HEADER} itemtype_t id ITEM_TYPE_)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${OUTPUT_FULL_PATH}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
-DENV_FILE=${INPUT_FULL_PATH}
|
||||
-DOUT_HEADER=${OUTPUT_FULL_PATH}
|
||||
-P ${CMAKE_SOURCE_DIR}/cmake/modules/envtoh.cmake
|
||||
DEPENDS ${INPUT_FULL_PATH} ${CMAKE_SOURCE_DIR}/cmake/modules/envtoh.cmake
|
||||
COMMENT "Generating ${OUTPUT_NAME_RELATIVE}"
|
||||
)
|
||||
add_custom_target(${OUTPUT_NAME_RELATIVE}_header DEPENDS ${OUTPUT_FULL_PATH})
|
||||
add_dependencies(${DUSK_LIBRARY_TARGET_NAME} ${OUTPUT_NAME_RELATIVE}_header)
|
||||
15
src/item/backpack.c
Normal file
15
src/item/backpack.c
Normal file
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Copyright (c) 2026 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "backpack.h"
|
||||
|
||||
inventorystack_t BACKPACK_STORAGE[BACKPACK_STORAGE_SIZE_MAX];
|
||||
inventory_t BACKPACK;
|
||||
|
||||
void backpackInit() {
|
||||
inventoryInit(&BACKPACK, BACKPACK_STORAGE, BACKPACK_STORAGE_SIZE_MAX);
|
||||
}
|
||||
@@ -6,4 +6,14 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "inventory.h"
|
||||
#include "inventory.h"
|
||||
|
||||
#define BACKPACK_STORAGE_SIZE_MAX 20
|
||||
|
||||
extern inventorystack_t BACKPACK_STORAGE[BACKPACK_STORAGE_SIZE_MAX];
|
||||
extern inventory_t BACKPACK;
|
||||
|
||||
/**
|
||||
* Initializes the backpack inventory for the player.
|
||||
*/
|
||||
void backpackInit();
|
||||
4
src/item/item.csv
Normal file
4
src/item/item.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
id,type,
|
||||
POTION,MEDICINE,
|
||||
POTATO,FOOD,
|
||||
APPLE,FOOD,
|
||||
|
Reference in New Issue
Block a user