diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..ea954311 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,43 @@ +name: Build UEViewer + +on: + push: + branches: [ master, main ] + tags: + - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 + pull_request: + branches: [ master, main ] + workflow_dispatch: # Allows manual triggering + +jobs: + build-linux: + name: Build on Linux + runs-on: ubuntu-latest + strategy: + fail-fast: false + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for proper versioning + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y build-essential g++ gcc-multilib g++-multilib \ + mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libgtk-3-dev \ + libsdl2-dev libsdl2-2.0-0 + + - name: Build UEViewer + run: | + # Make sure build script is executable + chmod +x ./build.sh + ./build.sh --64 + + - name: Upload artifacts + uses: actions/upload-artifact@v4 + with: + name: umodel-linux + path: umodel* + diff --git a/Exporters/ExportGLTF.cpp b/Exporters/ExportGLTF.cpp index 9b8eb66d..15350249 100644 --- a/Exporters/ExportGLTF.cpp +++ b/Exporters/ExportGLTF.cpp @@ -358,9 +358,9 @@ static void ExportSection(GLTFExportContext& Context, const CBaseMeshLod& Lod, c CVec3 Mins, Maxs; ComputeBounds((CVec3*)PositionBuf.Data, numLocalVerts, sizeof(CVec3), Mins, Maxs); char buf[256]; - appSprintf(ARRAY_ARG(buf), "[ %g, %g, %g ]", VECTOR_ARG(Mins)); + appSprintf(ARRAY_ARG(buf), "[ %.10g, %.10g, %.10g ]", VECTOR_ARG(Mins)); PositionBuf.BoundsMin = buf; - appSprintf(ARRAY_ARG(buf), "[ %g, %g, %g ]", VECTOR_ARG(Maxs)); + appSprintf(ARRAY_ARG(buf), "[ %.10g, %.10g, %.10g ]", VECTOR_ARG(Maxs)); PositionBuf.BoundsMax = buf; if (Lod.VertexColors) diff --git a/Unreal/GameDatabase.cpp b/Unreal/GameDatabase.cpp index 4dbdeca1..109e0f0a 100644 --- a/Unreal/GameDatabase.cpp +++ b/Unreal/GameDatabase.cpp @@ -816,7 +816,7 @@ void FArchive::DetectGame() if (ArVer == 868 && ArLicenseeVer == 2) SET(GAME_Guilty); #endif #if ROCKET_LEAGUE - if (ArVer == 868 && (ArLicenseeVer >= 18 && ArLicenseeVer <= 22)) SET(GAME_RocketLeague); + if (ArVer == 868 && (ArLicenseeVer >= 18 && ArLicenseeVer <= 32)) SET(GAME_RocketLeague); #endif #if SPECIALFORCE2 if (ArVer == 904 && (ArLicenseeVer == 9 || ArLicenseeVer == 14)) SET(GAME_SpecialForce2); diff --git a/common.project b/common.project index 3daade5c..27270c19 100644 --- a/common.project +++ b/common.project @@ -167,7 +167,7 @@ pop(INCLUDES) pop(DEFINES) # SDL2 -!include $R/libs/SDL2/SDL2.project +# !include $R/libs/SDL2/SDL2.project # oodle SDK support !include $R/libs/oodle/oodle.project diff --git a/umodel.exe b/umodel.exe index 9e202fb5..b4980fd4 100644 Binary files a/umodel.exe and b/umodel.exe differ diff --git a/umodel_64 b/umodel_64 new file mode 100644 index 00000000..c48f6fad Binary files /dev/null and b/umodel_64 differ