RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Resource icon

[2.x] Ultima Live Map Streamer and Editor 0.97

No permission to download

Praxiiz

Sorceror
Usually when it's an issue with a file that's not found, or access denied, it happens right at the end or close to it. Since that's not the case, we'll have to try to narrow it down by some other means. Have you used the debug version of the dll before?
 

Praxiiz

Sorceror
fwiffo said:
If you move a static the colors of other in same coords loose their color.

I found and fixed this bug, and will include it in the next release.

In MapOperations.cs on line ~413

Code:
newTileList[index] = new StaticTile((ushort)m_StaticTiles[i].ID, (sbyte)m_StaticTiles[i].Z);

should be changed to

Code:
newTileList[index] = new StaticTile((ushort)m_StaticTiles[i].ID, (byte)m_StaticTiles[i].X, (byte)m_StaticTiles[i].Y, (sbyte)m_StaticTiles[i].Z, (short)m_StaticTiles[i].Hue);
 

Praxiiz

Sorceror
Ok got it installed worked perfectly ... Found and Issue for ya though. If you use the teleporter and teleport to a city you have never been in or use the staffrunebook as a GM and go to a place that you never have been you get stuck in a black screen and cannot move. If you run and open up the area first and then tele there you are fine.

I believe I have a fix for this. There is an issue with the way that the client reloads portions of the terrain depending on if a player is past the map wrap point or not. I refactored the code in UltimaLive that handles this and it should be available in the next release.
 

Eric T. Benoit

Wanderer
Usually when it's an issue with a file that's not found, or access denied, it happens right at the end or close to it. Since that's not the case, we'll have to try to narrow it down by some other means. Have you used the debug version of the dll before?

I haven't, but will try it out in the morning. Thanks for all the help! :)
 

Praxiiz

Sorceror
I wiped the windows 8 machine (actually a virtual machine) and restored it to a new state. Reinstalled the 7.0.13.4 client and steam. Still wont crash for me.
 

Eric T. Benoit

Wanderer
I'm beginning to feel like Alice...curiouser and curiouser...

Here is output from the debug dll:

Code:
~~~~~~~~~~~~~~~~~~~~~~Login Handler received on before change map packet
~~~~~~~~~~~~~~~~~~~~~~ SENDING cached login packet
Sending Packet to Client!
Atlas: Refreshing Client View
Sending Packet to Client!
Sending Packet to Client!
Sending Packet to Client!
ON BEFORE LOAD MAP: 1
MAP DEFINITION NOT FOUND: 0
Atlas: Got Hash Query

Seriously?! Can't find fel?!

Here is the complete output:

