mirror of
https://github.com/izzy2lost/Torch.git
synced 2026-07-06 00:18:35 -07:00
The bulk of Android goodies
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# Torch Android Converter
|
||||
|
||||
A simple Android app that converts N64 ROM files (.z64, .n64, .v64) to O2R format for use with Starship and Spaghetti Cart ports.
|
||||
|
||||
## Features
|
||||
|
||||
- Simple, user-friendly interface
|
||||
- File picker for ROM selection
|
||||
- Converts ROMs to O2R format
|
||||
- Saves output to Downloads/torch_output/
|
||||
- Progress indication during conversion
|
||||
|
||||
## Building
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Android Studio Arctic Fox or later
|
||||
- Android NDK 25.1.8937393 or later
|
||||
- CMake 3.22.1 or later
|
||||
- Minimum SDK: API 24 (Android 7.0)
|
||||
- Target SDK: API 34 (Android 14)
|
||||
|
||||
### Build Steps
|
||||
|
||||
1. Open the `android` folder in Android Studio
|
||||
2. Let Gradle sync the project
|
||||
3. Build and run on device or emulator
|
||||
|
||||
### Native Dependencies
|
||||
|
||||
The app builds the original Torch C++ codebase as a native library using:
|
||||
- CMake for build configuration
|
||||
- JNI for Java/C++ bridge
|
||||
- All original Torch dependencies (yaml-cpp, binarytools, n64graphics, etc.)
|
||||
|
||||
## Usage
|
||||
|
||||
1. Launch the app
|
||||
2. Tap "Select ROM File" and choose your N64 ROM (.z64, .n64, .v64)
|
||||
3. Tap "Select Starship/Spaghetti Config Folder" and choose the root directory of either:
|
||||
- The Starship repository (for SM64)
|
||||
- The Spaghetti Cart repository (for other games)
|
||||
4. Tap "Convert to O2R" to start the conversion
|
||||
5. The O2R file will be saved to your Downloads/torch_output/ folder
|
||||
|
||||
## Required Files
|
||||
|
||||
The app requires the config.yml and asset metadata files from the respective game repositories:
|
||||
|
||||
- **For Super Mario 64**: Use the Starship repository
|
||||
- **For other games**: Use the Spaghetti Cart repository
|
||||
|
||||
These repositories contain the necessary YAML files and asset definitions that Torch needs to properly extract and convert the ROM data.
|
||||
|
||||
## Supported Games
|
||||
|
||||
The app supports the same games as the original Torch:
|
||||
- Super Mario 64
|
||||
- Mario Kart 64
|
||||
- Star Fox 64
|
||||
- F-Zero X
|
||||
- Mario Artist series
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
android/
|
||||
├── app/
|
||||
│ ├── src/main/
|
||||
│ │ ├── java/com/torch/converter/
|
||||
│ │ │ └── MainActivity.java # Main Android activity
|
||||
│ │ ├── cpp/
|
||||
│ │ │ ├── CMakeLists.txt # Native build config
|
||||
│ │ │ └── torch_jni.cpp # JNI wrapper
|
||||
│ │ ├── res/ # Android resources
|
||||
│ │ └── assets/
|
||||
│ │ └── config.yml # Torch config
|
||||
│ └── build.gradle # App build config
|
||||
├── build.gradle # Project build config
|
||||
└── settings.gradle # Project settings
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- The app creates a simplified interface around the core Torch functionality
|
||||
- ROM files are temporarily copied to internal storage for processing
|
||||
- Output files are saved to external storage (Downloads folder)
|
||||
- The native library includes all necessary Torch dependencies
|
||||
@@ -0,0 +1,59 @@
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.torch.converter'
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.torch.converter"
|
||||
minSdk 24
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
ndk {
|
||||
abiFilters 'arm64-v8a', 'armeabi-v7a'
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
|
||||
ndk {
|
||||
debugSymbolLevel 'NONE' // Strip debug symbols for smaller/faster code
|
||||
}
|
||||
}
|
||||
debug {
|
||||
ndk {
|
||||
debugSymbolLevel 'FULL' // Keep debug symbols for debugging
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path file('src/main/cpp/CMakeLists.txt')
|
||||
version '3.22.1'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'com.google.android.material:material:1.10.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
||||
}
|
||||
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
# Add project specific ProGuard rules here.
|
||||
# You can control the set of applied configuration files using the
|
||||
# proguardFiles setting in build.gradle.
|
||||
|
||||
# Keep native methods
|
||||
-keepclasseswithmembernames class * {
|
||||
native <methods>;
|
||||
}
|
||||
|
||||
# Keep the MainActivity and its native methods
|
||||
-keep class com.torch.converter.MainActivity {
|
||||
public native <methods>;
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.TorchConverter"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,16 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_LIGHTING="1" />
|
||||
<LoadVertices Path="editor/gizmo/center_handle_vtx_cull" VertexBufferIndex="0" VertexOffset="0" Count="8"/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<CullDisplayList Start="0" End="7"/>
|
||||
<CallDisplayList Path="editor/gizmo/mat_center_handle_f3dlite_material"/>
|
||||
<CallDisplayList Path="editor/gizmo/center_handle_tri_0"/>
|
||||
<CallDisplayList Path="editor/gizmo/mat_revert_center_handle_f3dlite_material"/>
|
||||
<PipeSync/>
|
||||
<SetGeometryMode G_LIGHTING="1" />
|
||||
<ClearGeometryMode G_TEXTURE_GEN="1" />
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_ENVIRONMENT" A1="G_CCMUX_0" B1="G_CCMUX_0" C1="G_CCMUX_0" D1="G_CCMUX_SHADE" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_ENVIRONMENT"/>
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<DisplayList Version="0">
|
||||
<LoadVertices Path="editor/gizmo/center_handle_vtx_0" VertexBufferIndex="0" VertexOffset="0" Count="32"/>
|
||||
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
|
||||
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="4" V11="6" V12="7" Flag1="0"/>
|
||||
<Triangles2 V00="8" V01="9" V02="10" Flag0="0" V10="8" V11="10" V12="11" Flag1="0"/>
|
||||
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
|
||||
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
|
||||
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="20" V11="22" V12="23" Flag1="0"/>
|
||||
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="24" V11="26" V12="27" Flag1="0"/>
|
||||
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="28" V11="30" V12="31" Flag1="0"/>
|
||||
<LoadVertices Path="editor/gizmo/center_handle_vtx_0" VertexBufferIndex="0" VertexOffset="32" Count="32"/>
|
||||
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
|
||||
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="4" V11="6" V12="7" Flag1="0"/>
|
||||
<Triangles2 V00="8" V01="9" V02="10" Flag0="0" V10="8" V11="10" V12="11" Flag1="0"/>
|
||||
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
|
||||
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
|
||||
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="20" V11="22" V12="23" Flag1="0"/>
|
||||
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="24" V11="26" V12="27" Flag1="0"/>
|
||||
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="28" V11="30" V12="31" Flag1="0"/>
|
||||
<LoadVertices Path="editor/gizmo/center_handle_vtx_0" VertexBufferIndex="0" VertexOffset="64" Count="32"/>
|
||||
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
|
||||
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="4" V11="6" V12="7" Flag1="0"/>
|
||||
<Triangles2 V00="8" V01="9" V02="10" Flag0="0" V10="8" V11="10" V12="11" Flag1="0"/>
|
||||
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
|
||||
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
|
||||
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="20" V11="22" V12="23" Flag1="0"/>
|
||||
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="24" V11="26" V12="27" Flag1="0"/>
|
||||
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="28" V11="30" V12="31" Flag1="0"/>
|
||||
<LoadVertices Path="editor/gizmo/center_handle_vtx_0" VertexBufferIndex="0" VertexOffset="96" Count="32"/>
|
||||
<Triangles2 V00="0" V01="1" V02="2" Flag0="0" V10="0" V11="2" V12="3" Flag1="0"/>
|
||||
<Triangles2 V00="4" V01="5" V02="6" Flag0="0" V10="4" V11="6" V12="7" Flag1="0"/>
|
||||
<Triangles2 V00="8" V01="9" V02="10" Flag0="0" V10="8" V11="10" V12="11" Flag1="0"/>
|
||||
<Triangles2 V00="12" V01="13" V02="14" Flag0="0" V10="12" V11="14" V12="15" Flag1="0"/>
|
||||
<Triangles2 V00="16" V01="17" V02="18" Flag0="0" V10="16" V11="18" V12="19" Flag1="0"/>
|
||||
<Triangles2 V00="20" V01="21" V02="22" Flag0="0" V10="20" V11="22" V12="23" Flag1="0"/>
|
||||
<Triangles2 V00="24" V01="25" V02="26" Flag0="0" V10="24" V11="26" V12="27" Flag1="0"/>
|
||||
<Triangles2 V00="28" V01="29" V02="30" Flag0="0" V10="28" V11="30" V12="31" Flag1="0"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-29" Y="0" Z="-29" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-27" Y="0" Z="-27" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-21" Y="0" Z="-31" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-23" Y="0" Z="-34" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-23" Y="0" Z="-34" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-21" Y="0" Z="-31" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-14" Y="0" Z="-35" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-16" Y="0" Z="-38" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-16" Y="0" Z="-38" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-14" Y="0" Z="-35" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-7" Y="0" Z="-37" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-8" Y="0" Z="-41" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-8" Y="0" Z="-41" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-7" Y="0" Z="-37" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="-38" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="-41" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="-41" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="-38" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="7" Y="0" Z="-37" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="8" Y="0" Z="-41" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="8" Y="0" Z="-41" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="7" Y="0" Z="-37" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="14" Y="0" Z="-35" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="16" Y="0" Z="-38" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="16" Y="0" Z="-38" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="14" Y="0" Z="-35" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="21" Y="0" Z="-31" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="23" Y="0" Z="-34" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="23" Y="0" Z="-34" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="21" Y="0" Z="-31" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="27" Y="0" Z="-27" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="29" Y="0" Z="-29" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="29" Y="0" Z="-29" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="27" Y="0" Z="-27" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="31" Y="0" Z="-21" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="34" Y="0" Z="-23" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="34" Y="0" Z="-23" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="31" Y="0" Z="-21" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="35" Y="0" Z="-14" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="38" Y="0" Z="-16" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="38" Y="0" Z="-16" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="35" Y="0" Z="-14" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="37" Y="0" Z="-7" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="41" Y="0" Z="-8" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="41" Y="0" Z="-8" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="37" Y="0" Z="-7" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="38" Y="0" Z="0" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="41" Y="0" Z="0" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="41" Y="0" Z="0" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="38" Y="0" Z="0" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="37" Y="0" Z="7" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="41" Y="0" Z="8" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="41" Y="0" Z="8" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="37" Y="0" Z="7" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="35" Y="0" Z="14" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="38" Y="0" Z="16" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="38" Y="0" Z="16" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="35" Y="0" Z="14" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="31" Y="0" Z="21" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="34" Y="0" Z="23" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="34" Y="0" Z="23" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="31" Y="0" Z="21" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="27" Y="0" Z="27" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="29" Y="0" Z="29" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="29" Y="0" Z="29" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="27" Y="0" Z="27" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="21" Y="0" Z="31" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="23" Y="0" Z="34" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="23" Y="0" Z="34" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="21" Y="0" Z="31" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="14" Y="0" Z="35" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="16" Y="0" Z="38" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="16" Y="0" Z="38" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="14" Y="0" Z="35" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="7" Y="0" Z="37" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="8" Y="0" Z="41" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="8" Y="0" Z="41" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="7" Y="0" Z="37" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="38" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="41" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="41" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="0" Y="0" Z="38" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-7" Y="0" Z="37" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-8" Y="0" Z="41" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-8" Y="0" Z="41" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-7" Y="0" Z="37" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-14" Y="0" Z="35" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-16" Y="0" Z="38" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-16" Y="0" Z="38" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-14" Y="0" Z="35" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-21" Y="0" Z="31" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-23" Y="0" Z="34" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-23" Y="0" Z="34" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-21" Y="0" Z="31" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-27" Y="0" Z="27" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-29" Y="0" Z="29" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-29" Y="0" Z="29" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-27" Y="0" Z="27" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-31" Y="0" Z="21" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-34" Y="0" Z="23" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-34" Y="0" Z="23" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-31" Y="0" Z="21" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-35" Y="0" Z="14" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-38" Y="0" Z="16" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-38" Y="0" Z="16" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-35" Y="0" Z="14" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-37" Y="0" Z="7" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-41" Y="0" Z="8" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-34" Y="0" Z="-23" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-31" Y="0" Z="-21" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-27" Y="0" Z="-27" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-29" Y="0" Z="-29" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-38" Y="0" Z="-16" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-35" Y="0" Z="-14" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-31" Y="0" Z="-21" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-34" Y="0" Z="-23" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-41" Y="0" Z="-8" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-37" Y="0" Z="-7" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-35" Y="0" Z="-14" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-38" Y="0" Z="-16" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-41" Y="0" Z="0" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-38" Y="0" Z="0" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-37" Y="0" Z="-7" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-41" Y="0" Z="-8" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-41" Y="0" Z="8" S="-16" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-37" Y="0" Z="7" S="1008" T="1008" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-38" Y="0" Z="0" S="1008" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
<Vtx X="-41" Y="0" Z="0" S="-16" T="-16" R="0" G="127" B="0" A="255"/>
|
||||
</Vertex>
|
||||
@@ -0,0 +1,10 @@
|
||||
<Vertex Version="0">
|
||||
<Vtx X="-41" Y="0" Z="-41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="-41" Y="0" Z="41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="-41" Y="0" Z="41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="-41" Y="0" Z="-41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="41" Y="0" Z="-41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="41" Y="0" Z="41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="41" Y="0" Z="41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
<Vtx X="41" Y="0" Z="-41" S="0" T="0" R="0" G="0" B="0" A="0"/>
|
||||
</Vertex>
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
<DisplayList Version="0">
|
||||
<SetGeometryMode G_FOG="1" />
|
||||
<ClearGeometryMode G_ZBUFFER="1" G_CULL_BACK="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<SetCombineLERP A0="G_CCMUX_0" B0="G_CCMUX_0" C0="G_CCMUX_0" D0="G_CCMUX_SHADE" Aa0="G_ACMUX_0" Ab0="G_ACMUX_0" Ac0="G_ACMUX_0" Ad0="G_ACMUX_1" A1="G_CCMUX_COMBINED" B1="G_CCMUX_0" C1="G_CCMUX_PRIMITIVE" D1="G_CCMUX_0" Aa1="G_ACMUX_0" Ab1="G_ACMUX_0" Ac1="G_ACMUX_0" Ad1="G_ACMUX_COMBINED"/>
|
||||
<SetRenderMode Mode1="G_RM_FOG_SHADE_A" Mode2="G_RM_AA_ZB_OPA_SURF2" />
|
||||
<Texture S="65535" T="65535" Level="0" Tile="0" On="1"/>
|
||||
<SetPrimColor M="0" L="0" R="95" G="95" B="95" A="255"/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_ZBUFFER="1" G_CULL_BACK="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_ZBUFFER="1" G_CULL_BACK="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_ZBUFFER="1" G_CULL_BACK="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_ZBUFFER="1" G_CULL_BACK="1" G_LIGHTING="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_ZBUFFER="1" G_CULL_BACK="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_CLIPPING="1" G_ZBUFFER="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<SetGeometryMode G_ZBUFFER="1" />
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_CLIPPING="1" G_ZBUFFER="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_CLIPPING="1" G_ZBUFFER="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<DisplayList Version="0">
|
||||
<ClearGeometryMode G_FOG="1" />
|
||||
<SetGeometryMode G_ZBUFFER="1" G_CLIPPING="1" />
|
||||
<PipeSync/>
|
||||
<EndDisplayList/>
|
||||
</DisplayList>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user