Newbie Spellweaver
- Joined
- Dec 8, 2023
- Messages
- 18
- Reaction score
- 10
- Create new terrain and maps, and be creative.
- I'm building one, with a few extra features; I haven't tested it yet, though. It looks great on paper, but I need help from others to develop something decent. I built it entirely using Grok 4.6 on cursor.
- I'm open to suggestions.
- There are still many bugs when placing 3D objects on the map, but it's a start.
Code:
# Editor de Mapa — 2D + 3D
Ferramenta no navegador para ver e editar o mapa do Talisman Online. Cada utilizador aponta para **o seu** Client e **o seu** Game Server — não copie as pastas de outra pessoa.
- **Mapa** (XML, `.blc`, `.blb`, minimapa): pasta do **Client**
- **NPCs** (Lua / CSV): pasta do **GS**
- **Pacote**: `common` (tabelas base) ou overlay de idioma (`malay_gb`, etc.)
- Caminhos gravados em `paths.json` (deste PC). Modelo: `paths.example.json`
---
## Uso diário (só editar)
Não precisa de `convert_props` no dia a dia. Faça só isto:
1. Duplo clique em `map-editor\start.bat`
2. Espere aparecer `http://127.0.0.1:8765` e abra esse link no Chrome
3. **Não feche** a janela preta (é o servidor)
4. Na primeira vez: escolha a pasta do Client, a pasta do GS, e **common** ou **malay_gb**, depois **Iniciar leitura do mapa**
5. Escolha a cena **main**
6. Clique em **Modo 3D** (na 1.ª vez precisa de internet para o Three.js)
Para mudar as pastas mais tarde, clique em **Caminhos…** no canto superior esquerdo.
### Ver casas / árvores / grama / etc.
Por defeito essas camadas vêm **desligadas** (evita crash).
1. Marque **Props**
2. Marque só o que quiser ver: **Casas**, **Árvores**, **Grama**, **Chão**, **Rochas** ou **Outros**
3. Pode ligar uma de cada vez se o PC ficar lento
### Colocar ou mover um prop
1. No painel esquerdo, escolha um tipo no catálogo
2. No menu 3D: **Adicionar prop** → clique no chão
ou **Mover prop** → arraste um já existente
3. Clique em **Salvar**
### O que o Salvar grava
| O que editou | Ficheiro |
|--------------|----------|
| Altura do terreno / andar | `.blc` / `.blb` no Client |
| Props (casas, árvores…) | `.obg` (+ `editor_props.json` de compat) |
| NPCs, zonas, spawns | CSV / Lua no GS |
**Importante:** o `client.exe` do jogo **ainda não lê** `.obg`. Só vê props nativos se o item tiver `native.offset` válido e o save fizer patch no `.blc` (ainda em engenharia — a maior parte dos props fica só no editor).
Backup automático em `map-editor/backups/`.
### Stone City (praça)
1. Botão **Ir à Stone City** (teleporte ≈ 302, −514 · tile `sn001_001103`)
2. Marque **Props** + **Árvores** / **Grama**
3. Chão: pincel de altura / andar → **Salvar** (o client lê `.blc`/`.blb`)
4. Extrair preview + billboards: `.venv\Scripts\python tools\extract_stone_city.py`
5. Editar regras de vegetação: painel **Plantas (plant.xml)** no Modo 3D
Instâncias nativas no suffix `.blc` ainda têm `layoutConfirmed: false` — ver `docs/formato-blc.md` e `docs/re-client.md`.
---
## Controlo no Modo 3D
- Botão esquerdo = orbitar
- Botão do meio = deslocar
- Roda = zoom
- NPCs e props usam a **altura do relevo**
- Só carrega tiles perto da câmara (raio 3)
---
## Uma vez só — gerar malhas OBJ + migrar props
Só precisa disto se ainda não existir `cache/meshes/cat_*.obj` ou `maps/world/map_props.obg`:
```bat
cd map-editor
.venv\Scripts\python tools\convert_props.py "..\Client\maps\world"
```
Isto cria:
- `map-editor/cache/meshes/cat_*.obj` — formas simples por categoria
- `maps/world/map_props.obg` — posições a partir do `editor_props.json` antigo
Depois volte ao **Uso diário** (`start.bat`).
---
## Ferramentas avançadas (opcional)
Diagnóstico do heightmap:
```bat
.venv\Scripts\python tools\blc_probe.py "..\Client\maps\world\sn001_000000.blc" --out debug --test-write
```
Probe de props no suffix `.blc` (layout ainda não confirmado):
```bat
.venv\Scripts\python tools\blc_objects_probe.py "..\Client\maps\world\sn001_000000.blc" --json debug\props_probe.json
```
Detalhes do formato: [`docs/formato-blc.md`](docs/formato-blc.md)
---
## Limites actuais
- Malhas 3D: geometria real `.eva` (`EV_VaSkin`) convertida on-demand para `cache/meshes/` (com texturas DDS→PNG). Placeholders `cat_*` só como fallback.
- Props do editor vão para `.obg`; o jogo oficial não os lê sem patch nativo no `.blc`
- Camadas de props começam desmarcadas de propósito
To view the content, you need to sign in or register
Prints:
Vídeo:

