Ryandor.com

Forums
It is currently Wed Nov 25, 2020 10:15 pm

All times are UTC - 7 hours [ DST ]




Post new topic Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3  Next
Author Message
 Post subject:
PostPosted: Wed Dec 15, 2004 8:39 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
So the 9000 x 6144 wouldn't work then?

I'm confused...

Both numbers are divisible by eight. In Dragon you define map0.mul by letting it know that it is made up of 512 blocks horizontal and 768 blocks vertical.

each of these blocks is made up of 8x8 tiles like so?

1,2,3,4,5,6,7,8
2,3,4,5,6,7,8,7
3,4,5,6,7,8,7,6
4,5,6,7,8,7,6,5
5,6,7,8,7,6,5,4
6,7,8,7,6,5,4,3
7,8,7,6,5,4,3,2
8,7,6,5,4,3,2,1

If so then 9000 tiles across would equate evenly into 1125 blocks across.

So that should then work?

Am I right here?

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 15, 2004 9:55 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Yeah each block is 64 bits or tilesID's. So as long as you have as many rows as you do blocks down then it should work. Its suppose to read down and across according to the old info on it as well.

so...

block 1 of 64, block 4 of 64, block 7 of 64
block 2 of 64, block 5 of 64, block 8 of 64
block 3 of 64, block 6 of 64, block 9 of 64

To edit the map in Worldforge you had to divide everything by 8 (I think it was) to get the location, maybe that is a factor as well.

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: Thu Dec 16, 2004 3:04 am 
Offline
Slayer of Fools
Slayer of Fools
User avatar

Joined: Tue Jul 02, 2002 4:54 pm
Posts: 1289
Well I used to think I understood the 8x8 blocks pretty well, but after following this discussion I am completely lost. THANKS A LOT GUYS :P

You are right about the divide by 8 for WF Dev (at least the old versions of WF anyway).

_________________
This space for rent.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 21, 2004 8:18 pm 
Offline
Young
Young

Joined: Tue Dec 21, 2004 8:02 pm
Posts: 15
Good work Nez ! I am excited about a final client patch if everythings work fine !

But, for now, do you think that creating a map1.mul will be easier for you ? So a lot of ous will be able to have a new big map now and wait to see if the large map customization (beyond normal dimensions) is possible (i.e. working fine)

Thanks !


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 22, 2004 7:23 am 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Well the more I think about it the more I think it will be very very hard or not even worth the effort at all for either one.

Every time they patch the client it would possibly overwrite the patch for starters.

The map files would have to be edited along with the index files for it to tell it where the new start and finish is and you would also need to change the "round the world line" over by the dungeon region to allow people to get to the other area.

The changes would be ok if you never had to patch which wont happen because none of the EMU's were ever smart enough to stop trying to keep up with the online servers except for POL.

I think for any chance of this to work you would need to create a client from scratch like Iris is doing. Thats a lot of work.

Might be easier to find out how OSI is adding in the expanson maps. Find the differences between the old clients and the newest ones and go from there. Instead of changing map one you could have map20.mul which to me would be a much better idea and more useful in the long haul.

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 22, 2004 10:37 am 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 970
If it was a simple hex edit it would be ok; or if someone wrote a "smart patcher" that could overcome changes to the client.

The issues with world wrap, etc. could be easily overcome by using one of the other maps instead. Ilshenar and Malas have no world wrap, not sure about Tokuno.

Ideally the program you use to create the custom map (i.e., Dragon or UO Landscaper) would create the appropriate index.

I still think this is worth doing; the ability to create more real estate would be nice for those who like the existing maps but also want to add some custom content. Although I think to do anything beyond changing map sizes will involve some extensive hacking of the client.

P.S. RunUO has done the best job of all of them so far as staying current with the OSI clients. The last release of POL still uses pre-LBR clients, although they are working on AOS support now.

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


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 22, 2004 7:53 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
I agree RUNUO has done a very good job of keeping up with the client changes which is bad if your looking for a stable client to edit the changes into.

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 22, 2004 11:38 pm 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 970
It's good if you like the newer client features tho. :) One thing that used to aggrivate me about POL is their insistance to remain stuck in the T2A era. I think in the long run that stance has lost them users and now they are scrambling to catch up with other emulators (some of which are otherwise inferior to POL).

But I guess its all a matter of preference. One nice thing about RunUO though is that if you don't like all the AOS stuff you can toggle those features on and off.

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


Top
 Profile  
 
 Post subject:
PostPosted: Sun Dec 26, 2004 11:12 am 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Well, I've racked my brain here guys, and I can't seem to figure out what I'm doing wrong...

I'll give everybody here a tutorial on how to change the height of the map size as for how to change the width I'm completley stuck. I may be able to talk my cousin into creating a program that would make these changes for you but as for now a simple tutorial on how to make this work will suffice I think.

