cave skybox patch : thanks, i'll look into it later this evening if i can find the time.
Diff upload in forum not allowed : no idea how to enable it.
parrot=vortex in 2d : it's the same with elves and elven clothes, gargoyles etc, probably everything new art-wise from the mondains legacy extension. It's probably an error in calculating the right anim-ids or in accessing the data of the ml anims. I think anim5.idx/anim5.mul, but i'm not sure.
The file displaying creatures(parrot) and clothes in 2d mode is lua/lib.2d.mobile.lua ,
The file loading the graphics for that is src/data_anim.cpp
in lib.2d.mobile.lua we added a hack to make the elf at least look like a human,
line 159 :
Code:
if (mobile.artid == 605) then mobile.artid = 400 end -- elf
if (mobile.artid == 606) then mobile.artid = 401 end
if (mobile.artid == 607) then mobile.artid = 402 end -- elf ghost
if (mobile.artid == 608) then mobile.artid = 403 end
605/606 are male and female elf,
400/401 are male and female human
the "artid" send from the server is combined with the direction the mobile is looking in to get an id for the actual run/idle/fight... animation.
i don't remember the details at the moment, but this function should be worth looking into :
local iAnimID = Anim_GetMoveAnim(iModelID,iLoaderIndex,mount,bRun)
iLoaderIndex is the index of the anim*.mul file, e.g. anim4.mul vs anim5.mul ...
Also for clothing etc, some of the *.def files in the uo directory have to be considered.
creatures/monsters etc are rendered as one single graphic,
but humans can have visible equip like clothes/weapons/armor..
also there's some lookup from artid to animid, GetStaticTileType(item.artid) -> .miAnimID ,
this also uses one of the .mul files, GetStaticTileType -> gTileTypeLoader -> gTiledataFile -> tiledata.mul
either somewhere along the line something with the id transforms goes wrong,
or we get the right id but our graphics (src/data_anim.cpp) loader cannot access the pixels due to some file format changes in the mondains legacy extension files.
difficulty to fix the parrot=vortex and other ML-related graphics bugs is rather high, since a lot of undocumented uo behavior has to be checked (.def files), or it might involve reverse engineering the anim*.mul format further to find the problem in case of the id being correct and the problem being inside the anim-pixel-loader code.