Hi all!

i retrieved and centralized some infos about EC client and it's file format.
Maybe there are not updated to the latest UI, but the format may still valid.

Infos are available as attachment.

In addition, on my VisualStudioOnline project you can access (see notes at the end of this post) to GIT repository of some "proof of concept" of few utilities for Enhanced Client:

MapConverter
Convert MUL to UOP EC.
This application loads the entire map from MUL file (heavy memory consumption for Trammel/Felucca), elaborate and repack it as UOP EC.
It uses related project (also available on same repo) for:
    • MUL unpack : modified version of OpenUO (there is a variable declared as static that prevents this library to be used in multithread applications)
    • UOP EC pack: Mythic Package Editor components
    • DDS creation (radar map): DDS File Type Plugin for Paint.NET (opensource version)

PaperdollEditor

Add or replace paperdoll entries.
It works on already unpacked UOP paperdolls.uop (through Mythic) files (like FACETS\build\paperdoll\000001\01.bin).
Implemented features are:
  • Extract paperdoll images as BMP images in a single folder
  • Build an ".aco" palette for Adobe Photoshop or other compatible software (the BIN file has a palette with limited number of colors, so you must use these colors for build your new paperdoll images)
  • Create a new .bin file from the folder that contains all BMP paperdoll images: if you try to load an image that uses colors that aren't in the palette file, the program try to find the nearest compatible color (but the effect is unpredictable, so use this as last choice :p )

UOLauncher

Injection EC launcher.
This tool doesn't use assembly modification like UOSALoader, that must be updated for every client version modification.
It uses dll injection at runtime, through EasyHook:
  • It starts the UO Client process
  • Inject a secondary dll that:
    • intercept calls to Ws2_32.dll functions:
      • connect: for classic client
      • WSAConnect: for enhanced client
    • rewrite the Socket address and port with yours
The program must be running while you connect to the server, or the injection fails.
It doesn't modify any file.


All of these "POC" are console application that has path, address and ports stubbed for test purpose.
The source is freely available: if anyone want to continue my work i can add him to the repository (with a valid free Microsoft account).

I hope that my work will be used by this community.
I don't know when i will have sufficient time to restart my work on these tools.

Feel free to post your opinions, doubts, or requests;)

So, my only question is: there is anyone that can host these projects on an public repository? VisualStudioOnline can't be set as public and i can add only 4 more users.
If anyone wants to help me to clone and host these projects, feel free to reply to this topic!

Thanks!
 

Attachments

  • UO File Format.pdf
    547.6 KB · Views: 103
Ok, i can say that the answer is "NO"...

I've just uploaded my work (explained in the previous post) with the source code.
It's available as attachment.

I hope that someone can use it.

Cheers!
 

Attachments

  • UOEC.zip
    15.8 MB · Views: 135
Back