Code:
SEND FUNCTION ADDRESS 0x463f40
RECV FUNCTION ADDRESS 0x482720
NETWORK OBJECT ADDRESS 0xa76ffc
PLAYER BASE POINTER 0xab7d14
Installing Client Hooks
RECEIVE ADDRESS 0x482720
SEND ADDRESS 0x463f40
PLAYER BASE POINTER: 0xab7d14
NETWORK ADDRESS POINTER: 0xa76ffc
UPDATE STATIC BLOCKS ADDRESS POINTER: 0x587290
Initializing UO Live App State
version = 7, 0, 13, 4 = 0x70000, 0xd0004
Using older client FileManager
Map 0x5890000
Statics 0x10040000
Staidx 0xb7f0000
Initializing Network Manager!
send packet handlers: 2
recv packet handlers: 5
send ext packet handlers: 0
recv ext packet handlers: 1
recv ultima live packet handlers: 5
m_pMapThingieTable: 0x00714818
m_pClientMinDisplayX: 0x00a721b8
m_pClientMinDisplayY: 0x00a721bc
m_pClientBlockArray: 0x00a72128
RefreshTerrainFunction1: 0x005885d0
RefreshTerrainFunction2: 0x005886f0
Master Statics List: 0x00ab7d20
MAP DIMENSION POINTER: 0x68411c
C:\Games\UO Infinity Custom Client\igrping.dll
C:\Games\UO Infinity Custom Client\igrping.dll
Sending UltimaLive Version Number 0.95
~~~~~~~~~~~~~~~~~~~~~~LOGIN HANDLER RECEIVED LOGIN CONFIRM
Change MAP PACKET
~~~~~~~~~~~~~~~~~~~~~~Login Handler received on before change map packet
Sending Packet to Client!
ON BEFORE LOAD MAP: 1
(((((((((((((Initializing Shard Maps)))))))))))))))))
MAP DEFINITION NOT FOUND: 0
~~~~~~~~~~~~~~~~~~~~~~ First Mobile Update from the server
Atlas: Refreshing Client View
Sending Packet to Client!
Sending Packet to Client!
~~~~~~~~~~~~~~~~~~~~~~LOGIN HANDLER RECEIVED LOGIN COMPLETE
C:\Games\UO Infinity Custom Client\igrping.dll
C:\Games\UO Infinity Custom Client\igrping.dll
Sending Packet to Client!
ULTIMALIVE v.0.95
Change MAP PACKET
~~~~~~~~~~~~~~~~~~~~~~Login Handler received on before change map packet
~~~~~~~~~~~~~~~~~~~~~~ SENDING cached login packet
Sending Packet to Client!
Atlas: Refreshing Client View
Sending Packet to Client!
Sending Packet to Client!
Sending Packet to Client!
ON BEFORE LOAD MAP: 1
MAP DEFINITION NOT FOUND: 0
Atlas: Got Hash Query
CLIENT HAS CRASHED!  Crash Report:
0018e454  | f4 7e 01 07 00 0d 04 00  00 00 00 00 00 45 6c 6d | .~...........El
m |
0018e464  | 73 65 65 6b 65 72 00 18  00 05 00 00 00 09 00 00 | seeker.........
. |
0018e474  | 00 0f 00 00 00 08 90 bf  63 08 3a c4 63 45 6c 6d | ........c.:.cEl
m |
0018e484  | 73 65 65 6b 65 72 00 00  00 00 00 00 00 00 00 00 | seeker.........
. |
0018e494  | 00 00 00 00 00 00 00 00  00 00 00 00 00 31 39 32 | .............19
2 |
0018e4a4  | 2e 31 36 38 2e 32 30 30  2e 34 00 00 00 00 00 49 | .168.200.4.....
I |
0018e4b4  | c0 00 00 05 69 67 72 70  69 6e 67 2e 64 6c 6c 00 | ....igrping.dll
. |
0018e4c4  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e4d4  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e4e4  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e4f4  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e504  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e514  | 00 00 00 00 00 00 00 00  43 52 41 53 48 00 00 00 | ........CRASH..
. |
0018e524  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e534  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e544  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e554  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e564  | 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 | ...............
. |
0018e574  | 00 00 00 00 00 00 00 00  00 00 00 00 00 3e fc 00 | .............>.
. |
0018e584  | 1f 13 64 9d c8 f7 64 9e  a3 15 64 9e 9f 19 64 9e | ..d...d...d...d
. |
0018e594  | 97 4f 64 9e 8f 65 64 9e  86 7d 64 9e 77 9c 64 9e | .Od..ed..}d.w.d
. |
0018e5a4  | 45 36 64 a0 48 7f 64 a0  3b 81 64 a0 2d 36 64 9f | E6d.H.d.;.d.-6d
. |
0018e5b4  | 1a 9f 64 9e ec ff 64 9e  bb af 64 9e d3 5f 64 9e | ..d...d...d.._d
. |
0018e5c4  | d4 48 64 99 9c 1c 00 46  40 ca 00 d4 64 01      | [email protected].
  |
 

Praxiiz

Sorceror
fwiffo said:
If you export them the order is swapped. So the static that should be seen above the other in the same coord is shown below, loosing the graphical effect.

In ClientFileExport.cs starting at line 185:
Code:
                        //Static File
                        for (int i = 0; i < staticTiles.Length; i++)
                            for (int j = 0; j < staticTiles[i].Length; j++)
                            {
                                StaticTile[] sortedTiles = staticTiles[i][j];
                                Array.Sort(sortedTiles, BlockUtility.CompareStaticTiles);
 
                                for (int k = 0; k < sortedTiles.Length; k++)
                                {
                                    staticWriter.Write((ushort)sortedTiles[k].ID);
                                    staticWriter.Write((byte)i);
                                    staticWriter.Write((byte)j);
                                    staticWriter.Write((sbyte)sortedTiles[k].Z);
                                    staticWriter.Write((short)sortedTiles[k].Hue);
                                    finishBlock += 7;
                                }
                            }

There is a line that sorts statics before they are exported:

Code:
Array.Sort(sortedTiles, BlockUtility.CompareStaticTiles);

You could comment that line out and see how it changes things.

The code that actually sorts statics is found in BlockUtility.cs:
Code:
        public static int CompareStaticTiles(StaticTile a, StaticTile b)
        {
            int retVal = a.Z.CompareTo(b.Z);
            if (retVal == 0)
            {
                retVal = a.ID.CompareTo(b.ID);
            }
            if (retVal == 0)
            {
                retVal = a.Hue.CompareTo(b.Hue);
            }
            return retVal;
        }

If the Z value is the same, it sorts by ItemID, and then by Hue. I don't remember where I got the sorting order from, but it's probably wrong.
 

Eric T. Benoit

Wanderer
After poking through the other program a bit, I also found several of these:

