Skip to content

feat(port): add travel_to_dimension#7691

Draft
NappingOcean wants to merge 14 commits intocataclysmbn:mainfrom
NappingOcean:another-dimension
Draft

feat(port): add travel_to_dimension#7691
NappingOcean wants to merge 14 commits intocataclysmbn:mainfrom
NappingOcean:another-dimension

Conversation

@NappingOcean
Copy link
Contributor

@NappingOcean NappingOcean commented Dec 24, 2025

Purpose of change (The Why)

We want to go further world. Further and further, even another dimension.
This PR will bring us isekai.

Describe the solution (The How)

Ported over CleverRaven/Cataclysm-DDA#82924
Added travel_to_dimension method and the tag for region_settings, and implemented forgetting the world you saw and saving the world where we come back after, etc.

Describe alternatives you've considered

Screm

Testing

Not yet.

Additional context

I hope that this PR can help sky island project(#7652).

Checklist

Mandatory

Optional

  • This PR ports commits from DDA or other cataclysm forks.
    • I have added port scope to the PR title.
    • I have attributed original authors in the commit messages adding Co-Authored-By in the commit message.
    • I have linked the URL of original PR(s) in the description.
  • This is a C++ PR that modifies JSON loading or behavior.
    • I have documented the changes in the appropriate location in the docs/ folder.
    • If documentation for this feature does not exist, please write it or at least note its lack in PR description.
    • New localizable fields need to be added to the lang/bn_extract_json_strings.sh script if it does not support them yet.
    • If applicable, add checks on game load that would validate the loaded data.
    • If it modifies format of save files, please add migration from the old format.
  • This PR modifies lua scripts or the lua API.
    • I have added lua scope to the PR title.
    • I have added type annotations to functions so that it's safe and easy to maintain.
    • I have committed the output of deno task docs:gen so the Lua API documentation is updated.

NappingOcean and others added 2 commits December 24, 2025 11:29
Port dimensional travel infrastructure from DDA PR #82924.
Enables separate world instances within same save file.

Refactored for BN:
- Use invalidate_map_cache() instead of invalidate_visibility_cache()
- Replace place_vehicle() with direct vehicle placement logic
- Implement vehicle cache rebuild with explicit loops
- Use current_region_type for dimension-specific region settings
- Simplify dimension data serialization (region_type only)

Co-authored-by: Blueflowerss <143913900+Blueflowerss@users.noreply.github.com>
Co-authored-by: kevingranade <kevin.granade@gmail.com>
Co-authored-by: bombasticSlacks <bombasticslacks@users.noreply.github.com>
@github-actions github-actions bot added the src changes related to source code. label Dec 24, 2025
@NappingOcean NappingOcean marked this pull request as draft December 24, 2025 03:35
@github-actions github-actions bot added the JSON related to game datas in JSON format. label Dec 26, 2025
NappingOcean and others added 2 commits December 26, 2025 19:09
Co-authored-by: scarf <greenscarf005@gmail.com>
Co-authored-by: scarf <greenscarf005@gmail.com>
@NappingOcean NappingOcean marked this pull request as ready for review December 26, 2025 13:32
@NappingOcean NappingOcean marked this pull request as draft December 26, 2025 14:39
@NappingOcean
Copy link
Contributor Author

Still have problems for travelling with a vehicle. Aggghhh

@NappingOcean
Copy link
Contributor Author

I have thought this issue for a while, and decided to postpone this vehicle issue later. It would be better to implement the main feature first and then implement the rest one by one later.

Copy link
Collaborator

@AzmodiusX AzmodiusX left a comment

Choose a reason for hiding this comment

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

It compiles and runs.
I verified that the pocket watch works.
It also doesn't work if I use the watch for the dimension I'm in.
I do note the overmap desert just shows "field" for desert tiles, but it seems to not be an error, per se.
Not approval because draft and we need to make decisions.

@AzmodiusX
Copy link
Collaborator

DEBUG    : requested mission with uid 1 does not exist
FUNCTION : find
FILE     : F:\Cataclysm\Cataclysm-BN\src\mission.cpp
LINE     : 78
VERSION  : BN 0.E-9149-gb411d2d778 (2026-02-05)

Didn't happen the first time, but now 2 times in a row.
New game
Same world
Only occurs in a world I made before rebuilding.
Can't replicate.
Fixed after regenerating world.
???

Implemented world types
Overmap shows name
Ported most / all of functionality from pocket dimension part of my dimension PR
AzmodiusX and others added 2 commits February 7, 2026 18:31
Co-authored-by: NappingOcean <129575271+NappingOcean@users.noreply.github.com>
feat: Pocket dimension extension (correct fork)
@AzmodiusX
Copy link
Collaborator

Hey, this got sidelined for a decent amount of time.
Do you mind if I start pushing to this myself?
I'd lots of people are hype about this and I want to get it working sooner rather than later.

@autofix-ci
Copy link
Contributor

autofix-ci bot commented Feb 20, 2026

Autofix has formatted code style violation in this PR.

I edit commits locally (e.g: git, github desktop) and want to keep autofix
  1. Run git pull. this will merge the automated commit into your local copy of the PR branch.
  2. Continue working.
I do not want the automated commit
  1. Format your code locally, then commit it.
  2. Run git push --force to force push your branch. This will overwrite the automated commit on remote with your local one.
  3. Continue working.

If you don't do this, your following commits will be based on the old commit, and cause MERGE CONFLICT.

@NappingOcean
Copy link
Contributor Author

@AzmodiusX Sorry. I was busy IRL so forgot this.
If you want to push, please go ahead. Just let me know what should I do.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

JSON related to game datas in JSON format. src changes related to source code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants