Skip to content

Commit 2afa476

Browse files
committed
docs: update README with accurate project structure, bundle builder, live URL
1 parent 4ecb618 commit 2afa476

1 file changed

Lines changed: 35 additions & 13 deletions

File tree

README.md

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,59 @@
22

33
<p align="center"><img src="public/kitsune-paint-hero.png" width="300" height="300" alt="KitsunePaint" /></p>
44

5-
> A web-based custom paint pack creator for 7 Days to Die.
5+
<p align="center">
6+
<strong>A web-based custom paint pack creator for 7 Days to Die.</strong><br/>
7+
<a href="https://paint.kitsuneden.net">paint.kitsuneden.net</a>
8+
</p>
69

7-
Upload your textures, preview how they tile on a wall, download a ready-to-install modlet. No Unity knowledge required.
10+
Upload your textures, preview how they tile on a wall, download a ready-to-install modlet. No Unity installation required.
811

912
## What it does
1013

11-
1. **Upload** — drag and drop your PNG textures (diffuse required, normal/specular optional)
12-
2. **Preview** — see how your texture tiles on a simulated block wall before you commit
13-
3. **Configure** — name your paint, pick a group, tweak tiling
14-
4. **Download** — get a complete `.zip` modlet ready to drop into your `Mods/` folder
14+
1. **Upload** — drag and drop PNG/JPG textures in Simple mode (diffuse only) or PBR mode (diffuse + normal + specular)
15+
2. **Preview** — see exactly how your texture tiles on a simulated block wall before you commit
16+
3. **Configure** — name your paint, pick a group (Masonry, Wallpaper, Tiles etc), tweak tiling
17+
4. **Download** — get a complete `.zip` modlet with painting.xml, Localization.txt, ModInfo.xml, and all source textures
18+
5. **Build bundles** — run the included Python script to generate `Atlas_XXX.unity3d` asset bundles — one per paint, scales to 20+ paints
19+
20+
## Bundle Builder
21+
22+
The web tool generates the modlet zip. To get textures rendering in-game you also need to run the Python bundle builder:
23+
24+
```bash
25+
pip install UnityPy Pillow
26+
python scripts/build_bundle.py "path/to/your/modlet/Resources"
27+
```
28+
29+
This generates per-paint Unity asset bundles with proper mipmap data, DXTnm normals, and unique CAB names. No Unity installation needed.
1530

1631
## Dependencies
1732

18-
- [OCBCustomTextures](https://www.nexusmods.com/7daystodie/mods/2788) core mod (EAC must be off)
33+
- [OCBCustomTextures](https://www.nexusmods.com/7daystodie/mods/2788) v0.8.0+ — must be installed on server and client
34+
- EAC must be disabled on both server and client
1935
- 7 Days to Die V2.0+
36+
- Python + `pip install UnityPy Pillow` (for bundle builder only)
2037

2138
## Tech Stack
2239

2340
- Vite + React + TypeScript
2441
- Tailwind CSS
42+
- JSZip (modlet packaging)
43+
- UnityPy + Pillow (bundle builder)
2544

2645
## Project Structure
2746

2847
```
2948
src/
30-
components/ # Reusable UI components
31-
pages/ # Route-level page components
32-
hooks/ # Custom React hooks
33-
types/ # TypeScript type definitions
34-
utils/ # Helper functions
35-
stores/ # State management
49+
components/ # TextureUploader, WallPreview, PaintTray, PackMeta
50+
pages/ # LandingPage, routed via App.tsx
51+
types/ # TypeScript type definitions
52+
utils/ # buildModlet.ts — zip generation
53+
scripts/
54+
build_bundle.py # Python bundle builder
55+
Atlas.template.unity3d # Template bundle for injection
56+
public/
57+
.htaccess # SPA routing for Apache
3658
```
3759

3860
## Part of the Kitsune Ecosystem

0 commit comments

Comments
 (0)