Jump to content


Photo

Documentation for poidata.txt?


2 replies to this topic

#1 miriki

miriki

    Leaden Juggernaut

  • New Arrival
  • 2 posts
  • Real Name:Michael
  • Platform:PC

Posted 07 September 2015 - 02:11 PM

Hi, all!

I'm new to this forum and not quite sure where to post this question. So please, if anyone would like to move it to a more decent place...

After my "Sacred 2 Gold" with "Ice & Blood" expansion has slept for a few years on my hdd I decided to revive it a bit. I'm not only playing a new character from scratch, I explored the files in the game directory as well. And there I found the PoiData.txt.

Those files doesn't seem to be documented very well. At least I found no source via Google. A few pages list the files and maybe even describe the intention of it, but I found nothing about the technical details of them.

I coded a program in VB.Net to load a map image (I found one large 12000x12000 jpg somewhere) and import the PoiData.txt. A bit scaling (actual test at 2000x2000) and I got a result that looks not that bad, but quite not correct, either.

I tried to use the ScreenX and ScreenY directly and draw circles with 20px diameter. Most of the markers are a bit off course, but not that far away from reality. Interestingly enough the markers are left and right, above and below the wanted position.

So I think I have to use the Offx / OffY and maybe the WidX / WidY, too.

I scaled the circle by 1250*WidX and 750*WidY and now for example the Thylysium marker almost exactly covers the city on the map. Some other markers seem to sit correct now, too. But others still are a bit off.

And I have no idea how to use the OffX / OffY information.

Can anybody help me with that? Or is there already a documentation for it?

Thanks

Michael

 



#2 miriki

miriki

    Leaden Juggernaut

  • New Arrival
  • 2 posts
  • Real Name:Michael
  • Platform:PC

Posted 19 September 2015 - 06:31 PM

Can anybody help me with that? Or is there already a documentation for it?

 

Ok, almost 150 hits and no reply. I might add a few of my thoughts to start the challenge:

--------------------------------------------------------------------------------

poidata.txt
-----------
mgr.addPoIData( { id="POI_REGION_CANYON", offx=0.000488, offy=0.000977, widx=0.114746, widy=0.438477, screenx=108, screeny=1005} );
mgr.addRegionData( { area="POI_REGION_CANYON", startx=0, starty=19, endx=10, endy=34, richPresenceId=9 } );

quest.txt
---------
position = { 16,33,0 , 1340.650,689.000,1038.390, 23.000 }
position = { x = 97750.00, y = 90400.00, z = 0.00, layer = 0, orientation = 133.000, }

questscripts.txt
----------------
position = toWorldPosition("46;45;-2;1618.900024;18.850000;3301.454834;0.000000")
position = {sx=26;sy=44;sz=0;px=464.632813;py=2857.359375;pz=-100.702850}

print hero
----------
POS(21,27,0 2573.500,842.500,99.674)

--------------------------------------------------------------------------------

Scanning the addPoIData the
- offx/y have a range from 0..1 - scaling factor
- widx/y have a range from 0..1 - scaling factor
- screenx/y have a range from 0..2000 - a map of 2048x2048 units/pixels seems reasonable

Scanning the addRegionData the
- startx/y and endx/y have a range from 0..63 - 64x64 sectors

The offsets could be relative to the sector, so
* sectorwidth/height = mapwidth/height / sectorx/y = 2048 / 64 = a sector has 32/32 units/pixels
* posx/y = screenx/y + ( sectorwidth/height * offx/y )
--> the offx/y is more accurate than the 1/32 (steps of 0.031) would allow
* lenx/y = widx/y * scalex/y
--> assuming 1024 (or mapwidth/height / 2) as scalex/y factor

Although the 2 assumptions are weak the plotted result seems reasonable.
The PosX/Y of the PoI data is more or less accurate
The LenX/Y covers the PoI almost perfectly
see http://miriki.com/www/sacred2/sacred2map.jpg (beware: 20mb for a 12000x12000 image!)
Interesting: Most of the ellipses have more extent in Y than in X direction - different scaling factors? I tried with 1200/900 (4:3) and 1250/750 (5:3) - not that bad, too

The 1st syntax in the quest.txt seems to have SextorX/Y/Z and four unknown float values. Three of them might be offsets again, but what about the 4th then? The orientation is the next line in the script, so it's not the orientation.
The 2nd syntax seems to have the sectors + offsets already calculated into world positions. Those seem to have a range from 0..200000 (found a lot in the 180k region).
So the world might have 204800x204800 (or mapwidth/height * 100)?

The 1st syntax on the questscripts.txt is similar to the 1st in the quest.txt, but it calls toWorldPosition() with the values as parameters.
(The word "toWorldPosition" is found the in the s2logic.dll.)
The 2nd syntax seems quite similar to the 1st one except the missing 4th float value.

The "print hero" syntax, again, seems to be SectorX/Y/Z and OffX/Y/Z. The example shows the position of the hero chest in Schlehenfurt (Sloford?).

--------------------------------------------------------------------------------

Michael

 



#3 Flix

Flix

    Modimus Prime

  • FDM Moderator
  • 3,090 posts
  • Platform:PC

Posted 20 September 2015 - 04:57 AM

Can anybody help me with that? Or is there already a documentation for it?

 

Ok, almost 150 hits and no reply. I might add a few of my thoughts to start the challenge:

--------------------------------------------------------------------------------

 

I think you demonstrated in the first post that you already understand more about the file than probably anyone except the developers.  It's interesting to read your results but I don't have anything to add.  I suppose there's not anything written about poidata.txt because no one's ever wanted to change it.  I don't know what could be accomplished with it, if anything.


Edited by Flix, 20 September 2015 - 04:57 AM.

  Diablo 2 Fallen Mod         Sacred 2 Enhanced Spells Mod          Flix's Music Mod for Sacred 2
   Elite Mounts Mod              Sacred 2 Character Editor           List of Mods and Modding Guides

    Sacred 2 Nexus                    Sacred 2 Nude Mod                     Community Items Mod




Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users