## About The Pull Request
<img width="908" height="878" alt="image"
src="https://github.com/user-attachments/assets/7262576b-f7d9-4be4-8cff-6662f85698fd"
/>
Our application of Ubuntu 22.04 versus Ubuntu 24.04 (which is presently
the version for `ubuntu-latest`) is pretty inconsistent even within the
same suites, I figure we bump it up and set one standard moving
forwards. This PR was originally set to autoset it to `ubuntu-latest`
but wow the issues are agonizing so let's just bump it up and keep it
synchronized
also bumps python to `3.11.0` and whatever dependency versions needed
that as that was necessary
* Add tools/bootstrap/python
* Add dependencies.sh entry for Python
* Use bootstrapped Python for HitboxExpander
* Use bootstrapped Python when installing hooks
Also:
- Adds tools/hooks/Uninstall.bat
- Removes the need to re-run Install.bat when a .hook file changes
Python path temporarily includes tools/mapmerge2 as before:
- PYTHONPATH in tools/hooks/python.sh handles Linux/virtualenv
- python36._pth handles Windows portable
* Move DMI merge driver to its own directory
* Use bootstrapped Python for makeChangelog.bat
* Set window title in bootstrap PS scripts
* Use slashes in hook paths
* Use relative imports in mapmerge2
* Use bootstrapped Python for mapmerge
* Update mapmerge2 readme
* Skip non-3way conflicts
* Fix relative path issue in posthoc merger
* Add missing call and %* to .bat files
* When installing hooks, don't uninstall them all first
* Make dependencies.sh POSIX
* Move update_paths.py to its own folder
* Use line buffering for Python stdout/stderr
It was switching to fully-buffered mode due to being piped, meaning we
wouldn't see output until the script ended. This is undesirable.
* Use new path to dmi.test in CI suite
* Validate system Python version in bootstrap script
* Add install advice to bootstrap script
* Update path to requirements.txt in CI
* Add upgrader for existing installations