A native Windows desktop viewer for Tales of Pirates / Pirate King Online models and textures.
Double-click TopModelViewer.exe inside the dist folder. The app opens your installation at D:\Jocuri\Pirate King Online automatically. Use Browse… to select a different client.
Browse or search the model list, select a model, then use Export FBX to choose where to save it. The app writes a binary .fbx and a neighboring <filename>_textures folder containing PNG textures. Keep them together when importing into your 3D application.
Select a character model and its matching .lab skeleton loads automatically from the client's animation folder. The animation selector lists named clips using the client's character and action tables, plus the full source timeline.
- Select a clip and click Play (or press Space with focus in the viewer). Click Pause to stop at the current pose.
- Drag the timeline to inspect a pose. Use Loop and the speed selector for repeated or slower playback.
- Enable Skeleton to show bones and joints over the textured model. Select Bind pose to see the original rig pose.
- Use Load animation... to attach another compatible
.labfile. Its bone names and hierarchy must match an already loaded skeleton. - Export FBX includes the bind mesh, skin weights, bone hierarchy, and every loaded clip as a separate animation take. Pausing or scrubbing does not bake the preview pose into the exported mesh.
For a complete character example, search for 0010000000. Some player models contain only a head or an outfit piece; each can be previewed and exported with its skeleton.
- LGO character parts, creatures, items and effects, including compressed LGO files.
- LMO scene models with multiple meshes, material subsets and local transforms.
- BMP, TGA (including RLE/palettes), DDS (DXT1/2/3/4/5 and uncompressed), PNG and JPEG textures, including the client's
mp.xwrapper. - Textured 3D preview, orbit/pan/zoom, frame model, grid, solid and unlit controls.
- Binary FBX 7.4 geometry with normals, UVs, diffuse materials, color-key transparency and relative PNG texture links.
- LAB skeletal animation, embedded LGO/LMO bone animation, and embedded rigid object movement.
- Textured animation playback, bone overlay, named clips, timeline scrubbing, loop and playback speed controls.
- FBX skeletons, normalized skin weights, bind poses, and animation takes, with transforms baked to FBX animation curves.
The client uses 30 animation frames per second; playback speed changes the preview only. Models with several independent rigs expose their tracks separately in the selector. Missing or incompatible skeletons leave the mesh in its stored pose and show a warning. If clip tables are unavailable, the full LAB timeline can still be played and exported.
Game shader effects, animated material opacity/UVs/texture swaps, retargeting between different skeletons, and automatic assembly of separate character outfit pieces are not included. Missing textures and unsupported data are reported in the app. Source coordinates and scale are preserved; FBX declares Z-up with one native unit represented as one centimeter.
Sheared bind transforms are preserved using additional FBX helper nodes. A few source animation keys also contain shear; FBX approximates those keys with position, rotation, and scale and reports a warning on export.
The library scans loose .lgo/.lmo files in the game's model directory. The client's separate data*.zip patch archives are not scanned. Some installed models refer to texture files that are absent from the loose installation; these meshes use a fallback material and report the missing filename.
Requires the .NET 10 SDK on Windows. Run powershell -ExecutionPolicy Bypass -File build.ps1 from this folder. The default build includes the Windows desktop runtime in the executable, so the app does not need Python, a browser, Blender or a separately installed .NET runtime. The first build downloads Microsoft runtime packages.
The tests and tools folders contain development checks; they are not needed to run the application.
Format references and attribution are in THIRD_PARTY_NOTICES.md.