Ryandor.com

Forums
It is currently Thu Mar 28, 2024 5:11 pm

All times are UTC - 7 hours [ DST ]




Post new topic Reply to topic  [ 72 posts ]  Go to page 1, 2, 3  Next
Author Message
 Post subject: Custom map sizes???
PostPosted: Thu Dec 09, 2004 12:33 am 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Back when I didn't have an internet connection for a while I was messing around a bit with assembly and (*cough*disassembly*cough*). I got to thinking about it, and seeing as how it's the client that throws the fit and crashes when it's not loading a correct map size, do you think it's possible to actually patch the client to allow for custom map sizes? Imagine playing in a map 3-4 sizes larger than map0!

Now I'm sure this has been thought of before... but it has to be a client issue, and if you can disassemble the client, you can edit the client. I could probably make a patch that alters the client for you as well so it can accept a custom map size.

Now I know a lot of people frown on these methods. I would rather not go through the trouble of building my own custom client however.

I mentioned this to Lynxx and he stated that he thought the code that determines the sizes of the maps was in the mul files somewhere. I was under the assumption that it would actually be a part of the executable.

I guess I would like to know if anybody can confirm whether or not the map size is determined somewhere in the executable or in the mul files. This is a project I would like to see happen.

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Thu Dec 09, 2004 12:48 am 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 971
It's in the client.

I seem to remember a discussion on this topic somewhere to the effect that due to the way the client is coded, it's not as simple as some simple editing of values. I read that it would take a massive amount of hacking the client to actually get it to read a new map size.

_________________
-= HellRazor =-
Shattered Sosaria is coming!
http://www.shatteredsosaria.com


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 10, 2004 6:48 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Yeah, I figured it was in the executable. I havn't ever read any posts on the topic but I'm sure I'm not the first person to think it up.

Do you have any experience using assembly or hex editing HellRazor?

I'd like to maybe put together a team to try to accomplish this. I think it's a really cool idea. I just have to find people willing to try it.

On the other hand, we could always just try and talk someone like krios or the Iris team into looking into making custom map sizes as well. The Iris 3D client was built from scratch correct? I mean it doesn't contain any source code from the original client? I'm just assuming these things to be true honestly. I guess I could go ask them myself huh?

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 10, 2004 7:29 pm 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 971
I've played around with hex editors, but I don't know squat about assembly. These guys are all assembly gods though, in fact I think its where I read the conversation about map sizes in the client not being easy to edit:

http://uo.elitecoder.net

Krrios client and Iris are both coded from scratch, but they are closed source. :(

_________________
-= HellRazor =-
Shattered Sosaria is coming!
http://www.shatteredsosaria.com


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 10, 2004 8:01 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Yeah I knew they where closed source, but that doesn't mean they won't give you advice or clue you in on how it might be accomplished.

Thanks for the link though!

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Fri Dec 10, 2004 10:41 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Hey I found this post. Apparently they're saying it's pretty easy. I just have to get more info.

I'm not sure how they're searching for the actual map0.mul file name in order to refrence it back to the file size...

If this is super easy to do I will deffenitly be able to cook up a patch, possibly with the ability to input your own custom map size. :D

Unfortunatley, while I'm thinking about it it... Does the new Dragon have the ability to do custom map sizes? I see you can enter any values you want for the height and width... OR will it only do the map0, map2, map3 files?

That would rawk if it could do custom sizes.

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 11, 2004 12:41 pm 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 971
Definately. :) Hope you are successful!

_________________
-= HellRazor =-
Shattered Sosaria is coming!
http://www.shatteredsosaria.com


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 11, 2004 6:17 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Wouldnt you also have to modify the EMU engine code to accept the new map size?

The source for Worldforge is availible, you can rummage through it and change the code for different sized maps I'm sure.

Thought Iris was opensource? That might be a good client to look at for reference.

(edit) You might also want to check UOP which you can locate here;

http://www.koders.com/info.aspx?c=ProjectInfo&pid=nH8Mo8SpVgIrHaSaW5ObdA__&fld=uop%5cuop%5cuop%5c

Dev

_________________
"So...if crazy people don't know their crazy...does that mean your only sane if your know your crazy?"


Top
 Profile  
 
 Post subject:
PostPosted: Sat Dec 11, 2004 7:19 pm 
Offline
Slayer of Fools
Slayer of Fools
User avatar

Joined: Tue Jul 02, 2002 4:54 pm
Posts: 1289
Dev Viperrious wrote:
Wouldnt you also have to modify the EMU engine code to accept the new map size?
Dev


That's trivial compared to the client. I am pretty sure that RUO will accept any size map. You just have to define it in the map script. I'm not current on other emus.

_________________
This space for rent.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 12, 2004 12:53 am 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
One thing I do is make "Zones" simular to EQ but no loading times. Just run down a mountain pass and end up on another huge map area of the world.

