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:
2026-02-18 10:08:17 -08:00
parent 0929f963c6
commit cb89aa07b9

167
QUICK_REFERENCE_ASSETS.md Normal file
View 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.