Code:
9:47:06.4743598 AM    client.exe    3540    CreateFile    C:\Users\Elmseeker\Documents\EA Games\Ultima Online Legacy\User Data\Elmseeker\Infinity TC\Elmseeker\uo.cfg    SUCCESS    Desired Access: Generic Write, Read Attributes, Disposition: OpenIf, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: Read, Write, AllocationSize: 0, OpenResult: Opened
9:47:06.4753120 AM    client.exe    3540    CreateFile    C:\Users\Elmseeker\Documents\EA Games\Ultima Online Legacy\User Data\Elmseeker\Infinity TC\Elmseeker    SUCCESS    Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
Why it is trying to create user data in that location rather than my install folder is beyond me...if my registry entries pointed there I could understand but alas...

Code:
Windows Registry Editor Version 5.00
 
[HKEY_LOCAL_MACHINE\SOFTWARE\Origin Worlds Online\Ultima Online\1.0]
"ExePath"="C:\\Games\\UO Infinity Custom Client\\client.exe"
"InstCDPath"="C:\\Games\\UO Infinity Custom Client"
"PatchExePath"="C:\\Games\\UO Infinity Custom Client\\uopatch.exe"
"StartExeParg"="C:\\Games\\UO Infinity Custom Client\\uo.exe"
 

Praxiiz

Sorceror
I'm beginning to feel like Alice...curiouser and curiouser...

Actually what you posted is perfect. When you installed the newest version, did you grab a fresh copy of the server side scripts?

You're not receiving the map definitions before the client is trying to load the map. This happens at a slightly different time than it used to.
 

Eric T. Benoit

Wanderer
Actually what you posted is perfect. When you installed the newest version, did you grab a fresh copy of the server side scripts?

You're not receiving the map definitions before the client is trying to load the map. This happens at a slightly different time than it used to.

Hmm...yeah, I had actually deleted the older ones last week, then when this one was released I grabbed it from your inclusion in the thread here and put in the new ones. I will try and delete them and replace just to be extra sure though...get back to you in a few minutes with more.
 

Praxiiz

Sorceror
Welcome to the Ultima Online client. It's a mad house. It tries to do all sorts of stuff like load map9.mul
 

Praxiiz

Sorceror
Basically what is happening is that it's not getting the map definitions. Did it compile right out of the box?

I may do another release sooner than later.
 

Praxiiz

Sorceror
Currently in the MapRegistry.cs there is a line of code at line 66:

Code:
m_MapAssociations[associated] = new List<int>() { index };

I believe that they didn't introduce this type of initializer until .NET 3. If your server uses any of the new .NET frameworks, then it probably works. If not, then that line should be changed to:

Code:
m_MapAssociations[associated] = new List<int>();
m_MapAssociations[associated].Add(index);

That might be the issue with the map definitions, although I would just expect it not to compile.
 

Eric T. Benoit

Wanderer
Well, I just removed the server side scripts folder and replaced with a copy from the .95 zip (last time it did compile with no issues) but now I am getting:

Code:
Regions: Loading...done
World: Loading...Loading Ultima Live map changes
Error:
System.NullReferenceException: Object reference not set to an instance of an obj
ect.
  at UltimaLive.CRC.OnLoad() in c:\RunUO\RunUO-2.4 - Test\Scripts\Customs\Custo
m Systems\UOLive\ServerSideScripts\CRC.cs:line 47
  at Server.WorldLoadEventHandler.Invoke()
  at Server.World.Load()
  at Server.Core.Main(String[] args)
This exception is fatal, press return to exit
 

Eric T. Benoit

Wanderer
You were right about the CRC, it is caused by these lines, which you may want to comment in future releases as most people will probably not have these maps the first time they try and run the system:
Code:
            AddMapDefinition(32, 0, new Point2D(7168, 4096), new Point2D(5120, 4096));
            AddMapDefinition(33, 0, new Point2D(7168, 4096), new Point2D(5120, 4096));
            AddMapDefinition(34, 1, new Point2D(7168, 4096), new Point2D(5120, 4096));

I made the change to the older code even though I am running .NET 4 (just to be safe) but nothing changed, still get the same crash. :(

Starting to make me think it is something on my system locally. Do you have an IM where we could talk? I am wondering if maybe you could try and log on to my test and see if you have any issues, that would certainly narrow it down. This not being an advertising thread, however, makes me not want to put the address in here.
 

Eric T. Benoit

Wanderer
Ok, maybe it's not my local system. Just had one of my staff try and he's getting the same crashes. I wonder if UltimaLive is not looking in the right place for the muls? Also, does it need a complete install or just the muls?
 

Gamble

Traveler
Ok a little more info on my issue. It looks like everywhere I gate in is good except Luna and Umbra. Those seem to be the only places that give a black screen or I fall through the floor of them.
 
Top