mirror of
https://github.com/SK8-ENGINE/skate-3-rust-engine.git
synced 2026-10-26 19:47:44 +00:00
Disable Blender-based release setup pending direct conversion
This commit is contained in:
1 parent
7aa4f13353
commit
64d321763c
6 files changed
+23
-18
No files matched your search
@@ -16,7 +16,7 @@ jobs:
|
||||
python-version: '3.13'
|
||||
- name: Install setup packager
|
||||
run: python -m pip install pyinstaller==6.19.0 numpy==2.2.6 Pillow==11.3.0
|
||||
- name: Build source-only release
|
||||
- name: Build Windows package
|
||||
shell: pwsh
|
||||
run: ./Build-Release.ps1
|
||||
- uses: actions/upload-artifact@v4
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
param()
|
||||
$ErrorActionPreference = 'Stop'
|
||||
throw 'Release packaging is paused until the Blender-free ISO converter is ready.'
|
||||
Push-Location $PSScriptRoot
|
||||
try {
|
||||
$packagePython = Join-Path $PSScriptRoot 'target/package-venv/Scripts/python.exe'
|
||||
|
||||
@@ -10,10 +10,9 @@ Includes skating, tricks, grinds, offboard movement, difficulty settings and
|
||||
|
||||
## Play
|
||||
|
||||
Download the Windows release ZIP, extract it and run `skate3rust.exe`.
|
||||
Select your own Skate 3 Xbox 360 ISO when prompted. Setup prepares the skater,
|
||||
animations and disc maps locally, then starts University. The first setup needs
|
||||
internet access for conversion tools and can take a while.
|
||||
ISO setup is under development. Release packaging is paused while the asset
|
||||
converter is changed to work without Blender. Use a prepared local asset set
|
||||
for now.
|
||||
|
||||
Use an XInput controller to play. Escape opens graphics, difficulty and map
|
||||
settings. Loading another map restarts the game session.
|
||||
@@ -29,9 +28,8 @@ Use `PLAY-MAP.bat` to select a map. An XInput controller is required for gamepla
|
||||
Escape opens difficulty and graphics settings.
|
||||
|
||||
Development builds use a prepared asset set in `assets/private/` or the
|
||||
first-run installation above. `Build-Release.ps1` builds the portable Windows
|
||||
package with its setup helper; it also requires Python 3.13. Published GitHub
|
||||
releases build and attach this package automatically.
|
||||
installed asset directory. The Windows release workflow is present, but
|
||||
packaging is disabled until direct ISO conversion is ready.
|
||||
|
||||
Custom animations and climbing support remain available, but no custom clips
|
||||
are shipped. The included format-demo map is original procedural content.
|
||||
|
||||
@@ -17,9 +17,10 @@ reference: https://github.com/NFSTools/VaultLib. Its lookup8 hash and record
|
||||
reader preserve data from the user's BIN/VLT files; no settings payload is
|
||||
bundled.
|
||||
|
||||
First-run setup downloads Blender 5.0.1 and XboxDev extract-xiso from their
|
||||
publishers and verifies pinned SHA-256 hashes. Their distributions retain their
|
||||
own license files. Game assets are never downloaded from this project.
|
||||
Release setup is paused pending direct asset conversion. Blender is not
|
||||
downloaded by setup. The retained authoring scripts can use a separately
|
||||
supplied Blender executable. XboxDev extract-xiso retains its own license
|
||||
files. Game assets are never downloaded from this project.
|
||||
|
||||
The setup executable bundles Python, NumPy, Pillow, Tcl/Tk and PyInstaller's
|
||||
bootloader. Their license information is retained by the packager alongside
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
# Windows installation
|
||||
|
||||
**Paused:** the Blender-based conversion approach below was rejected. The
|
||||
public setup entry point and release packaging are disabled pending direct
|
||||
conversion. The notes below describe the earlier implementation, not a ready
|
||||
release. Setup no longer downloads Blender.
|
||||
|
||||
`Build-Release.ps1` produces `target/skate3rust-windows-x64.zip`. Keep its
|
||||
`support` directory beside `skate3rust.exe`. The game links Bevy and the MSVC
|
||||
runtime statically; the setup helper bundles Python, NumPy, Pillow and Tcl/Tk.
|
||||
|
||||
@@ -6,8 +6,6 @@ from .vlt import convert as convert_vlt
|
||||
from .physics_skeleton import convert as convert_skeleton
|
||||
|
||||
TOOLS=Path(__file__).resolve().parents[1]
|
||||
BLENDER_URL='https://download.blender.org/release/Blender5.0/blender-5.0.1-windows-x64.zip'
|
||||
BLENDER_SHA='921d77f6c505a35b2c2f6e67d4ad1c10b72418338ba0e0d3ea7f582a5e5fe46e'
|
||||
XISO_URL='https://github.com/XboxDev/extract-xiso/releases/download/build-202505152050/extract-xiso-Win64_Release.zip'
|
||||
XISO_SHA='fec88d03c7efd6205ab09be4abba70c0afd0eb27a5709f0a6235b828ba5ac11e'
|
||||
|
||||
@@ -53,7 +51,6 @@ def dependency(cache,name,url,sha,report):
|
||||
return executable
|
||||
|
||||
def run(args,log,report):
|
||||
report('Running '+Path(args[0]).name)
|
||||
kwargs={'creationflags':subprocess.CREATE_NO_WINDOW} if os.name=='nt' else {}
|
||||
external=os.name=='nt' and getattr(sys,'frozen',False) and Path(args[0]).resolve()!=Path(sys.executable).resolve()
|
||||
if external:
|
||||
@@ -74,7 +71,6 @@ def run(args,log,report):
|
||||
with child as process:
|
||||
for line in process.stdout:
|
||||
log.write(line);log.flush()
|
||||
if line.strip():report(line.strip()[-180:])
|
||||
if process.wait():raise RuntimeError('Conversion failed. See '+str(log.name))
|
||||
|
||||
def task(script,*args):
|
||||
@@ -110,6 +106,7 @@ def convert_map(archive,work,maps,stage,blender,game_exe,log,report):
|
||||
build_archive(manifest_path,collision)
|
||||
final=maps/(label+'.skate')
|
||||
embed_archive(raw_package,collision,final)
|
||||
report('Checking converted map: '+label)
|
||||
run([game_exe,'--assets',stage/'assets','--map',final,'--check-assets'],log,report)
|
||||
entry={'name':label,'path':'maps/'+final.name,'sha256':digest(final)}
|
||||
remove_intermediate(district_work,work)
|
||||
@@ -117,6 +114,10 @@ def convert_map(archive,work,maps,stage,blender,game_exe,log,report):
|
||||
|
||||
|
||||
def install(iso,base,game_exe,report,game_root=None):
|
||||
raise RuntimeError('ISO setup is paused while direct asset conversion is implemented. No Blender will be downloaded or installed.')
|
||||
|
||||
|
||||
def _authoring_install(iso,base,game_exe,report,blender,game_root=None):
|
||||
base=base.resolve();base.mkdir(parents=True,exist_ok=True)
|
||||
lock=base/'setup.lock'
|
||||
try:fd=os.open(lock,os.O_CREAT|os.O_EXCL|os.O_WRONLY)
|
||||
@@ -135,6 +136,7 @@ def install(iso,base,game_exe,report,game_root=None):
|
||||
if not iso.is_file() or iso.suffix.lower()!='.iso':raise RuntimeError('Select an Xbox 360 Skate 3 ISO')
|
||||
extractor=dependency(base/'tools','extract-xiso',XISO_URL,XISO_SHA,report)
|
||||
game_root=work/'disc'
|
||||
report('Extracting your ISO')
|
||||
run([extractor,'-x',iso,'-d',game_root],log,report)
|
||||
else:game_root=game_root.resolve()
|
||||
for required in ['default.xex','data/big/miscload.big','data/big/miscboot.big','data/big/db.big',
|
||||
@@ -166,9 +168,7 @@ def install(iso,base,game_exe,report,game_root=None):
|
||||
character=work/'character'
|
||||
run(task(TOOLS/'extract_default_skater.py','--owned-data-root',stock,'--work-root',character,
|
||||
'--private-root',private/'default_skater','--utt-root',TOOLS/'vendor/utt'),log,report)
|
||||
# Blender is a portable conversion dependency, downloaded from its
|
||||
# publisher and hash checked. It is never installed system-wide.
|
||||
blender=dependency(base/'tools','blender',BLENDER_URL,BLENDER_SHA,report)
|
||||
report('Building the skater model and rig')
|
||||
blend=character/'skater.blend'
|
||||
run([blender,'--background','--factory-startup','--python-exit-code','1',
|
||||
'--python',TOOLS/'vendor/skate3_anim/blender_rx2_abin_export.py','--',
|
||||
|
||||
Reference in new issue
Block a user