Fixed a bunch of messy over 80 char lines
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
# Copyright (c) 2026 Dominic Masters
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
# Subdirs
|
||||
add_subdirectory(module)
|
||||
@@ -1,8 +0,0 @@
|
||||
# Copyright (c) 2026 Dominic Masters
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
# Subdirectories
|
||||
add_subdirectory(item)
|
||||
add_subdirectory(story)
|
||||
@@ -1,5 +0,0 @@
|
||||
# Copyright (c) 2026 Dominic Masters
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
@@ -1,200 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2026 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "script/module/modulebase.h"
|
||||
#include "item/inventory.h"
|
||||
#include "item/backpack.h"
|
||||
#include "assert/assert.h"
|
||||
|
||||
JS_FUNC(moduleInventoryItemExists) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventoryItemExists: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventoryItemExists: Expected item ID as second argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
itemid_t item = (itemid_t)jerry_value_as_number(args_p[1]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
|
||||
if(item == ITEM_ID_NULL) {
|
||||
return JS_THROW("inventoryItemExists: Item ID cannot be ITEM_ID_NULL");
|
||||
}
|
||||
|
||||
bool_t hasItem = inventoryItemExists(inventory, item);
|
||||
return jerry_boolean(hasItem);
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventorySet) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventorySet: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventorySet: Expected item ID as second argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[2])) {
|
||||
return JS_THROW("inventorySet: Expected quantity as third argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
itemid_t item = (itemid_t)jerry_value_as_number(args_p[1]);
|
||||
uint8_t quantity = (uint8_t)jerry_value_as_number(args_p[2]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
inventorySet(inventory, item, quantity);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventoryAdd) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventoryAdd: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventoryAdd: Expected item ID as second argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[2])) {
|
||||
return JS_THROW("inventoryAdd: Expected quantity as third argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
itemid_t item = (itemid_t)jerry_value_as_number(args_p[1]);
|
||||
uint8_t quantity = (uint8_t)jerry_value_as_number(args_p[2]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
inventoryAdd(inventory, item, quantity);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventoryRemove) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventoryRemove: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventoryRemove: Expected item ID as second argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
itemid_t item = (itemid_t)jerry_value_as_number(args_p[1]);
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
|
||||
if(args_count >= 3) {
|
||||
if(!jerry_value_is_number(args_p[2])) {
|
||||
return JS_THROW("inventoryRemove: Expected quantity as third argument");
|
||||
}
|
||||
uint8_t amount = (uint8_t)jerry_value_as_number(args_p[2]);
|
||||
uint8_t currentQuantity = inventoryGetCount(inventory, item);
|
||||
if(amount >= currentQuantity) {
|
||||
inventoryRemove(inventory, item);
|
||||
return jerry_undefined();
|
||||
}
|
||||
inventorySet(inventory, item, currentQuantity - amount);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
inventoryRemove(inventory, item);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventoryGetCount) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventoryGetCount: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventoryGetCount: Expected item ID as second argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
itemid_t item = (itemid_t)jerry_value_as_number(args_p[1]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
|
||||
uint8_t count = inventoryGetCount(inventory, item);
|
||||
return jerry_number(count);
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventoryIsFull) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventoryIsFull: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
|
||||
bool_t isFull = inventoryIsFull(inventory);
|
||||
return jerry_boolean(isFull);
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventoryItemFull) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventoryItemFull: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventoryItemFull: Expected item ID as second argument");
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
itemid_t item = (itemid_t)jerry_value_as_number(args_p[1]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
|
||||
bool_t isFull = inventoryItemFull(inventory, item);
|
||||
return jerry_boolean(isFull);
|
||||
}
|
||||
|
||||
JS_FUNC(moduleInventorySort) {
|
||||
if(!jerry_value_is_object(args_p[0])) {
|
||||
return JS_THROW("inventorySort: Expected inventory pointer as first argument");
|
||||
}
|
||||
|
||||
if(!jerry_value_is_number(args_p[1])) {
|
||||
return JS_THROW("inventorySort: Expected sort type as second argument");
|
||||
}
|
||||
|
||||
bool_t reverse = false;
|
||||
if(args_count >= 3) {
|
||||
if(!jerry_value_is_boolean(args_p[2])) {
|
||||
return JS_THROW("inventorySort: Expected reverse flag as third argument");
|
||||
}
|
||||
reverse = (bool_t)jerry_value_is_true(args_p[2]);
|
||||
}
|
||||
|
||||
inventory_t *inventory = (inventory_t *)jsUnwrapPointer(args_p[0]);
|
||||
inventorysort_t sortBy = (inventorysort_t)jerry_value_as_number(args_p[1]);
|
||||
|
||||
assertNotNull(inventory, "Inventory pointer cannot be NULL.");
|
||||
inventorySort(inventory, sortBy, reverse);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
static void moduleItem(void) {
|
||||
moduleBaseEval(ITEM_SCRIPT);
|
||||
|
||||
jerry_value_t backpack = jsWrapPointer(&BACKPACK);
|
||||
jsSetValue("BACKPACK", backpack);
|
||||
jerry_value_free(backpack);
|
||||
|
||||
jsRegister("inventoryItemExists", moduleInventoryItemExists);
|
||||
jsRegister("inventoryAdd", moduleInventoryAdd);
|
||||
jsRegister("inventorySet", moduleInventorySet);
|
||||
jsRegister("inventoryRemove", moduleInventoryRemove);
|
||||
jsRegister("inventoryGetCount", moduleInventoryGetCount);
|
||||
jsRegister("inventoryIsFull", moduleInventoryIsFull);
|
||||
jsRegister("inventoryItemFull", moduleInventoryItemFull);
|
||||
jsRegister("inventorySort", moduleInventorySort);
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# Copyright (c) 2026 Dominic Masters
|
||||
#
|
||||
# This software is released under the MIT License.
|
||||
# https://opensource.org/licenses/MIT
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2025 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "script/module/modulebase.h"
|
||||
#include "assert/assert.h"
|
||||
#include "story/storyflag.h"
|
||||
|
||||
JS_FUNC(moduleStoryFlagGet) {
|
||||
JS_REQUIRE_ARGS(1);
|
||||
JS_REQUIRE_NUMBER(0);
|
||||
storyflag_t flag = (storyflag_t)jerry_value_as_number(args_p[0]);
|
||||
if(flag <= STORY_FLAG_NULL || flag >= STORY_FLAG_COUNT) {
|
||||
return JS_THROW("storyFlagGet: invalid flag ID");
|
||||
}
|
||||
return jerry_number((double)storyFlagGet(flag));
|
||||
}
|
||||
|
||||
JS_FUNC(moduleStoryFlagSet) {
|
||||
JS_REQUIRE_ARGS(2);
|
||||
JS_REQUIRE_NUMBER(0);
|
||||
JS_REQUIRE_NUMBER(1);
|
||||
storyflag_t flag = (storyflag_t)jerry_value_as_number(args_p[0]);
|
||||
if(flag <= STORY_FLAG_NULL || flag >= STORY_FLAG_COUNT) {
|
||||
return JS_THROW("storyFlagSet: invalid flag ID");
|
||||
}
|
||||
storyflagvalue_t value = (storyflagvalue_t)jerry_value_as_number(args_p[1]);
|
||||
storyFlagSet(flag, value);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
JS_FUNC(moduleStoryFlagIncrement) {
|
||||
JS_REQUIRE_ARGS(1);
|
||||
JS_REQUIRE_NUMBER(0);
|
||||
storyflag_t flag = (storyflag_t)jerry_value_as_number(args_p[0]);
|
||||
if(flag <= STORY_FLAG_NULL || flag >= STORY_FLAG_COUNT) {
|
||||
return JS_THROW("storyFlagIncrement: invalid flag ID");
|
||||
}
|
||||
storyFlagSet(flag, storyFlagGet(flag) + 1);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
JS_FUNC(moduleStoryFlagDecrement) {
|
||||
JS_REQUIRE_ARGS(1);
|
||||
JS_REQUIRE_NUMBER(0);
|
||||
storyflag_t flag = (storyflag_t)jerry_value_as_number(args_p[0]);
|
||||
if(flag <= STORY_FLAG_NULL || flag >= STORY_FLAG_COUNT) {
|
||||
return JS_THROW("storyFlagDecrement: invalid flag ID");
|
||||
}
|
||||
storyFlagSet(flag, storyFlagGet(flag) - 1);
|
||||
return jerry_undefined();
|
||||
}
|
||||
|
||||
static void moduleStoryFlag(void) {
|
||||
jsRegister("storyFlagGet", moduleStoryFlagGet);
|
||||
jsRegister("storyFlagSet", moduleStoryFlagSet);
|
||||
jsRegister("storyFlagIncrement", moduleStoryFlagIncrement);
|
||||
jsRegister("storyFlagDecrement", moduleStoryFlagDecrement);
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2026 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "script/module/item/moduleitem.h"
|
||||
#include "script/module/story/modulestoryflag.h"
|
||||
|
||||
#define SCRIPT_GAME_INIT(L) \
|
||||
moduleItem(L); \
|
||||
moduleStoryFlag(L);
|
||||
Reference in New Issue
Block a user