Skip to content

AngryLawyer/uo-rust-libs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

238 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UO Rust Libs Crates.io License Documentation

This library contains various modules for reading and writing pre-UOP Ultima Online data files, written in Rust.

This library is still pre-1.0 (although is stabilising), so the API may shift underfoot while you're working with it.

By default, the library contains helper methods for converting to Image types. Import it with default-features = false if you don't need this for your use-case.

This has been tested on a fresh install of Ultima Online: Age of Shadows, but should support clients up to Mondain's Legacy.

Supported files

There are currently readers for the following filetypes:

  • anim.mul/anim.idx (and successive files) - Animated characters
  • art.mul/art.idx - Tiles and static art
  • fonts.mul - Fonts
  • gumpart.mul/gumpidx.mul - GUI elements
  • hues.mul - Palette swap colours
  • map[n].mul - World maps
  • mapdif[n].mul/mapdifl[n].mul - Patches for world maps
  • radarcol.mul - Color lookup table for map and static tiles
  • skills.mul/skills.idx - Skill names
  • stadif[n].mul/stadifl[n].mul/stadifi[n].mul - Patches for static locations
  • statics[n].mul - Static locations
  • texmaps.mul/texidx.mul - 3D texture maps
  • tiledata.mul - Information about tiles and statics

Features yet to be added

  • sound.mul/soundidx.mul support
  • animdata.mul/animinfo.mul
  • palette.mul
  • skillgrp.mul
  • unifont.mul
  • speech.mul
  • multi.mul/multi.idx
  • Converting from images to UO assets/Writing muls back to files
  • A built-in viewer application

References

https://uo.stratics.com/heptazane/fileformats.shtml

About

Rust libraries for reading Ultima Online data files

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages