Skip to content

Updating your project

Paper Mario DX publishes releases. Each one is a Git tag that ends in a date, in the form dx-YYYY-MM-DD. A fix for an older release adds a number after the date, as in dx-YYYY-MM-DD.1. To update your project, merge a release into your main branch.

If you use Diorama64, it does this for you when you update your mod. The rest of this page is for updating from the terminal.

In VS Code, open a terminal (Terminal > New Terminal), then:

Add papermario-dx as a remote named papermario-dx

git remote add papermario-dx https://knot.starhaven.dev/did:plc:dfsxnyhzxwqpmykryrjtjabz

If you cloned your project from GitHub, or added Paper Mario DX as upstream, rename that remote and point it here instead:

git remote rename origin papermario-dx
git remote set-url papermario-dx https://knot.starhaven.dev/did:plc:dfsxnyhzxwqpmykryrjtjabz

Use upstream in place of origin if that's the name you gave it.

See what's new

Fetch the releases and list them, newest first:

git fetch papermario-dx --tags
git tag --list 'dx-*' --sort=-creatordate

Before you merge, read the changelog for each release newer than the one you have. It says what you need to change in your own project.

Merge a release into your main branch

git checkout main
git merge dx-YYYY-MM-DD

Replace dx-YYYY-MM-DD with the release you want. If your project is on an older release, merge the newest release rather than each one in turn. A release includes everything before it.

Resolve any merge conflicts

VS Code highlights conflicting sections in the editor with buttons like Accept Current Change, Accept Incoming Change, and Accept Both Changes. Stage each resolved file in the Source Control panel (Ctrl+Shift+G), then commit the merge.

Build

Build as usual with Ctrl+Shift+B. The first build after an update downloads the toolchain for that release.

Merging main instead

If you need a change that isn't in a release yet, you can merge papermario-dx/main:

git fetch papermario-dx
git merge papermario-dx/main

main can hold unfinished work, and its changes aren't in the changelog's release notes until the next release. A toolchain is published for every release but only for the newest commits on main. If you merge an older main commit, the build can fail with an error that no commit in your history has a published toolchain. Merge a release to fix it.