Personalizzazione del client
Indice
- 1 Versioni del client
- 1.1 Client 1.x T2A (The Second Age), 1997-2000
- 1.2 Client 2.x RE (Renaissance), 2000-2001
- 1.3 Client 3.x 3D (Third Dawn) e LBR (Lord Blackthorn's Revenge), 2001-2003
- 1.4 Client 4.x AOS (Age of Shadows) e SE (Samurai Empire) 2003-2005
- 1.5 Client 5.x ML (Mondain's Legacy), 2005-2007
- 1.6 Client 6.x KR (Kingdom Reborn), 2007-2009
- 1.7 Client 7.x SA (Stygian Abyss) e HS (High Seas), 2009-oggi
- 2 Files
- 3 Tools
- 4 Problemi noti
Versioni del client
Il major number del client di gioco segue solitamente il rilascio delle espansioni del gioco.
Client 1.x T2A (The Second Age), 1997-2000
Questo è stato il primo client disponibile ed era anche quello usato sul vecchio ZHI di Gennaio 2002. L'espansione T2A introduceva le Lost Lands senza tuttavia incrementare il numero di versione principale, modifica realizzata "riempiendo" una parte di spazio vuoto nella mappa.
Client 2.x RE (Renaissance), 2000-2001
Questo è il client usato inizialmente dal progetto Time Warp. Con questa espansione fu introdotto il supporto a Trammel e Felucca, la modifica è stata realizzata estendendo il sistema delle stagioni ed aggiungendone una quinta (desolation).
Client 3.x 3D (Third Dawn) e LBR (Lord Blackthorn's Revenge), 2001-2003
Parallelamente a questo client, fu sviluppato per la prima volta un client 3D, progetto poi naufragato. Introduce per la prima volta il supporto a mappe multiple, aggiungendo Ilshenar. La successiva espansione Lord Blackthorn's Revenge non ha introdotto modifiche tecniche ma solo nuovi contenuti.
Client 4.x AOS (Age of Shadows) e SE (Samurai Empire) 2003-2005
Supporta la mappa di Malas e introduce varie novità grafiche e a livelli di skill, principalmente basate su Paladini e Necromanti. Aggiunge un nuovo sistema di resistenze e il supporto alla fortuna. Aggiunge il supporto alle case personalizzate. La successiva espansione Samurai Empire aggiunge la mappa di Tokuno, novità grafiche per il mondo orientale, e nuove skills basate su Samurai e Ninja.
Client 5.x ML (Mondain's Legacy), 2005-2007
Supporta la nuova razza degli elfi e aggiunge qualche nuovo dungeon (sfruttando spazi inutilizzati sulle mappe già esistenti). Aggiunge la nuova skill spellweaving.
Questo client non supporta più il file verdata.mul
Client 6.x KR (Kingdom Reborn), 2007-2009
Nuovo tentativo di lanciare un client 3D, ancora oggi esistente sotto il nome di enhanced client. Da questa versione in poi Trammel diventa a tutti gli effetti una mappa a sé stante e compaiono quindi i file mul con id 1 (map1.mul, statics1.mul, ...)
Client 7.x SA (Stygian Abyss) e HS (High Seas), 2009-oggi
Viene aggiunta la mappa di Ter Mur e la nuova razza volante dei gargoyle, con molte caratteristiche uniche e alcune nuove skill. La successiva espansione High Seas si focalizza soprattutto su nuove funzionalità di gioco marittimo, rivoluzionando il sistema delle barche e includendo la famosa funzionalità di "boat smooth movement".
Dal client 7.0.18 in poi vengono abbandonati i vecchi file .mul e viene utilizzato il nuovo formato .uop
Files
https://web.archive.org/web/20040203135058/http://alazane.surf-va.com/file_formats.html
ZHI 2001
Lo ZHI del 2001 distribuiva tutte le personalizzazioni (inclusi gli hues), in un unico file verdata.mul personalizzato. Tutti gli altri files, appartenenti probabilmente all'espansione Renaissance o T2A non erano stati modificati. Di seguito, il contenuto del verdata:
Items
- Gli items 0x0dda - 0x0dde che nel gioco originale conterrebbero un "red moongate" con relativa animazione contengono invece un nuovo tipo di gate (quello usato per il CTF), con la relativa animazione
- L'item 0x3d85 è stato aggiunto in uno spazio vuoto e rappresenta un parallelepipedo bianco con sopra un simbolo giallo
- L'item 0x3d86 è stato aggiunto in uno spazio vuoto e rappresenta un paio di pantaloncini molto corti
- L'item 0x3d87 è stato aggiunto in uno spazio vuoto e rappresenta una corda
- L'item 0x3d88 è stato aggiunto in uno spazio vuoto e rappresenta un mount (?)
- L'item 0x3d89 è stato aggiunto in uno spazio vuoto e rappresenta gli occhiali da sole
- L'item 0x3ea2 è stato aggiunto in uno spazio vuoto e rappresenta un mount (?)
Gumps
- Le gump 0x7d0, 0x7d1 sono state rimpiazzate con gump personalizzate per il paperdoll
- Le gump 0x802, 0x803, 0x804, 0x807 sono state rimpiazzate con gump personalizzate per lo status
- La gump 0x816 (messaggio di conferma) è stata rimpiazzata con una ricolorata a tinte marroni anziché grigie
- La gump 0x866 (secure trade) è stata rimpiazzata con una ricolorata a tinte marroni anziché grigie
- La gump 0x906 (scelta colore) è stata rimpiazzata con una ricolorata a tinte marroni anziché grigie
- Le gump 0x910 e 0x911 (craft menu) sono state rimpiazzate con gump ricolorate a tinte marroni anziché grigie
- La gump 0x9c4 (messaggio di conferma) è stata rimpiazzata con una ricolorata a tinte marroni anziché grigie
- La gump 0xc850 è stata aggiunta per raffigurare gli occhiali da sole nel paperdoll
- La gump 0xef60 è stata aggiunta per raffigurare gli occhiali da sole nel paperdoll
Inoltre, nell'ottica del passaggio a una distribuzione futura:
- Le gump 0x2a6c e 0x2a6d, del tutto assenti nello ZHI originale, rappresentano la nuova finestra di stato di AOS e successivi
Hues
La pratica di inserire i colori nel verdata non è mai stata adottata ufficialmente da OSI e per questo è quasi sconosciuta e non documentata. I colori nel verdata possono essere rimappati solo a blocchi di 8. Non esiste, a quanto pare, un tool per estrarli, ma sono riuscito a scriverne uno ad hoc (parsestatic.py). I colori così rimappati sono:
- 1153-1184
- 1273-1312
Tile Data
Nelle espansioni più recenti, le gambe della plate sono state spostate sullo stesso layer dei pantaloni (4) anziché sul layer dedicato (24), che è usato per il supporto alle razze e le pelli dei PG. Come conseguenza, non è più impossibile indossare pantaloni e plate contemporaneamente a meno di non cambiare di nuovo il layer alle grafiche 0x1411 e 0x141a.
Usando UO Fiddler, il layer è indicato come "Quality"
Tools
- UO Fiddler, rilasciato dagli stessi sviluppatori del POL, è uno strumento completo per la visualizzazione e la modifica dei files .mul. Integra inoltre un ottimo plugin (disabilitato per default) per la comparazione dei files.
- SUMP è un ottimo tool multiuso:
Simple Ultima Multi Patcher .4 Currently supported UO clients: 4.x - 7.x Note: wildcards are supported for filename. For example: *.exe Usage: SUMP.exe <filename> <options> Example: SUMP.exe client.exe -m -l -s -b -g -e -h Options: -m : Apply multi-uo patch which allows you to run multiple clients. -l : Apply always light patch. -s : Remove stamina check when pushing through mobiles. -b : Apply Batlin's sleep patch to reduce CPU usage. -g : Apply Garret's patch to display no-draw items. -e : Remove protocol encryption (and decryption). -h : Apply hifi's global sound patch which enables sound for minimized client.
Problemi noti
Stamina Bug
Quello che viene comunemente chiamato stamina bug non è in realtà un bug ma bensì una feature del client. Utilizzando un POL dalla versione 096 in poi che supporti i reami multipli, il client viene informato del reame in cui si trova. Il reame di default è map0, ovvero Felucca. Le regole ufficiali OSI di movimento su Felucca prevedono che per oltrepassare una qualsiasi altra creatura si debba essere a piena stamina; trattandosi di una regola molto antica e mai modificata, questa è hardcodata anche nel client, per prevenire l'effetto "bounce".
Nonostante si tenti quindi di permettere il movimento, sarà il client a rifiutarsi di inviare il pacchetto di richiesta di movimento quando un'altra creatura è presente sulla sua strada e la stamina non è al massimo.
Questo problema è risolvibile patchando il client.