Skip to content

Conversation

@Tyluur
Copy link
Member

@Tyluur Tyluur commented May 30, 2025

Automation script:

import datetime
import sys

def run(cmd, check=True):
    print(f"> {cmd}")
    subprocess.run(cmd, shell=True, check=check)

def branch_exists(branch_name):
    result = subprocess.run(
        f"git rev-parse --verify {branch_name}", shell=True, capture_output=True
    )
    return result.returncode == 0

def main():
    date_str = datetime.datetime.now().strftime("%Y-%m-%d")
    sync_branch = f"sync/void-{date_str}"

    try:
        # Step 1: Ensure we're in a git repo
        run("git status")

        # Step 2: Add upstream if not already added
        result = subprocess.run("git remote get-url upstream", shell=True)
        if result.returncode != 0:
            run("git remote add upstream https://github.com/GregHib/void.git")

        # Step 3: Fetch upstream changes
        run("git fetch upstream")

        # Step 4: Create a new sync branch
        if branch_exists(sync_branch):
            print(f"Branch {sync_branch} already exists. Please delete or use another name.")
            sys.exit(1)

        run(f"git checkout -b {sync_branch}")

        # Step 5: Merge upstream/main into the new branch
        print(f"🔄 Merging upstream/main into {sync_branch}...")
        merge_result = subprocess.run("git merge upstream/main", shell=True)
        if merge_result.returncode != 0:
            print("⚠️ Merge conflict detected. Please resolve it manually, then run:")
            print("   git add . && git commit")
        else:
            print("✅ Merge successful.")

        # Step 6: Final reminder
        print(f"\n✅ Branch `{sync_branch}` created and synced with upstream/main.")
        print("➡️  Next: test the server locally, then push and open a PR.")
        print(f"   git push origin {sync_branch}")

    except subprocess.CalledProcessError as e:
        print(f"❌ Error during execution: {e}")
        sys.exit(1)

if __name__ == "__main__":
    main()

GregHib and others added 8 commits May 19, 2025 23:40
* Make drop_table's explicit rather than use a mix of names and categories

* Check drop tables exist on startup

* Simplify anim configs with combat_anims

* Make combat_sounds explicit

* Increase gradle wrapper memory

* Require combat anims to exist and check for at least some sounds

* Remove unused categories and make sure the slayer categories are plural

* Add missing spider sounds

* Fix slayer tasks

* Bump gradlew mem to 600mb

* Set gradlew mem min 500mb
* Fix making "super" magic potions

* Add rag and bone man and champions scroll variable checks fixes GregHib#668

* Add support for multiple drop table predicates closes GregHib#671

* Fix area definitions not adding correct levels

* Enforce equals after keys in configs

* Update dialogue converter

* Add test for config equals exception

* Increase github action gradle memory options

* Fix duplicate item id

* Add gradle jvm args
* Add ship interfaces

* Start adding ui

* Add crewmembers

* Add ship chartering and gangplanks

* Prevent commands from crashing game loop

* Add obj examines

* Add quest checks
* fixed chicken drops table now working

* update chicken

* fix some spawns in white wolf mountain and added missing and added some dialogues

* added asgarnia ice dungeon spawns, gfx, anims, drops etc

* Update Ice_Giant.kts

* all dungeon stuff for brimhavern

* Update Ice_Giant.kts

* StringEntry/NameEntry fix (GregHib#685)

* Change StringEntry to NameEntry, which has a max of 13 characters and has last input recall for player name usage. Change ClanChatDecoder to StringEntryDecoder for new StringEntry which lets user input much longer strings

* Fix decoder test and decoder-packets.csv data to match

* Add Prince Ali Rescue Quest (GregHib#687)

* Add karamja and port sarim npcs

* Add prince ali rescue npcs

* Add hassan, osman, leela and ned dialogues

* Add cat expressions

* Add more quest dialogue

* Improvements to DropTableConverter

* More dialogues

* Simplify quest journals by using quest definitions

* Fix mill controls

* Add picking object sounds

* Add Ali Morrisane

* Dialogue tweaks

* Fix gate sounds

* Add prison door

* Add spinning wheel anims and sounds

* Dialogue finishing touches

* Quest complete & tollgate reward

---------

Co-authored-by: jarryd229 <15334102+jarryd229@users.noreply.github.com>

* Remove config naming magic (GregHib#689)

* Make drop_table's explicit rather than use a mix of names and categories

* Check drop tables exist on startup

* Simplify anim configs with combat_anims

* Make combat_sounds explicit

* Increase gradle wrapper memory

* Require combat anims to exist and check for at least some sounds

* Remove unused categories and make sure the slayer categories are plural

* Add missing spider sounds

* Fix slayer tasks

* Bump gradlew mem to 600mb

* Set gradlew mem min 500mb

* update npc n drops and remove what didnt need to be add

* update the final parts for brimhaven dungeon

* fixed baby dragons bones

---------

Co-authored-by: LucidSoft <69691787+lucid-soft@users.noreply.github.com>
Co-authored-by: Greg <GregHib@users.noreply.github.com>
Co-authored-by: jarryd229 <15334102+jarryd229@users.noreply.github.com>
* Add prince ali rescue unstarted journal closes GregHib#698

* Close interfaces on interactions fixes GregHib#700

* Remove queue usage for level up dialogue fixes GregHib#699
@Tyluur
Copy link
Member Author

Tyluur commented May 30, 2025

✅ upstream sync success — GregHib/void → 2011Scape

🚢 ship teles
🐉 brimhaven dungeon (metal + leather dragons, vine, saniboch)
🔥 fire giant data (anims, drops, sounds, npcs)
🐺 expanded animal definitions (dog, rat, wolf, monkey)
🧌 demon + dragon family overhaul (drops, anims, sounds)
🛠️ new charter ship system (scripts, teles, prices, ifaces)
🧪 additional test coverage (e.g. CharterShipTest.kt)
🧾 drop table refactor (DropTables.kt)
📜 ~2.5K insertions across 139 files

All changes verified to cleanly merge using the ort strategy. No merge conflicts.
Branch: sync/void-2025-05-30
Merge Date: May 30, 2025
Script used: sync_from_upstream.py

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants