Skip to content

Old Border Shandalar: Add rotating Adventure battle backgrounds - #11392

Draft
vanja-ivancevic wants to merge 4 commits into
Card-Forge:masterfrom
vanja-ivancevic:feat/BG-rotation
Draft

Old Border Shandalar: Add rotating Adventure battle backgrounds#11392
vanja-ivancevic wants to merge 4 commits into
Card-Forge:masterfrom
vanja-ivancevic:feat/BG-rotation

Conversation

@vanja-ivancevic

@vanja-ivancevic vanja-ivancevic commented Jul 25, 2026

Copy link
Copy Markdown
Contributor
  • Adds folder-based Adventure battle background pools with any number of JPG, JPEG, or PNG files, random selection, and no immediate repeats.
  • Automatically syncs plane-declared background URLs from skin/battle-backgrounds.txt into the selected plane's cache without adding a user setting.
  • Selects default pools by overworld terrain or point-of-interest type, with biome-specific variants for castles, dungeons, caves, and common locations.
  • Adds battleBackground folder overrides for reusable enemy definitions, individual enemies placed in TMX maps, and points of interest.
  • Resolves backgrounds from the individual TMX encounter, enemy definition, point of interest, category and biome, generic category, then the existing single-image fallbacks.
  • Preserves existing plane configurations and bundled, common, current-skin, and default-skin fallbacks when custom folders are absent or unavailable.
  • Keeps the Old Border background artwork hosted outside the Forge distribution and documents the folder layout and configuration for other Adventure mod authors.

@vanja-ivancevic vanja-ivancevic changed the title Old Border Shandalar: Add rotating Adventure battle backgrounds Add rotating Adventure battle backgrounds Jul 25, 2026
@vanja-ivancevic vanja-ivancevic changed the title Add rotating Adventure battle backgrounds Add rotating Adventure battle backgrounds + new BGs for Old Border Shandalar Jul 25, 2026
@tool4ever tool4ever added the GUI label Jul 25, 2026

@tool4ever tool4ever left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the idea, though this adds yet another ~20MB of extra assets to download for every user

Since these seem rather optional imo it's time to think about how they can be downloaded manually like some of the other parts

@vanja-ivancevic

vanja-ivancevic commented Jul 25, 2026 via email

Copy link
Copy Markdown
Contributor Author

@tool4ever

Copy link
Copy Markdown
Contributor

Well some of the lists for the ingame downloaders already point at your domain anyway
so it might make sense to supply them from there
not sure if they can be called via adventure mode but ideally each plane would have its own list with links for its optional assets 🤔
depending on which location you choose some overlap from #11387 is possible

@tool4ever
tool4ever requested a review from Jetz72 July 26, 2026 17:01
@liminalwarmth

Copy link
Copy Markdown
Contributor

This is cool, and I would definitely use this feature. If you did package it into the new tabs interface I'm proposing, display would be a logical place to stick it, since there are other settings there that are similar, as tool4forever pointed out.

The tabs definitely become more useful as more GUI options get added, as I'm finding with the additional enhancements I'm doing on local that I haven't pushed upstream until there's more discussion about some of the existing pending changes.

More of an advanced feature, but it would also be neat if plane authors could assign (and distribute) background overrides for specific combat encounters or creature archetypes (if this doesn't already exist).

@vanja-ivancevic

Copy link
Copy Markdown
Contributor Author
  1. I really like your suggestion of tabbing the settings. We have way too many settings right now in one list.
  2. I was thinking about have these custom BGs just as a default setting for the plane's modder to design as they want, with fallbacks in place, as they are sort of a core visual game experience of plane. I don't fully see the need of enabling or disabling more backgrounds. As such, I would suggest to keep it out of settings for now.
  3. I 100% agree with your suggestion to have custom BGs for certain POIs and even enemies. I will look into what the best way to do this would be.

@Jetz72 Jetz72 added Enhancement New feature or request Adventure For the Adventure Module labels Jul 27, 2026

@Jetz72 Jetz72 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still iffy about third party content URLs for assets being included in the main repo. It's not unprecedented, but it's also not unprecedented that such a site proves unsustainable. Ideally we could someday shift to a system where entire Adventure planes can easily be downloaded and installed as complete packages, and then there's no risk of the user getting an incomplete experience. But for now I think this implementation is alright, pending confirmation on iOS handling.

Comment on lines +255 to +261
String adventureCacheDirectory = GuiBase.getAdventureCacheDirectory();
if (adventureCacheDirectory != null && !adventureCacheDirectory.isEmpty()) {
FileHandle cachedFile = Gdx.files.absolute(adventureCacheDirectory + ForgeConstants.SKIN_DIR + filename);
if (cachedFile.exists()) {
return cachedFile;
}
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shoeless Will this work with the new iOS support? I saw in that PR that several instances of Gdx.files.absolute got swapped out.

@vanja-ivancevic vanja-ivancevic changed the title Add rotating Adventure battle backgrounds + new BGs for Old Border Shandalar Old Border Shandalar: Add rotating Adventure battle backgrounds Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Adventure For the Adventure Module Enhancement New feature or request GUI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants