These are chat archives for ZaneDubya/UltimaXNA

2nd
Nov 2016
Zane Wagner
@ZaneDubya
Nov 02 2016 00:36
I've spent the last two hours trouble shooting mp3 playback. This sucks
Zane Wagner
@ZaneDubya
Nov 02 2016 00:49
Fixed it.
That sucked.
What a waste of hours.
Zane Wagner
@ZaneDubya
Nov 02 2016 01:03
The AControl.IsEditable property needs some serious reconsidering.
robn3t
@robn3t
Nov 02 2016 02:21
Hey guys. Awesome client im beyond excited to get some work in and hopefully feature it on my shard in the future. Quick question. My custom map and artwork, i depend on the client drawing the Art tile on certain parts of the map as i do not have custom textures made for them. I notice XNA wants to draw everything on the terrain using client textures instead of Art tiles that are sitting flat and not stretched? Is there a way to get it to correctly draw my map?
Jeff Boulanger
@jeffboulanger
Nov 02 2016 02:25
@ZaneDubya curse your egyption bracing for C#
robn3t
@robn3t
Nov 02 2016 02:26
lol
Jonathon Orsi
@jorsi
Nov 02 2016 02:37
Egyptian braces ftw
I hope after this weekend I'll be able to jump in and help out. So much activity lately.
robn3t
@robn3t
Nov 02 2016 02:44
@ZaneDubya Hey guys. Awesome client im beyond excited to get some work in and hopefully feature it on my shard in the future. Quick question. My custom map and artwork, i depend on the client drawing the Art tile on certain parts of the map as i do not have custom textures made for them. I notice XNA wants to draw everything on the terrain using client textures instead of Art tiles that are sitting flat and not stretched? Is there a way to get it to correctly draw my map?
Desttro
@Desttro
Nov 02 2016 06:29
@ZaneDubya Yes, I am also using 2D version ;)
Desttro
@Desttro
Nov 02 2016 06:34
So only problem with LBR crashes was that LBR has only anim-anim2 right? And UltimaXNA expected animX.mul?
Jeff Boulanger
@jeffboulanger
Nov 02 2016 06:47
@robn3t we saw your post, you dont need to spam it ;)
if someone has an answer for you im sure they will give it ;)
Zane Wagner
@ZaneDubya
Nov 02 2016 11:22
@robn3t Can you post a picture of what you're seeing?
While I appreciate your enthusiasm, no need to post twice and pm people ;)
Zane Wagner
@ZaneDubya
Nov 02 2016 12:01
@jeffboulanger Thanks for hunting those installs down!
I'll have to try out a few more versions of the client...
@Desttro There are a few more issues with LBR. UXNA expects 55 skills; LBR has a few fewer than that. No necromancy, etc.
I've fixed that. Now I'm working on the next issue: LBR handles land patches differently than ML.
Slightly differently. Should be an easy fix.
There will likely be more issues. I'm just going to have to work my way through them one by one.
Zane Wagner
@ZaneDubya
Nov 02 2016 12:07
Ah! Fixed that.
I'm getting a ton of "CliLoc entry not found" errors. Maybe LBR handles Clilocs differently?
Screen Shot 2016-11-02 at 7.07.01 AM.png
Zane Wagner
@ZaneDubya
Nov 02 2016 12:17
Does LBR even have tool tips?
Zane Wagner
@ZaneDubya
Nov 02 2016 12:23
Yup, found a ton of patched clilocs in the LBR directory. I'll write some code to read these patched clilocs if they exist, and then, hopefully, the client should be compatible with LBR :)
Toni Spets
@hifi
Nov 02 2016 15:07
@ZaneDubya it would be handy to have a RunUO fork repository that has been configured and patched to work with the suggested UOML data as it would help me identify problems that could be caused by the port and not my inability to configure RunUO
and probably overall would help debugging issues when everyone could test against a known server
like "clone this and point it at the clean UOML installation"
it makes it a bit inconsistent that the targeted client version isn't the same as the UOML stock client so having that would be super
Zane Wagner
@ZaneDubya
Nov 02 2016 15:32
@hifi I'm not going to post a RunUO fork because you only need to change three lines to have it work with the ML dataset. Here's a quick two step how-to: (1) Download any reasonably recent version of RunUO. The most current release, 2.6, works. So does 2.3-2.5. Probably earlier ones as well. (2) Change the three lines indicated at this page https://github.com/ZaneDubya/UltimaXNA/wiki.
You'll need to start with a fresh RunUO download if you've tried to run it without making those three changes first.
Toni Spets
@hifi
Nov 02 2016 15:34
the server (default Scripts?) really really really doesn't expect something funky from the data files?
Zane Wagner
@ZaneDubya
Nov 02 2016 15:34
Really really really.
It's designed to run on multiple kinds of data files. The changes I indicated in that webpage will inform the server what kind of data to expect.
Promise!
:)
Toni Spets
@hifi
Nov 02 2016 15:34
pinky promise?
Zane Wagner
@ZaneDubya
Nov 02 2016 15:35
Idk, that's asking a lot of me ;)
Toni Spets
@hifi
Nov 02 2016 15:35
I'll take your regular promise with three times of "really" then
Zane Wagner
@ZaneDubya
Nov 02 2016 15:35
Great! :sweat_smile:
Toni Spets
@hifi
Nov 02 2016 15:35
and yes, I cloned runuo and then did the changes before even building it
so it should really really really not have anything generated that would conflict
Zane Wagner
@ZaneDubya
Nov 02 2016 15:36
Right!
Toni Spets
@hifi
Nov 02 2016 15:36
also runuo works better than servuo for some reason
where servuo is a fork of some kind
why there needs to be forks of runuo, I don't know
it's again a project which should have all attention directed at a single repository
Zane Wagner
@ZaneDubya
Nov 02 2016 15:37
ServUO is, I believe, a collection of extensions that improves that game experience. RunUO is just the 'core' which can be extended.
I wouldn't be surprised if ServUO has some scripts that would expect/require the post-ML dataset.
Stock RunUO, however, does not.
Toni Spets
@hifi
Nov 02 2016 15:38
also regarding clilocs, with a default runuo server npc that were trying to talk me just had a cliloc entry missing text instead of the text
with stock uoml client they showed up fine, odd
I really need to build and compare UltimaXNA on a virtual Windows on the same server
these are again something that should probably just work
Zane Wagner
@ZaneDubya
Nov 02 2016 15:39
I've just discovered that I'm not picking up all the clilocs.
Toni Spets
@hifi
Nov 02 2016 15:39
that might be it then
Zane Wagner
@ZaneDubya
Nov 02 2016 15:39
At least in LBR, and it's possible there are more in ML.
Toni Spets
@hifi
Nov 02 2016 15:40
can I ask one simple thing to lowercase all filenames in the code?
UO filenames
Zane Wagner
@ZaneDubya
Nov 02 2016 15:40
I don't see why that would be a problem.
Toni Spets
@hifi
Nov 02 2016 15:40
case sensitivity is a thing outside Windows
Zane Wagner
@ZaneDubya
Nov 02 2016 15:40
I'll also switch all the file separators to forward slashes.
Toni Spets
@hifi
Nov 02 2016 15:40
it would probably fix some silent missing files for me
if the client doesn't visibly complain about any missing file
Zane Wagner
@ZaneDubya
Nov 02 2016 15:41
Ok. So ---- not all lower case then, but rather, match the case of the original files?
Toni Spets
@hifi
Nov 02 2016 15:41
are the original files even consistent regarding the case?
Zane Wagner
@ZaneDubya
Nov 02 2016 15:41
Yeah, I can do that.
Toni Spets
@hifi
Nov 02 2016 15:41
if they are, that would be better than lowercasing I suppose
but if they aren't, lowercasing would be better then
Zane Wagner
@ZaneDubya
Nov 02 2016 15:41
lol, I have no idea. Would not be surprised if they weren't. The UO dataset is ... not ... uniform.
Toni Spets
@hifi
Nov 02 2016 15:42
it's easier to run a to-lowercase script in the uo directory than trying to figure out the case
I had to carefully adjust a lot of files for UltimaMono ;)
from the default UOML installation
I can tell Mono to ignore file case as well, though
that's not a pretty solution as it relies on mono behavior
Zane Wagner
@ZaneDubya
Nov 02 2016 15:44
That might be better. Or perhaps there's some functionality in Path that would find the appropriate file regardless of capitalization?
Toni Spets
@hifi
Nov 02 2016 15:44
there isn't a magic trick on non-Windows systems to find files ignoring case, the only way is to take the full directory listing and do case insensitive match against all files
the good news is, UO/UXNA doesn't load that many files
I have NPC on water so that's something
Zane Wagner
@ZaneDubya
Nov 02 2016 15:46
You found jesus.
Toni Spets
@hifi
Nov 02 2016 15:46
and he was hiding inside my runuo all that time!
http://i.imgur.com/fOo51Wz.jpg this place near the spawn when I run the clean runuo server looks kind of broken
that floating piece of roof and I keep rubberbanding a lot in there
don't have any idea where that even is :D
it really feels like the server and client statics aren't in sync
because places like brit work fine which hasn't really changed
Zane Wagner
@ZaneDubya
Nov 02 2016 15:50
Is that near new haven>
Toni Spets
@hifi
Nov 02 2016 15:51
can I enable some debug feature to see some coords?
Zane Wagner
@ZaneDubya
Nov 02 2016 15:52
If you're logged in as admin on runuo, you can do [props
Toni Spets
@hifi
Nov 02 2016 15:53
wait wtf
when I open up the uoml client it's completely different
Zane Wagner
@ZaneDubya
Nov 02 2016 15:54
haha that's great!
what is this sorcery!
I didn't move at all
both clients are in the same uoml directory
Zane Wagner
@ZaneDubya
Nov 02 2016 15:55
Very interesting!
Toni Spets
@hifi
Nov 02 2016 15:55
it explains why I'm rubberbanding because UltimaMono really wants to walk through those walls
but what the heck would explain the difference
am I in the wrong facet or something?
Zane Wagner
@ZaneDubya
Nov 02 2016 15:56
That was my thought.
I do love a mystery.
Toni Spets
@hifi
Nov 02 2016 15:57
need to add some debug prints
these things probably shouldn't even be broken
and the port most definitely shouldn't cause these kinds of problems
but sure, I'll figure it out
it's probably the facet on login that's wrong
and when you change facets it would fix itself
when I did online mapping things I found out that the client doesn't have the facet properly set on login at all times
Toni Spets
@hifi
Nov 02 2016 16:03
or I remember wrong
yeah, I'm in new haven
and ultimamono agrees
but some buildings are different, lol
although I think the UltimaMono building is much more charming
Toni Spets
@hifi
Nov 02 2016 16:38
if someone could give me a good hint what could cause something like that I could debug it
Zane Wagner
@ZaneDubya
Nov 02 2016 16:55
I'd guess uxna is reading from the wrong facet data.
could be map1.mul
could be stadif.mul
not sure
Toni Spets
@hifi
Nov 02 2016 16:56
but I'm on the correct location on the map
only some of the buildings are wrong
are the static buildings also on map1/stadif?
Zane Wagner
@ZaneDubya
Nov 02 2016 17:03
in statics and stadif
A lot of the heavy-duty simulation pieces in the game eventually got turned off or toned down to more smoke-and-mirrors implementations. A great example of one that was mostly non-functional by the time I joined the game was the "city guards love pastries" logic, wherein cityguards (cops) would nonchalantly follow players who possessed pastries (donuts)... a lot of very cool stuff, but also expensive in terms of simulation.
Toni Spets
@hifi
Nov 02 2016 17:16
Opened /media/uoml/drive_c/uo/tiledata.mul
Opened /media/uoml/drive_c/uo/staidx0.mul
Opened /media/uoml/drive_c/uo/statics0.mul
Opened /media/uoml/drive_c/uo/mapdif1.mul
Opened /media/uoml/drive_c/uo/mapdifl1.mul
Opened /media/uoml/drive_c/uo/stadif1.mul
Opened /media/uoml/drive_c/uo/stadifl1.mul
Opened /media/uoml/drive_c/uo/stadifi1.mul
These files are opened when I enter the game, looks correct?
Jeff Boulanger
@jeffboulanger
Nov 02 2016 17:21
@hifi ServUO was forked cause RunUO is dead and no longer maintained. Also ServUO has new built in features, optimization changes, etc.
Toni Spets
@hifi
Nov 02 2016 17:21
actually no, that's not ok, it's not loading map0, ha
closing in
Jeff Boulanger
@jeffboulanger
Nov 02 2016 17:24
ah i take that back mark is active again
Toni Spets
@hifi
Nov 02 2016 17:29
yeah, there's something funky going on with the fallback map loading
and it might even be a bug in UXNA instead of my port
I can fix this by forcing TileMatrixData to use index 0 instead of 1
yup, something wrong with the trammel fallback
because it loads the patch file for the original index and not trammel!
YES
Zane Wagner
@ZaneDubya
Nov 02 2016 17:42
Nice find!
I'll see if I can't fix that on my end this evening. Do you want to open an issue?
Toni Spets
@hifi
Nov 02 2016 17:42
I did, it might not be the correct fix, though
Zane Wagner
@ZaneDubya
Nov 02 2016 17:43
ty!
I'd noticed the same issue before, but I wasn't quite sure what was causing it.
Toni Spets
@hifi
Nov 02 2016 17:44
the fallback loading could benefit from a cleanup as it wasn't very clear what was causing it in the first place but I didn't dare to touch it
though, if there are felucca patch files, when should they be used then?
am I just incorrectly assuming new haven is in felucca and should use trammel patch file
frustrating when you don't know how it should work
Toni Spets
@hifi
Nov 02 2016 17:49
so new haven should be in trammel if my google fu is correct but the client is trying to load felucca map
my fix might be completely wrong
Toni Spets
@hifi
Nov 02 2016 18:02
ok, so here's the thing, server sends us map 1
and the fallback somehow screws up everything
Zane Wagner
@ZaneDubya
Nov 02 2016 18:07
If you haven't already, could you identify what code you mean by "fallback"
?
Toni Spets
@hifi
Nov 02 2016 18:09
the block I patched
it falls back to trammy if it can't load felucca map data
Zane Wagner
@ZaneDubya
Nov 02 2016 18:10
Gotcha.
Toni Spets
@hifi
Nov 02 2016 18:10
which is the correct behavior, of course, but it seems to load the wrong patch data because of it when it apparently should load trammy patch
which begs the question, why there is patch data for felucca index when there's no felucca map?
or is the patch data valid somewhere else
gtg, hopefully I indentified the right problem
Zane Wagner
@ZaneDubya
Nov 02 2016 18:12
As to "why is there patch data for felucca"...
When the UO team split the world into tram and fel back in 1998, they didn't add a second map. They simply set up a new set of statics for each map.
It was only much later that they actually created a second map for felucca.
So, when working with datasets created prior to the addition of map1.mul, you have to use the various diff files to create fel.
I'll look at your pr tonight. Thanks!
Zane Wagner
@ZaneDubya
Nov 02 2016 23:07
Oof, the map diff issue is going to be more difficult than I thought.
It has something to do with some clients not using the stadif files, and the general info 0x18 packet.
Zane Wagner
@ZaneDubya
Nov 02 2016 23:18
Ok, figured it out. I'm using the stadif files always. The client should only be using them when it receives an affirmative gi/0x18 packet.
... and RunUO disables using the diff files by default.