I just deleted and re-cloned my flare-engine and flare-game and it's still doing this... it seems that health potions are dropping in place of gold at the moment. They get counted in the gold total on the inv screen, but still stack only to 10 like potions. Either something got crossed up or something changed in how the game is supposed to be set up.
Here are the steps I go through:
1) git clone https://github.com/Puros/flare-engine.git
2) cd flare-engine; cmake . ; make ; cd ../
3) git clone https://github.com/Puros/flare-game.git
4) cd flare-game; ln -s ../flare-engine/flare ./flare; cd mods; ln -s ../../flare-engine/mods/default ./default
5) cd ../ ; ./flare
Both are set to the current main branch.
Pur
Check the order of your active mods in the Configuration menu. fansasycore should be first, followed by alpha_demo. My guess is that alpha_demo is first, which would cause the engine/misc.txt file in fantasycore to overwrite the one in alpha_demo. After changing the mod order, you'll need to restart Flare, since this file is only loaded on startup.
This may have also been introduced by the "Gold is an item now" pull request. At least I had a similar problem, when pulling just the engine repo and not the game repo accordingly.
By any chance, could it be possible you're using an outdated game repo? (This may be introduced by the engine first looking for the system wide installed mods instead of the local mods)
Gold as an item was working for a while. But just recently I lost my saved games and this happened. I tracked the lost games down to the names being .local/share/flare/default/save1.txt where they used to be flare0.18_save1.txt. Could this have anything to do with having polymorphable in a different directory?
Let me try it with zips directly from the main repo just in case something got wierded up on my fork.
Edit: Same issue even after wiping out the directories.
I uninstalled the package back when I started looking at the code so there should be no system-wide mods. If there were left behind, where would they be?
Throwing in a fprintf, I see that Settings::loadMiscSettings() is only being called for one of the two misc.txt mod files, the one in fantasycore. The one in alpha is being skipped entirely.
And yes, I have the following in mods.txt:
fantasycore
alpha_demo
That sounds like its caused by what I originally described. Your mods list should look like this: http://i.imgur.com/OG4P0QQ.png
Ahah! In the GAME you mean, not the mods.txt file. Sorry I didn't catch that. That fixed it. Thanks a bunch!
Alright! Yeah, the explaination for this is that we create another mods.txt in ~/.config/flare/$GAME/mods.txt. This file stores the user configured mod load order.
I'm thinking that when a module is activated, it should not be moved to the bottom of the active list, but to the position it should be in by default. I'm guessing that's what happened with me. I'm pretty sure it wasn't from using the up/down arrows. I don't recall even noticing them there until I used them to fix this issue. So if fantasycore is activated after alpha_game for instance, it should be slipped in before alpha_game rather than after. Then it can be moved up/down if the person wants to change things. For that matter, consider hiding the priority adjustment until an override button (with warning) is activated or at least make that an option to the ones designing games to be played by non-developers. Players don't need access to this as far as I can see.
Wish List Item:
I'd also like to see a little summary of what each mod is for. That would allow the game designers to simply add some text like...
Under Thunder: Find your way through the Maze of Monsters, defeat the Big Bad Beast, and return the Pretty Princess Pomerania for your rightful reward. This is a hack-and-slash dungeon crawl. Requires the following modules: fantasycore, alpha_game
This text would be displayed at the bottom when that module is moused over like a tooltip, but potentially with a scroll bar if the description is too long.
I think some minimal form of mod dependecies could be useful here. As an example, each mod could have a settings.txt file that looks something like this:
#alpha_demo/settings.txt
depends=fantasycore
description=The demo game for Flare
When enabling a mod in the config menu, we'd use depends to try sorting mods in the proper order. In the above example, we'd try to place alpha_demo after fantasycore. Then the user can re-arrange them if they plan on breaking things.
And as for your wish-list idea, we can use the description in a tooltip, since WidgetListBox supports tooltips for individual items.
But is the tooltip limited to a single line or can it display multi-line? The example I gave is (purposely) too long to look good on a single line, especially at lower resolutions.
We wouldn't be able to do new line directly in the settings.txt file, since parsing would strip them out. However, tooltips DO support multiple line with "\n". So we could have multiple "description=" keys in the file, and the engine could combine them, sticking a new line in between each.
TL;DR It would work.
I was thinking of a text area that would do the wrapping actually, and mousing over a mod would change the content to descride that particular mod.
A single-line tooltip would still help though and those designing the games can just keep it short I guess. :P
P.S. The reason I don't like the idea of manual line breaks is because it assumes a certain resolution.
I think there might be a misunderstanding. Tooltips have a maximum width and will automatically wrap text. New lines don't have to be manually added to support wrapping. I only mentioned them for cases where a modder would want to break up the description with new lines.
Here's what your above example would look like as a tooltip at fantasycore's minimum resolution, 640x480: https://goput.it/7ps.png
Nice! So yeah, a description field and tooltip would do it. Thanks.
Opened issues against the engine:
https://github.com/clintbellanger/flare-engine/issues/732 : Add a mod description field
https://github.com/clintbellanger/flare-engine/issues/733 : Implement mod dependencies