Thanks for providing the file, but it would be a lot easier to use if you shared your whole repo.
You've added quite a few TMs and made a lot of changes to the file. It's generally a good idea to compile the project as you make changes so that when an error occurs, you have fewer changes making it easier to tell which change caused the error.
When compiling the project with your file the very first error message was:
Code:
<stdin>/src/item.c:11611: error: unknown character U+2014
I searched for that character in src/data/items.h and found that
line 1290 uses the unicode character — instead of -.
After replacing that character I got the error:
Code:
src/data/items.h:11932:6: error: 'ITEM_TM101' undeclared here (not in a function)
11932 | [ITEM_TM101] =
So I had to define the new TM constants in include/constants/items.h, which you've presumably already done. This is why it would've been nice if you posted your whole repo and not just that one file.
After that I then encountered the error:
Code:
src/data/items.h:15582:103: error: excess elements in array initializer [-Werror]
15582 | .name = _("POKEBLOCK Case"),
Which happens because the name "POKEBLOCK Case" is too long. By default the name is "{POKEBLOCK} Case", where the {POKEBLOCK} gets
replaced with a specific character sequence that is shorter than "POKEBLOCK". I fixed the error by replacing instances of "POKEBLOCK" with "{POKEBLOCK}".
After that src/item.c was able to compile correctly but I still encountered one more error:
Code:
src/pokemon.c:748:14: error: size of array 'PokemonSubstruct0_heldItem_TooSmall' is negative
748 | STATIC_ASSERT(ITEMS_COUNT < (1 << 10), PokemonSubstruct0_heldItem_TooSmall);
Because there are now more items than what can be stored inside the pokemon structure. You should increase
the amount of bits dedicated to a pokemon's held item if you didn't already.