This does away with Moongates and makes the world seamless. Simple to do and more fun to me than the old way. It would be nice to have the option to change the sizes though.

Dev

_________________
"So...if crazy people don't know their crazy...does that mean your only sane if your know your crazy?"


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 12, 2004 3:23 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Well, just an update for you guys.

My cousin and I have made some leeway. We're messing around with both open source clients, UOP and Iris. Although Iris we can't seem to get to compile from source. I'm not sure if this is because it's the CVS version or not.

In any case Iris requires that you use 3rd Dawn which would be a bummer for all of the "Current Expansion" UO players out there. It has limited support for AoS, and I'm sure Samurai Empire isn't going to be supported anytime soon.

With this in mind, the client we ARE going to release our first patch for is tied at the moment between UOP (which has since been renamed uFalcon) and the original Ultima Online client.

We may take the time to come out with a patch for all three clients. But as I mentioned earlier we can't seem to get Iris to compile from source... (damn Dev-C++ and it's strange way of doing things) So we may end up having to use the assembly methods in more than one case.

Anybody have any suggestions?

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 12, 2004 3:28 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Dev Viperrious wrote:
One thing I do is make "Zones" simular to EQ but no loading times. Just run down a mountain pass and end up on another huge map area of the world.

This does away with Moongates and makes the world seamless. Simple to do and more fun to me than the old way. It would be nice to have the option to change the sizes though.

Dev


Oh, and Dev, this is a great idea. But how do you set it up so that two different maps fit together seamlessly? Or do you use teleporters... IE you can't see the next map until you step on the teleporter...

Can you imagine using this method with 4 different maps at whatever size you want them to be?

Oh, and one more thing that my cousin and I realized as we started to get into this. We will be able to change the filename that the client refrences for Trammel and Feluccia... this means we can cause the client to actually refrence a map1.mul, this way you would technically be able to change the 2nd map to your hearts content.

How's that for super cool?

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 12, 2004 6:14 pm 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 971
That would be VERY cool. :)

_________________
-= HellRazor =-
Shattered Sosaria is coming!
http://www.shatteredsosaria.com


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 12, 2004 6:18 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Well obviously it doesnt work for water as it will just take you back to the same map but it works good for land.

You simply do just like they did in EQ, make a long mountain pass where thats all you can see on screen on both sides of the map and link them with teleporters instead of moongates.

I suppose you can link sections of water this way if you modified the Serpent Pillar scripts to work on a permanent basis for a given section of water. Being a none scripter I dont change to much but I have done some nifty editing for basic things.

(Edit) I keep forgetting to ask if your using "Softice" to look at the client to see what makes it tick? If you dont have it, get WinMX and try to download it. Works great.

Dev

_________________
"So...if crazy people don't know their crazy...does that mean your only sane if your know your crazy?"


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 13, 2004 10:02 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Okay...

Everybody ready for some good news? It works!!!

Well sorta.

Here's the thing. I've sucessfully edited the map size... only as far as I can tell it loops on forever.

And something really weird happens... You can teleport out into infinite....

When I teleport back, I've noticed that the blackness ends at 5106, I'm not sure why :lol: And there are some weird patterns the grass makes up. I don't know if this is a combination of problems between the client and the server... the map WAS supposed to be 9000 x 6144.

I used Dragon to build it and maybe it couldn't do this correctly either?

RunUO keeps giving me this error as well, "Warning: Static EOS for Trammel (657, 230)" the end two values change as well.

BUT! here is some proof of success.

http://obscurum-incarnate.net/images/sorta.jpg

You'll notice the where command yeilds some cool results... yes this is map0.mul

:D

It begins...

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 13, 2004 10:59 pm 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 971
I would be happy just to be able to get Felucca and Trammel to use seperate maps. That would give us a new Britannia-size map to play with.

_________________
-= HellRazor =-
Shattered Sosaria is coming!
http://www.shatteredsosaria.com


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 13, 2004 11:28 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
One thing at a time my friend, one thing at a time. :lol:

If someone wants to read the technical stuff they can see it here...

http://uo.elitecoder.net/phpBB/viewtopic.php?t=300

This is the breakdown of the current problem.

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 14, 2004 7:01 am 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Ahh cool! The static error caused by the static file size not matching the map size?

It would be really cool just to have a map thats larger than the original. Nicer still to find out the method they used to limit the sizes of "all" the maps so we could change them all to any size we need.

Way to go Naz. :)

Dev

_________________
"So...if crazy people don't know their crazy...does that mean your only sane if your know your crazy?"


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 14, 2004 8:29 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Eh...

I wouldn't congratulate me yet. I have noticed that the map is doing something very very strange...

It appears that it is creating rectangles (if you will) of land mass.

I noticed however that the statics0.mul had the same values as the map0.mul in the client... so I edited it the exact same.

Well, the client still loads correctly, but still no go on the correct size. This is still gonna take some work I beleive. I'm not quite understanding how it's doing it but somehow I'm not getting one of these values correct. There must be something I'm not incrementing correctly.

Anybody have any ideas? If so post em! In any case I'm gonna get back to hammering on this thing. WE WILL HAVE CUSTOM MAP SIZES!!!!

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 14, 2004 9:55 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
I was WRONG about the squares!!!! The squares where the edge of the diff files in all actuality... Remove the diff files you remeove the squares... It was actually simple really. SOOOO... what does this mean? Well it means one thing...

I have discovered how to change the y axis on the map. I have succesfully increased the y axis to 9000...

This is an additional 30,130,176.

For a grand total of 55,296,000 tiles on this map. That is over TWICE the size of the regular UO map!!! Already!!!

Okay. It's not without it's problems though. For some odd reason, whenever I teleport using the RunUO command "[go" I can't go within 1000 tiles of the edge either way. If I do, I end up in blackness. I'm at my location... just nothing underneath me. It is also possible to run off the edge of the map. I havn't discovered how to wrap it around yet.

Perhaps one beggets the other? I don't know. In any case, time to get working on this x axis.

:D

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 14, 2004 11:18 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Hmm well the mul and statix files use the same format of unsigned 16 bit integers so the max would be 65535.

It also uses 8x8 cell formating meaning that any adjustments made would have to follow that same rule so when you try to expand it outward the dimensions would need to be multiples of the 8x8 rule.

Check this old site for some info on the files

http://arachnide.sourceforge.net/

Inside UO also had greater insight on the files and their formating but the old link doesnt work anymore.

Your whole problem might be the mismatch between the hight and length or x and y of the map. Course if you really wanted it to be huge then it would have to be 32 bit which would require gutting the client all together and creating a custom EMU to drive it, hehe e.g. your own game :P

Dev

_________________
"So...if crazy people don't know their crazy...does that mean your only sane if your know your crazy?"


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 15, 2004 2:45 am 
Offline
Slayer of Fools
Slayer of Fools
User avatar

Joined: Tue Jul 02, 2002 4:54 pm
Posts: 1289
Great work Naz...err Nez...whatever you want to call yourself today :P
Only thing I can think of offhand with RUO is....you did go in and edit the map...map....map.....damnit I'm not even as old as Dev and I am twice as senile (at least). Whatever the goddamn map script is called. It's in the misc folder I think. You know what script I'm talking about, the one where you define the mapsize and the season and if it uses Trammel or Feluca rules. You did edit that right?

_________________
This space for rent.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 15, 2004 6:03 am 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
MapDefinitions.scp? Yeah it's one of the first things I changed. So I don't think it's my map definitions... although some of that script confuses me... especially the need for MapID and fileIndex. I'm not to sure what those to variables could be refrencing.

So if you wanted to just throw in a new map you just make up any old number? I can't imagine that working.


Anyway, back to resizing stuff. I think both my values are multiples of eight aren't they? 9000 / 8 = 1125, 6144 / 8 = 768. Yeah, I'm not sure if that's the problem unless the difference must be visible by eight as well. Well, nope that ends up being 2856 / 8 = 357... So that evenly divides as well. Oh wait, 8 x 8 blocks... That may not work out correctly now that I think about it. Eh... I just woke up so I'll have to think about it some more.

Thanks for the link Dev!!! I'll look at it today while I'm struggling to figure out the x axis, and the teleportation bug.

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 15, 2004 1:19 pm 
Offline
Slayer of Fools
Slayer of Fools
User avatar

Joined: Tue Jul 02, 2002 4:54 pm
Posts: 1289
Nezgruhel wrote:
So if you wanted to just throw in a new map you just make up any old number? I can't imagine that working.


Yes and no. From the serverside I think that is it. In theory RUO should handle anything you put in there. Making it work on the clientside is a bit more involved, as your work shows. Of course since you need it to work on both sides, it does put you in the "Which came first, the chicken or the egg?" quandry.

_________________
This space for rent.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 15, 2004 7:00 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Yeah the 8x8 thing is a bit trickier than might be suspected. It would work like so.

1 Block of 64 by itself is fine, 2 blocks ok all the say down to 8 which is how many the main UO Map is if I remember right now the tricky part is once you start adding more rows.

UO runs blocks down and cells across so 8 blocks down are ok but if you do 8 down and then only the top to blocks in the next row it wont work because it would need to match the first row thus you would need to expand it to the full row of 8.

Or you could shrink it down to 2 blocks high and 2 wide which should work as well. See what I'm saying? So on your map you would need to expand the blocks in the x and or y by the same amounts to create full matching rows.

1,2,3,4,5
2,3,4,5,6
3,4,5,6,7 would be ok

1,2,3,4,5
2,3,4,5,6
3,4, would not be

See?

Dev

_________________
"So...if crazy people don't know their crazy...does that mean your only sane if your know your crazy?"


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 72 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 7 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group