First you need to open up your favorite Hex Editor. I use Hex Workshop, it does everything I need it to.

Next you're going to search for the text value "map0.mul" Now just to let you know if you where to change this value to say "map1.mul" it would start refrencing a seperate file name, so I'll show you how to make map1.mul refrence the actual map instead of map0.mul, although you will have to edit RunUO's mapdeffinitions.scp in order to make it completely work.

Next thing we're gonna do is search for the next decimal value of 4096. This is obviously the height of the map so we can just change it to something like 9000. Then you need to go back and search for staidx0.mul and make the exact same change otherwise your statics will be screwey.

I had some problems with these map sizes though. For instance you can run to location 6144 x 9000 but if you teleport there say for instance using the [tele command your world is going to be blank.

Your world will also fail to wrap around anymore. Not sure why editing the one value causes this...

Okay, if you want to add map1.mul, this is the easiest part... copy from where map0.mul begins to where it ends at the text value map2.mul in the hex editor. Keeping your cursor before the text value map2.mul paste the copied text in. Change the name of the second map0.mul to map1.mul and you have a new map.

Add the map to your mapdeffinitions.scp in runuo and you should be all set.

Hope somebody can use this info. Like Dev said though, the best way to do all of this would be to build your own client. I don't know how interested some of the people who have already done/are doing this would be in customizing map sizes. If anybody gets any word from them I'd be more than glad to help.

If anybody has any questions or needs help go ahead and IM me. I'll see if I can't walk you through it.

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 27, 2004 12:37 am 
Offline
Young
Young

Joined: Tue Dec 21, 2004 8:02 pm
Posts: 15
Man, and does map1.mul with the normal settings (normal dimensions, etc.) work perfectly ?

If it is, I love you !


Top
 Profile  
 
 Post subject:
PostPosted: Tue Dec 28, 2004 8:18 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Yeah, for the most part, in all actuality though it's not really Trammel it's just a work around for getting a world with the same dimensions as the first one to work.

Basically your adding a whole new map to the client then you have to change the scripts in your map definitions to make the new Trammel refrence map1.mul instead of map0.mul... you get what I'm saying?

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Wed Dec 29, 2004 9:04 am 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 970
Nezgruhel wrote:
Yeah, for the most part, in all actuality though it's not really Trammel it's just a work around for getting a world with the same dimensions as the first one to work.

Basically your adding a whole new map to the client then you have to change the scripts in your map definitions to make the new Trammel refrence map1.mul instead of map0.mul... you get what I'm saying?


Which of the map0.mul references in the client do you hex edit to get the new map?

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


Top
 Profile  
 
 Post subject:
PostPosted: Mon Jan 03, 2005 3:32 pm 
Offline
Community Guy

Joined: Mon Jan 12, 2004 2:20 am
Posts: 205
Location: United States, MI
Ah. I should have been a bit more clear. It's the second map0.mul refrence. It's the only one that contains any significant map data on it. Although the only thing I can figure out is the height.

_________________
Better Deader


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jan 19, 2005 2:30 am 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 970
Ok, I messed around with this for awhile and I could not get it to work at all. Can you give me a step-by-step?

Also, how would you handle statics for the new map?

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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 20, 2005 3:57 pm 
Offline
Young
Young

Joined: Tue Dec 21, 2004 8:02 pm
Posts: 15
Sphere have introduced it in their new version. So, now yup a step by step guide would be good ! Hex edit, statics, etc.

Thanks !


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 22, 2005 6:26 am 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Sphere? They still alive? Been a long time since I've heard that name. :P

Sphere produced their own client now as well? Just editing the source or scripts to add in a new map wont work without telling the client it needs to read a new map as well.

Not bashing it, actually I wish someone would perfect this since it would without question be the greatest advancement in UO Emu history! UNLIMITED MAPS! That would be a truely awesome thing indeed.

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 Jan 22, 2005 12:27 pm 
Offline
Grand Master
Grand Master

Joined: Thu Jul 17, 2003 8:54 am
Posts: 970
I never understood why OSI just doesn't make the client reference a config file with map names and sizes, then new maps could easily be added any time without modifying the client.

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


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jan 22, 2005 4:08 pm 
Offline
Young
Young

Joined: Tue Dec 21, 2004 8:02 pm
Posts: 15
Sphere introduced it into the EMU, allowing virtual map. Sphere 1.0 seem die but Sphere 55i was continued on a new projet called .56. They have made, in around 6 month, around 7 version. We can do a lot with these.

But yeah, we need to edit the client. If we can edit one that will perfectly work, we can distribute it freely for RunUO and Sphere users bur for that, we need to know how step by step.


Top
 Profile  
 
 Post subject: Custom Map Sizes
PostPosted: Tue Jan 25, 2005 3:50 am 
Offline
Newb
Newb

Joined: Tue Jan 25, 2005 3:37 am
Posts: 3
I agree, We need custom map sizes. Here is a series of small posts left on the Iris Client Board.... http://ultimairis.sourceforge.net/porta ... 62987#1598

I believe that a map 16,000+ tiles by 30,000 tiles would be idea. Remove the other maps from the UO client, and I guess zone this larger map out into server regions like EA did with the original maps.

Sphere also allows you to alter your "Wrap around" point on any map in it's main config. file, not sure about other servers. I have always wished too take my server of 3,017.5 people *snickers* and construct Three of Four Massive Cast;e States at the corners of the globe.

Dungeons would be placed in plain site, vast caverns plaguing the sub levels of the map, deep valleys and mountian peaks with narrow passes. You could better construct a Map given this size.

It is said the Iris 3D client supports maps larger than 30,000 by 16,000

Perhaps communicate with them, find out what they know, and code a 2D client from their work on Iris which allows the same beneifits.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 25, 2005 6:46 am 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Here's a helpful link to show how Isometric maps work.

http://www.gamedev.net/reference/list.asp?categoryid=44

All Isometric maps are designed along the same basic lines so this link might help out with some of the finer points.

Hope someone finds it useful.

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 Jan 25, 2005 11:16 am 
Offline
Peanut Gallery
Peanut Gallery
User avatar

Joined: Sun Jun 02, 2002 8:53 pm
Posts: 1864
Location: Hayward, CA
I read about the first half of the posts in this thread before getting bored and giving up on the rest, so I don?t know if this has already been figured out, but here is my two cents on the subject?

First off, it is correct that the client loads ?blocks? of the map which are 8x8 tiles ? this is a RAM-saving technique which has been used in many previous Ultimas as well, allowing the majority of the map to remain on HD while only a small portion is loaded into RAM at any given time.

It is also true that the client indexes the offset of the blocks in column-major order. This has many ramifications, primarily the implication that expanding along the x axis would be significantly easier than the y axis.

An observant programmer would also notice that the map0.mul file is, not coincidently, 512 blocks tall. The reason this observation is important is that, to index a block in the map file, the client needs only a bit-shift as opposed to a multiplication, which, when UO was written, was significantly more efficient. Powers of two abound in UO files, if you notice.

So, if you wanted to increase the map along the Y axis, you would effectively have to edit every single bit-shift and multiplication loop which the client uses to find the offset within the map file for the block it wants to load.

The client likely has many, many hard-coded bit-shifting going on which was ?DEFINED? in the original source, but is now inseparable from a disassembled executable. In essence, you would have to find every instance of a shift of 9 bits, and determine whether it has anything to do with the map or not, and then change it to the new shift value or replace it with a multiplication if your map is not a power of two in height.

That having been said, it would be significantly easier to expand or shrink the map along the X axis, negating the need to alter many bit-shifts, multiplications, and loops.

However, even altering the X axis has its own implications, primarily error-checking (which is unlikely to be in abundance) and bound-checking. These, relatively speaking, are much easier to find by searching for instances of 6144 and 768 in the disassembled executable.

Either way, it is going to take a lot of hacking to get it to work. You have to remember that DEFINES in the source code make it pretty easy for them to change/add maps of different sizes, but, once compiled, make it a maze of cryptic spaghetti to sort through.

_________________
Blog: http://www.sydius.org
Web: http://www.sydius.net


Top
 Profile  
 
 Post subject:
PostPosted: Tue Jan 25, 2005 9:31 pm 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
Thats what we said! :P

ohh....wait...what was the first thing again? :shock:

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 Jan 26, 2005 11:48 am 
Offline
Peanut Gallery
Peanut Gallery
User avatar

Joined: Sun Jun 02, 2002 8:53 pm
Posts: 1864
Location: Hayward, CA
Well I pointed out that I was just verifying what you guys said, but with a little more depth. That?s all. :-)

I can?t be bothered to read what you people say, anyway, yeesh.

_________________
Blog: http://www.sydius.org
Web: http://www.sydius.net


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 27, 2005 6:31 am 
Offline
Young
Young

Joined: Tue Dec 21, 2004 8:02 pm
Posts: 15
Yup but that's possible aren't it ? Don't kill my dream bubble !


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 27, 2005 7:41 am 
Offline
Posting Whore
Posting Whore

Joined: Fri Aug 29, 2003 6:21 pm
Posts: 1434
Location: Colorado Springs, Co.
"Anything" is possible...

They could create a new custom client that points to an .ini file just like Syd pointed out and it would allow anyone to edit the map size or even the number of maps at will for a given shard.

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 Previous  1, 2, 3  Next

All times are UTC - 7 hours [ DST ]


Who is online

Users browsing this forum: Bing [Bot] and 1 guest


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