News:

Huge spam cleanup. I hope, everything important is still in place. :-)

Main Menu

Map size speed bug

Started by Demostenes, April 25, 2008, 08:29:45 PM

Previous topic - Next topic

Demostenes

I ve just updated map and statics to ML size. Everything works, but centerED is now 100x slower. Even small update during scolling (http://www.endor.cz/krtecek/bb.JPG) now take cca 30 sec, instead of fragment of second as before. After few such updates updating stops totally. I return old map and everything fast and OK again. I am using windows server latest version.
Endor Team leader, visit our web site:
http://www.endor.cz

Hitman

I could only image an invalid or at least unconventional staidx0.mul which could cause unnecessary large packets to be sent. Is the map somewhere available to download? Then I could look into it.

Nobby

One of my personal projects that I mentioned in a different topic causes the same - the map is a map0 sized thing without the standard britannia continent, but all the other maps (ilsh, malas and tokuno) and all available dungeons.

Copied the stuff with RadMapCopy.

Demostenes

Yes i extended the map and then statics with RadMapCopy too (It generates staidx a then i copied old statics into it).
Endor Team leader, visit our web site:
http://www.endor.cz

Hitman

Thanks to Demostenes for sending me his map. I took a look at the staidx file and it indeed was a problem with the lookup values. Each entry in the staidx files has a Lookup (where to find the data in the statics file), a Size (how large the data is) and an "Extra" parameter which is more or less unknown. The problem with this staidx file was, that empty blocks had a size of 0 (which is correct), but still a positive lookup which causes CentrED to load these blocks. It's probably somewhat a border-case but according to the way OSI made up its staidx files, the lookup of unused blocks should point to 0xFFFFFFFF. I therefore wrote a little tool which will fix these entries. The 7-zip archive includes the source code, the windows and the linux (x86) executable. Just put it into the same directory as the staidx0.mul and execute it. It doesn't give any output (only when errors occur :D) but I guess you can verify it yourself by testing the staidx file in CentrED afterwards - it should be at normal speed then.

Nobby

Great :) Will test this tonight. Wonder if it's a RadMapCopy bug though... Well... nvm I guess, you fixed it :D

Demostenes

Great job. I will contact maker of RadMapCopy, maybe he can fix this.
Endor Team leader, visit our web site:
http://www.endor.cz

Demostenes

There is new version of radmapcopy, acording to author it should be ok now:

http://ultima.lonet.cz/radmapcopy_test.rar
Endor Team leader, visit our web site:
http://www.endor.cz

Hitman


Demostenes

Hmm it doesnt work as it should. I can use your script for modifing the index and it works perfect for center ED, but then radmapcopy is not able to copy from, or to map. I was discussing that with author of radmapcopy, but his modifications not helped. I dont know, why ML map is different that normal AOS. And until center ED is not able to copy map/statics, we need programs such radmapcopy.

http://ultima.lonet.cz/download/radstar ... source.rar

Here is the source of radmapcopy, so maybe you can check it, you have far better understanding of statics files then we have. And i think the code is deplhi, so you can use theese copy rutins for center ed :)

edit: ah, newest version of rmc only applyes your code after copying staics, so it cant help.....
Endor Team leader, visit our web site:
http://www.endor.cz

Demostenes

We probably fixed the problem. But now we are not sure, if it was our mistake or not :/
Endor Team leader, visit our web site:
http://www.endor.cz