Page 4 of 6

Re: Next tasks?

Posted: Tue Nov 15, 2016 3:57 am
by Interkarma
Cheers mate. I've been through a similar process of pulling out likely subsets of data matching the pattern of RCI/CIF and RLE image formats. Haven't found anything as yet with that approach. I will check out that potential RCI file you sent, of course.

It's still entirely possible image is stored elsewhere, but has remained elusive until now. Oh well, there's always the backup plan. Thanks for taking a look. :)

Re: Next tasks?

Posted: Thu Nov 17, 2016 9:25 am
by Arl
The idea of another talented fellow putting some of his brain power into DFU, even though I have no clue of what's happening, is very exciting.

Interkarma wrote:Oh well, there's always the backup plan. Thanks for taking a look. :)

That "back-up" plan is intriguing, I would run Daggerfall in native resolution and rip the hell out of those horse graphics haha.

Re: Next tasks?

Posted: Thu Nov 17, 2016 12:39 pm
by Interkarma
Arl wrote: That "back-up" plan is intriguing, I would run Daggerfall in native resolution and rip the hell out of those horse graphics haha.
Nailed it. :)

Re: Next tasks?

Posted: Thu Nov 17, 2016 2:43 pm
by InconsolableCellist
Oh, haha, that's the backup plan? That's no fun! I did that already (with one image at least) when figuring out what resolution image to search for :P

This mystery has been bugging me. Where else could it be?

I also tried looking for the AutoDesk PAL files inside of the EXE, to see if I could find an image by indexed colors, but that didn't work either.

There could be a copyright issue with trying to distribute the horse graphics, though.

Re: Next tasks?

Posted: Thu Nov 17, 2016 9:48 pm
by Interkarma
No fun, but exploiting the analogue hole is a highly practical solution to the problem. :)

I really don't think Beth will mind if the horse graphics are distributed with the build (temporarily or even permanently). It's a small concession in a vastly respectful body of code that jumps through a thousand other insane hoops to avoid distributing copyrighted material. If they do have a problem with that, they can let me know and I'll roll it back. When the location and format of horse graphics is ultimately known (and this stuff is always discovered eventually) it will be fairly trivial to change.

I'm mainly just trying to stay on point and work on core gameplay features first. If you want to tackle it while I square away what I have on quests, I will gladly take the help. But don't go too crazy on it, there are far bigger windmills to tilt at. :)

Re: Next tasks?

Posted: Fri Nov 18, 2016 10:59 am
by R.D.
I also am happy to see another person lending their talents, especially someone who can reverse-engineer, which is great for uncovering the real way the original game works. I would love to be able to help reverse-engineer stuff, too. I recently studied a quick online tutorial in assembly and played around with the DosBox debugger, but I didn't get very far. It's not easy to even know where to begin.

Re: Next tasks?

Posted: Fri Nov 18, 2016 4:42 pm
by InconsolableCellist
Thanks for the encouragement! I'm just as excited about Daggrfall as you all too. I grew up playing it and no matter what I keep going back to it time and time again. Sometimes I even daydream about cool features Daggerfall could have...realistic cities, roads and waystations, nobles/serfdom, a courier system you can actually see in action, a new genre of quests where based on notes I've taken from old books I've read..but first the basics.

I have a new approach to finding these elusive horses. I think the EXE is packed. I'll pause it in DOSBox and dump the code, then repeat my image analysis to try and find RCI files. I don't why know why things like the potion and item tables wouldn't be packed too, but perhaps the graphics are actually inserted as a hardcoded byte array in a header file, and the items are just resource files that don't get packed?

Re: Next tasks?

Posted: Fri Nov 18, 2016 9:15 pm
by Interkarma
Something I should expand on - my current hypothesis that horse might be inside .exe is based on the following observations:
  • Almost all arena2 files are now accounted for, and image formats are particularly well known. Horse does not appear to be in that lot. There are a couple of first-person horse images in MRED00I0.IMG and MRED00I1.IMG, but these clearly aren't the horse used in the game. IMG is also single-image format and the horse in game is clearly animated.
  • The small number of unknown files don't seem to fit the required heuristics to contain the horse images (wrong size, obviously different format, etc.)
  • When watching the dosbox debugger while switching travel to horse, no additional files are accessed. It could just be pre-loaded earlier of course, but in other cases Daggerfall only appears to access image files only when needed.
I could be completely off base and images are actually stored in an unknown file that I've somehow missed, or stuffed into one of the known image formats in a way I'm not handling correctly. That could account for my blindness in overturning the correct place to look. That's why I've kind of fallen back on the exe as a last resort. And to be fair on myself, Daggerfall does keep a lot of data in the exe that should probably have been in its own data file.

So don't rule anything out at this stage. Treat me as a fallible witness and don't let my failure thus far potentially pollute your thinking and send you in the wrong direction. :)

Re: Next tasks?

Posted: Tue Nov 22, 2016 12:37 pm
by AnKor
Hi!
First post here :)
Almost all arena2 files are now accounted for, and image formats are particularly well known. Horse does not appear to be in that lot. There are a couple of first-person horse images in MRED00I0.IMG and MRED00I1.IMG, but these clearly aren't the horse used in the game. IMG is also single-image format and the horse in game is clearly animated
What about corresponding .CFA files?
They are animated and referenced by FALL.exe.

This is MRED00I0.CFA converted to gif using WinArena (yeah, kind of stupid - I had to insert the .cfa file into arena's global.bsa to let WinArena dump it, no idea how to do it better). At least WinArena comes with the source code so the decompression algorithm is known.

Re: Next tasks?

Posted: Tue Nov 22, 2016 12:59 pm
by Interkarma
And what an epic first post it was. Welcome to the forums. :)

I will admit to have completely overlooked CFA files as an image format. No doubt a mental blindness on my part having not worked with earlier Arena formats at all.

Excellent information, and all I needed to progress this from unknown to known. Cheers!

Edit: OK, have found WinArena's LoadCFA() and DumpCFA() code. The format looks very familiar. I should able to roll this into DFTFU without any problems. Excellent tip-off. Kicking myself right now haha. :)