Page 1 of 1

Weird Exult Studio bug

Posted: Fri Feb 17, 2006 1:19 pm
by Wizardry Dragon
Exult Studio has been arbitrarily eating shapes when it saves. Since a picture is worth a thousand words, Ill let pictures illustrate this weird bug.

Before
Image

After
Image

~ Wizardry Dragon

ps. Notice where the crenelations missing on the right? Thats another thing that got eaten, I just noticed that in the picture now.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 1:53 pm
by Wizardry Dragon
Hmm. Marzo, if my studio_err.txt means what I think It means, I might just stab you :P

Shape num out of range: 1024
Shape num out of range: 1025
Shape num out of range: 1026
Shape num out of range: 1027
Shape num out of range: 1028
Shape num out of range: 1029
Shape num out of range: 1030
Shape num out of range: 1031
Shape num out of range: 1032
Shape num out of range: 1033
Shape num out of range: 1034
Shape num out of range: 1035
Shape num out of range: 1036
Shape num out of range: 1037
Shape num out of range: 1038
Shape num out of range: 1039
Shape num out of range: 1040
Shape num out of range: 1041
Shape num out of range: 1042
Shape num out of range: 1043
Shape num out of range: 1044
Shape num out of range: 1045
Shape num out of range: 1046
Shape num out of range: 1047
Shape num out of range: 1048
Shape num out of range: 1049
Shape num out of range: 1050
Shape num out of range: 1051
Shape num out of range: 1052
Shape num out of range: 1053
Shape num out of range: 1054
Shape num out of range: 1055
Shape num out of range: 1056
Shape num out of range: 1057
Shape num out of range: 1058
Shape num out of range: 1059
Shape num out of range: 1060
Shape num out of range: 1061
Shape num out of range: 1062
Shape num out of range: 1063
Shape num out of range: 1064
Shape num out of range: 1065
Shape num out of range: 1066
Shape num out of range: 1067
Shape num out of range: 1068
Shape num out of range: 1069
Shape num out of range: 1070
Shape num out of range: 1071

(etc)

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:10 pm
by marzo
It doesn't. VGA files have a 'shape count' which is really the number of the last shape in it; the lines above are just Exult Studio warning that these shapes do not exist even though they occur before the last shape. Neither Exult nor Exult Studio have any real problems with that (except for the excessive complaining) unless you try to create an object with one of these shapes in the game.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:17 pm
by Wizardry Dragon
Then I am at a huge loss why its eating my map that Im making. :|

*points at pictures in original post*

~ Wizardry Dragon.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:30 pm
by marzo
Yea, I know. I am still thinking what may be causing it.

A few questions to see if I am understanding the problem correctly:
1) When you save the map the shapes disappear? or
2) The shapes disappear when you load the map?
3) Saving the map then reloading it make the shapes appear/disappear?
4) Are there any files in 'gamedat/map02' {assuming this is map 2}? If so, do they have the general form U7IREGnn (with nn a 2-digit hex-number)? Are there any other files there?
5) Are you using compressed saves (level 1 or level 2) or uncompressed saves?

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:35 pm
by Wizardry Dragon
Saving the map and then reloading it. Exult crashes upon the save, with nothing in stderr. I believe that ES is not properly saving the U7FIX files. And then when I reload those shapes are missing. This does not occur in MAP00, Britannia; Chahiero's little house north of Skeptran is completely intact, although sparse.

RE: 5: Im not saving the game, just the map, I start a new one each time I reload. So I'm unsure how that would matter.

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:41 pm
by Wizardry Dragon
I deleted GAMEDAT to force Exult to remake the files, and Exult throws an exception with an assertion failure.

File: ./shapes/shapevga.h
Line: 59

Expression: shapenum >= 0 && shapenum < info.size()


...

Dude, if Exult could make it any clearer that its a shapes problem, I don't know how.

This is with the latest snapshot circa the 13th (and 8th for ES), btw.

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:56 pm
by drcode
I'm still in the guessing stage. I'm pretty sure that creating moveable (IREG) objects with shapes > 1024 works, because Marzo's done plenty of that. Maybe we have a problem with pieces of buildings (IFIX) objects.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 2:59 pm
by Wizardry Dragon
Okay, so I deleted the shapes.vga and replaced it with tfl_shapes.vga (an exact duplicate) and it worked ... Im starting to think that ExultStudio is corrupting files by improperly saving them. The GAMEDAT folder did NOT have the Map02 folder, btw.

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:12 pm
by marzo
RE: 5: Im not saving the game, just the map, I start a new one each time I reload. So I'm unsure how that would matter.
When you save the map, Exult also saves the gamedat contents (and, in special, the ireg files) to 'patch/initgame.dat'; it then restores from what it just saved (I know, it is kind of redundant...). And Exult's 'initgame.dat' is a standard save game, saved in whatever compression method you use for other saves. The reason I asked is because there is a bug with uncompressed saves which I am yet to fix.
Maybe we have a problem with pieces of buildings (IFIX) objects.
I am unsure of that; despite what it looks like, the stairs, thrones and fences are actually saved as ireg objects. And unless I am sorely mistaken, he is using only shapes < 1024 on those buildings anyway.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:17 pm
by marzo
I just realized I should have given a bit more information on the previous post: the first quote is Wizardry Dragon's, the second is DrCode's.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:19 pm
by Wizardry Dragon
1


Dunno what it means, havent changed it myself, but if it helps.

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:25 pm
by marzo
It means you should be unaffected by the bug I mentioned.

But you mention that there is no map02 dir in gamedat; this even if you edit map 2 and save the changes?

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:27 pm
by Wizardry Dragon
Yes, it is. That is to say, there is NO map02 directory in gamedat, even if I save.

I believe it may be crashing out when trying to do this? I am unusre though, I dont know if it adds map02 to the gamedat dir after a save, I'd presume it would, though.

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:43 pm
by marzo
It *should* be adding the map02 dir after saving. Send me your 'initgame.dat' file by e-mail and I'll take a look at it; send me also (or post here) the first 20 or so lines of stdout. Also, do some of the editing it takes to reproduce the crash and send me the stderr, studio_out and studio_err files (together with 'initgame.dat').

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 3:48 pm
by Wizardry Dragon
The stderr is empty :\

Studio_out:
Connected to server
Read 19 bytes from server
ID = 6
tfl_shapes.vga 1
shapes.vga 1
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Read 20 bytes from server
ID = 20
Broken!
Disconnected from server
Connected to server
Broken!
Disconnected from server
Broken! is probably where Exult crashes

Stderr.txt:
Warning, trailing slash in path: "D:\ultima\static\map01\"
Warning, trailing slash in path: "D:\ultima\patch\map01\"
Warning, trailing slash in path: "D:\ultima\static\map02\"
Warning, trailing slash in path: "D:\ultima\patch\map02\"
Warning, trailing slash in path: "D:\ultima\static\map03\"
Warning, trailing slash in path: "D:\ultima\patch\map03\"
Warning, trailing slash in path: "D:\ultima\static\map04\"
Warning, trailing slash in path: "D:\ultima\patch\map04\"
Warning, trailing slash in path: "D:\ultima\static\map05\"
Warning, trailing slash in path: "D:\ultima\patch\map05\"
Warning, trailing slash in path: "D:\ultima\static\map06\"
Warning, trailing slash in path: "D:\ultima\patch\map06\"
Warning, trailing slash in path: "D:\ultima\static\map07\"
Warning, trailing slash in path: "D:\ultima\patch\map07\"
Warning, trailing slash in path: "D:\ultima\static\map08\"
Warning, trailing slash in path: "D:\ultima\patch\map08\"
Warning, trailing slash in path: "D:\ultima\static\map09\"
Warning, trailing slash in path: "D:\ultima\patch\map09\"
Warning, trailing slash in path: "D:\ultima\static\map0a\"
Warning, trailing slash in path: "D:\ultima\patch\map0a\"
Warning, trailing slash in path: "D:\ultima\static\map0b\"
Warning, trailing slash in path: "D:\ultima\patch\map0b\"
Warning, trailing slash in path: "D:\ultima\static\map0c\"
Warning, trailing slash in path: "D:\ultima\patch\map0c\"
Shape num out of range: 0
Shape num out of range: 1
Shape num out of range: 2
Shape num out of range: 3
Shape num out of range: 4
Shape num out of range: 5
Shape num out of range: 6
Shape num out of range: 7
Shape num out of range: 8
Shape num out of range: 9
Shape num out of range: 10
Shape num out of range: 11
Shape num out of range: 12
Shape num out of range: 13
Shape num out of range: 14
Shape num out of range: 15
Shape num out of range: 16
Shape num out of range: 17
Shape num out of range: 18
Shape num out of range: 19
Shape num out of range: 20
Shape num out of range: 21
Shape num out of range: 22
Shape num out of range: 23
Shape num out of range: 24
Shape num out of range: 25
Shape num out of range: 26
Shape num out of range: 27
Shape num out of range: 28

