Jump to content


Photo

Pool of Radiance maps


  • Please log in to reply
53 replies to this topic

#41 RobertZenz

RobertZenz
  • Member
  • 8 posts

Posted 22 August 2024 - 11:02 PM

No, I haven't looked at that so far (my knowledge about 3D objects and their file formats is nearly non-existing). After a quick look, I'm assuming they are either in the Anims, INK, or Rand directory.

 

The Anims directory at least contains files (*.nat) that smell like skeletal animation bone definitions. The *.cnb files right besides them seem to be a custom archive format similar to MCZ. It starts with a 32-bit integer as the number of entries, and then entry lengths with names seem to follow. Each entry itself seems to start with the bytes "NAB" ("4E 41 42 03"), whatever that means.


Edited by RobertZenz, 22 August 2024 - 11:03 PM.


#42 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 22 August 2024 - 11:42 PM

Many thanks for the information. I have been hunting for the standing stone animation and animations for the maps. Hard to believe how long this topic has continued. Your work with the maps is appreciated and amazing work.

Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/


#43 RobertZenz

RobertZenz
  • Member
  • 8 posts

Posted 23 August 2024 - 12:05 AM

Thank you. :)

 

From what I can see, these might be the relevant files in the "data" directory:

 

./Anims/Objects/spnspire.nat
./Anims/Objects/spnspire.cnb
./INK/spnspire.cnk
./Sound/spnspire.wav
./WSM/spnspire.wsm


"WSM/spnspire.wsm" looks promising, as it contains the strings "spnston1.tga" and " pnston1.tga" (yes, there's a space instead of an "s", not sure why) which sound like texture names. That one resurfaces also in "Anims/Objects/spnspire.nat", I wonder if the "nat" files *are* the object files, just in a format I don't recognize (which would be easy, me no doing 3D). There seem to be vertices definitions, texture coordinates and faces, I think that would be your best bet.

 

I'll only have time to look at this further after the weekend, I'm afraid.


Edited by RobertZenz, 23 August 2024 - 12:26 AM.


#44 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 23 August 2024 - 01:26 AM

Thank you so much, maybe Sam has some knowledge as well. It's crazy this topic has been going for 14 years and nobody has figured out how to extract the area animations.


Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/


#45 Sam.

Sam.
  • Administrator
  • 1335 posts

Posted 23 August 2024 - 04:53 AM

There's some old info on creature animations over here.


"Ok, I've just about had my FILL of riddle asking, quest assigning, insult throwing, pun hurling, hostage taking, iron mongering, smart-arsed fools, freaks, and felons that continually test my will, mettle, strength, intelligence, and most of all, patience! If you've got a straight answer ANYWHERE in that bent little head of yours, I want to hear it pretty damn quick or I'm going to take a large blunt object roughly the size of Elminster AND his hat, and stuff it lengthwise into a crevice of your being so seldom seen that even the denizens of the nine hells themselves wouldn't touch it with a twenty-foot rusty halberd! Have I MADE myself perfectly CLEAR?!"

--<CHARNAME> to Portalbendarwinden

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

post-10485-0-15080600-1348188745.jpg
___________Old pen and paper modules of the 70s and 80s.___________

CA Forums CA Homepage


#46 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 23 August 2024 - 05:12 AM

Sam, you are amazing. Has anyone figured out how to extract the standing stone form the game. One darn floating rock is all I need from the game.


Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/


#47 RobertZenz

RobertZenz
  • Member
  • 8 posts

Posted 26 August 2024 - 11:52 AM

I can confirm now that the *.nat files are the objects themselves. To be exact, they contain vertices (points), faces (polygons) and texture (UV) coordinates split into segments. I'm already able to reconstruct objects which consist of a single segment.

 

qUqZdif.png

 

Completely and correctly parsing the file will take more effort and some time to come.

 

Another problem are the textures. I'm very convinced that the *.wsm files are related to them, or even are them, but currently they still elude me. WSM files start with the value "5" in four bytes, followed by 48 bytes as name, and towards the end they contain some form of index with filenames, like "========spnspire.tga", the end looks fishy, too. But I can't tell how to process these files yet. They might contain RLE compressed TGA files, but so far I could not identify the length of each part, nor file header, nor footer of the TGAs.



#48 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 26 August 2024 - 03:20 PM

Amazing, this is the only key animation for the maps. Please keep me posted on the progress. Sam, are you able to help with this?


Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/


#49 RobertZenz

RobertZenz
  • Member
  • 8 posts

Posted 29 August 2024 - 11:33 AM

I'm very pleased to tell you that the textures are stored in the INK files. I've said before that they are dBASE files, but that was a false positive (and looking at the file header I can see why the file util got confused), they are actually images with a prepended header.

 

AoczkEn.pngdrJBCuM.pngSFetTuf.pngaxXfb0Y.pngqPskoLl.pngkVxeqZM.png

 

As you can see from the last image, for some the color channels are still distorted. I'm assuming there is a field in the header which tells me about how treat the image and its channels.

 

The INK files themselves are images with a prepended 68-byte header. The width and height are in the bytes at 0x34 and 0x38 and the length of the image that follows is in byte 0x40. The image itself is padded with zeros at the end to fill a 512 byte block (so an image with the length if 900 is padded to 1024). It's 2-byte-per-pixel, which was a pain to brute force, to be honest, with 5/6/5 bits per red/green/blue channel respectively. The last part most likely changes depending on some flag in the header.

 

I've updated the README of the por-romd-map-extractor with the file description and also added the first version of the reader to the source tree. Currently there is no functionality to convert images, that comes later on, this is just to let you know that the textures are there and available.

 

There's still a lot to do, fixing the color channels, improving the NAT reader for the models, combining them with textures and at the end writing an exporter for them. The viewer I've written (screenshot from before) also needs to become a lot better as it is currently broken. Animations are out of scope for the time being, while I can already read CNB files, they contain NAB files which seem to the animation data, I cannot parse those. As I've never worked before with skeletal animations, that might get difficult. I'll try to push new state to the repository and README to make sure that knowledge is there as soon as I gain it. Eventually I'll write another article, but only after I'm done with this.


Edited by RobertZenz, 29 August 2024 - 11:41 AM.


#50 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 29 August 2024 - 04:08 PM

Thank you for your hard work! I have been trying to get the floating stone for ages, I can probably edit the colors. This is really really amazing work!


Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/


#51 RobertZenz

RobertZenz
  • Member
  • 8 posts

Posted 07 October 2024 - 01:56 PM

Just so you know that I'm still working on this, I've updated the repository with the latest knowledge about the models. The README contains everything I've learned about the PoR:RoMD files so far.

 

I'm able to read the textures (INK), texture archives (CNK) and model files (NAT) itself. However, the later only has limited support. Mostly I'm able to restore "static" models, for example the standing stone. I've put together a GUI program which allows to view the files before exporting them.

 

ar7qxds.png

 

There is currently no ready-to-use build, though, sorry.

 

The next steps are to write an obj-exporter for the models (for the textures and maps everything is already in place and working), updating the build so that a release version can be build and the help-text in the application itself must be updated (as must the CLI logic), and then I feel comfortable preparing and releasing a version with preliminary NAT/model support. That is my plan for the next weeks.

 

Afterwards I guess I need to figure out how the "animated" models work, because so far I have failed to reconstruct their surface/faces from the NAT files.


Edited by RobertZenz, 07 October 2024 - 01:59 PM.


#52 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 07 October 2024 - 03:17 PM

Outstanding! Please keep me posted!


Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/


#53 RobertZenz

RobertZenz
  • Member
  • 8 posts

Posted 26 October 2024 - 08:43 AM

The 1.2 version of the tool is now available. Please read the release notes rather carefully, it is rough around the edges and it will misbehave if not treated in certain ways, I'm afraid. Java 8 or higher is required to be installed.

 

For you specifically, you want the file "Pool of Radiance/data/Anims/Objects/spnspire.nat", which is the Spinning Spire/Stone. You can open that file in the GUI and export it as Wavefront obj file, which should be importable and usable by every 3D software that is around (I've only tested Blender, though).

 

The model support is limited to "static" models, like the Spinning Spire, I haven't figured out how the "animated" (character) models work so far. I'm working a write-up again which I will publish in some time.



#54 leahnkain

leahnkain
  • Modder
  • 8432 posts

Donator

Posted 29 October 2024 - 06:09 AM

This is amazing, thank you so much!


Longing for the old pen and paper modules of the 70's and 80's. Experience AD&D's greatest adventures using the infinity engine: Visit our homepage at http://classicadventuresmod.com/