Add quick reference guide for asset extraction
Added simple cheat sheet for when assets arrive from Discord. Includes common commands, troubleshooting, and a drunk-friendly section. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
167
QUICK_REFERENCE_ASSETS.md
Normal file
167
QUICK_REFERENCE_ASSETS.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# Quick Reference: RR3 Asset Extraction
|
||||
|
||||
## When Assets Arrive From Discord
|
||||
|
||||
### Step 1: Extract .z Files (Linux/Unix)
|
||||
```bash
|
||||
cd RR3CommunityServer/Tools
|
||||
chmod +x batch_extract_z_assets.sh
|
||||
./batch_extract_z_assets.sh /path/to/discord/assets /path/to/extracted
|
||||
```
|
||||
|
||||
### Step 2: Extract .z Files (Windows)
|
||||
```powershell
|
||||
cd RR3CommunityServer\Tools
|
||||
.\extract_z_asset.ps1 -InputFile "C:\discord\assets\sprites_0.etc.dds.z"
|
||||
```
|
||||
|
||||
### Step 3: List All Extracted Files
|
||||
```bash
|
||||
ls -lh /path/to/extracted/*.dds
|
||||
```
|
||||
|
||||
### Step 4: Import to Server Database
|
||||
```bash
|
||||
cd RR3CommunityServer/RR3CommunityServer
|
||||
dotnet run
|
||||
|
||||
# Use API to list assets
|
||||
curl http://localhost:5143/api/AssetManagement/list
|
||||
```
|
||||
|
||||
## Common Commands
|
||||
|
||||
### Extract Single File
|
||||
```bash
|
||||
# Linux/Unix
|
||||
./extract_z_asset.sh sprites_0.etc.dds.z
|
||||
|
||||
# Windows
|
||||
.\extract_z_asset.ps1 -InputFile "sprites_0.etc.dds.z"
|
||||
```
|
||||
|
||||
### Batch Extract Directory
|
||||
```bash
|
||||
# Linux/Unix
|
||||
./batch_extract_z_assets.sh /assets/directory
|
||||
|
||||
# Windows (need to create batch version or use WSL)
|
||||
wsl bash batch_extract_z_assets.sh /mnt/c/assets/directory
|
||||
```
|
||||
|
||||
### Pack Modified Asset
|
||||
```bash
|
||||
# Linux/Unix
|
||||
./pack_z_asset.sh modified_sprite.dds
|
||||
|
||||
# Windows (use API)
|
||||
curl -X POST http://localhost:5143/api/AssetManagement/pack \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"fileName": "modified_sprite.dds"}'
|
||||
```
|
||||
|
||||
## File Locations
|
||||
|
||||
```
|
||||
RR3CommunityServer/
|
||||
├── Tools/
|
||||
│ ├── extract_z_asset.sh ← Use this for single files
|
||||
│ ├── batch_extract_z_assets.sh ← Use this for directories
|
||||
│ ├── pack_z_asset.sh ← Use this to create .z files
|
||||
│ └── extract_z_asset.ps1 ← Windows version
|
||||
├── Assets/ ← Put .z files here
|
||||
│ ├── raw/ ← Original .z files
|
||||
│ └── extracted/ ← Extracted DDS textures
|
||||
└── ASSET_EXTRACTION_GUIDE.md ← Full documentation
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Scripts won't run (Linux)
|
||||
```bash
|
||||
chmod +x *.sh
|
||||
```
|
||||
|
||||
### Python not found
|
||||
```bash
|
||||
# Ubuntu/Debian
|
||||
sudo apt install python3
|
||||
|
||||
# RedHat/CentOS
|
||||
sudo yum install python3
|
||||
```
|
||||
|
||||
### "No ZLIB blocks found"
|
||||
File is corrupted or not a .z file. Check with:
|
||||
```bash
|
||||
hexdump -C file.z | head
|
||||
# Should see: 78 9c or 78 da
|
||||
```
|
||||
|
||||
## Custom Content Workflow
|
||||
|
||||
```
|
||||
1. Get PNG → 2. Convert to DDS → 3. Pack to .z → 4. Upload to server
|
||||
↓ ↓ ↓ ↓
|
||||
GIMP/PS AMD Compressor pack_z_asset.sh API POST
|
||||
```
|
||||
|
||||
## Important Notes
|
||||
|
||||
- **Backup originals** before modifying
|
||||
- **.z files** are ZLIB compressed (not ZIP!)
|
||||
- **DDS format**: ETC2_RGBA (Android), BC3 (PC)
|
||||
- **File size**: Assets can be 1-100 MB each
|
||||
- **Server path**: Configure `AssetBasePath` in appsettings.json
|
||||
|
||||
## Quick Test
|
||||
|
||||
```bash
|
||||
# Download test file (if available)
|
||||
wget https://example.com/test_sprite.z
|
||||
|
||||
# Extract
|
||||
./extract_z_asset.sh test_sprite.z
|
||||
|
||||
# Verify it's DDS
|
||||
file test_sprite.dds
|
||||
# Output should be: DDS image data, ...
|
||||
|
||||
# Repack
|
||||
./pack_z_asset.sh test_sprite.dds
|
||||
|
||||
# Compare sizes
|
||||
ls -lh test_sprite.*
|
||||
```
|
||||
|
||||
## API Endpoints (Server Running)
|
||||
|
||||
```bash
|
||||
# List all assets
|
||||
curl http://localhost:5143/api/AssetManagement/list
|
||||
|
||||
# Extract via API
|
||||
curl -X POST http://localhost:5143/api/AssetManagement/extract \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"fileName": "sprites_0.etc.dds.z"}'
|
||||
|
||||
# Batch extract via API
|
||||
curl -X POST http://localhost:5143/api/AssetManagement/batch-extract \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"inputDirectory": "raw_assets"}'
|
||||
```
|
||||
|
||||
## When You're Drunk 🍺
|
||||
|
||||
```bash
|
||||
# Just run this and everything will be extracted:
|
||||
cd RR3CommunityServer/Tools
|
||||
chmod +x batch_extract_z_assets.sh
|
||||
./batch_extract_z_assets.sh /path/where/discord/gave/you/files
|
||||
|
||||
# Done! Check the "extracted" folder.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Need help?** Check `ASSET_EXTRACTION_GUIDE.md` for complete documentation.
|
||||
Reference in New Issue
Block a user