(etc ontowards 1099)
Apparenlty all shapes are out of range? Could this be due to your shapes.vga only having the new shapes, Marzo?

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 4:24 pm
by marzo
Could this be due to your shapes.vga only having the new shapes, Marzo?
Nope; Exult/Exult Studio merge static/shapes.vga and patch/shapes.vga in memory, so that they should not be out of range. (and if it were because of the shapes.vga file, the issue would have surfaced sooner as I have used such shapes.vga file from day one -- for the keyring mod at least).
tfl_shapes.vga
Is this the file that is supposed to be patching shapes.vga? Or do you have an identical file named shapes.vga?



From the initgame.dat you sent me, I can see that Exult is hasn't saved map 02 {you *are* making the Feudal Lands in map 02, right???}, which is the reason you don't have a map02 dir in gamedat. Try this: create a map02 dir in gamedat and see if you can reproduce the crash. If you can, look into the gamedat/map02 dir and see if there is anything inside it.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 4:27 pm
by Wizardry Dragon
Oh it's not hard to reproduce the crash. it occures -every time- I try to save the map.

Why are the shapes out of range if theyre being merged?

And yes, TFL should be map02.

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 4:34 pm
by Wizardry Dragon
Creating the gamedat directory for map02 seems to have worked somewhat. Exult still crashes when I save, but it seems to retain the data that I added. It lost the items I had from before though o_O;

(and it's still saying every single shape is out of range)

~ Wizardry Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 4:36 pm
by marzo
Why are the shapes out of range if theyre being merged?
Have you been clicking on tfl_shapes.vga and/or paperdol.vga in Exult Studio? If you don't click in either of them, limiting yourself only to the other vga files, does the list of out-of-range shapes include all shapes or is it limited only to the shapes 1024-1099?

You also seem to have missed this one:
Try this: create a map02 dir in gamedat and see if you can reproduce the crash. If you can, look into the gamedat/map02 dir and see if there is anything inside it.

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 4:39 pm
by Wizardry Dragon
All the shapes show up bad regardless of what I do or dont touch.

And I read *points up to his second post* I was doing it at the time I posted the first one :P

~ Wizarardy Dragon

Re: Weird Exult Studio bug

Posted: Fri Feb 17, 2006 4:47 pm
by marzo
Creating the gamedat directory for map02 seems to have worked somewhat. Exult still crashes when I save, but it seems to retain the data that I added.
Good. If you open the patch/initgame.dat file (it is a zip file), does it have a map02 dir inside? And if so, does it's contents match those of gamedat/map02? Also, the contents of gamedat/map02 should consist only of files whose names start with 'u7ireg'; can you confirm that?

{BTW, if the initgame.dat file does not have a map02 file, or if the contents are incorrect, you can copy those from gamedat there as a workaround.}

Re: Weird Exult Studio bug

Posted: Sat Feb 18, 2006 7:30 am
by Azulmagia
This may be a bit out of topic, but looking at the picture i noticed the two pillars besides the stone stairs serve absolutely no architectonic purpose... Well, it'd be OK if the architect was somewhat of a manierist.

Fatal: Not able to open ./cache/production/data_global.php