OpenAWE-Project / OpenAWE

A reimplementation of Remedy Entertainments Alan Wake Engine, in later iterations known as the Northlight Engine
GNU General Public License v3.0
159 stars 13 forks source link

Memory stream out of bounds #30

Closed Mzed3D closed 1 year ago

Mzed3D commented 1 year ago

Hi! I've compiled OpenAWE for my Odroid N2+ (Arm64) but when I try to run it I get the error message "Memory stream out of bounds". I'm using Armbian Jammy 22.02

Nostritius commented 1 year ago

Could you give me a log of your run preferrably with the --debug 6 option?

Mzed3D commented 1 year ago

openawedebug.txt

Here's the output

maaxxaam commented 1 year ago

That makes an issue clearer: something goes wrong when engine attempts loading animations from Alan Wake. Can confirm that current build crashes for me as well. Here are my logs, engine stops with a segmentation fault: crash#30.txt

Edit: tried recompiling with debug options - OpenAwe doesn't outright crash, but it still cannot load keyframe animations with "Memory stream out of bounds" error. Here are logs with debug on: crash#30_debug.txt

Nostritius commented 1 year ago

openawedebug.txt

Here's the output

The weapon loading, I have added recently, was only compatible with awan. I have added the code for aw in the last commit, could you test this?

Nostritius commented 1 year ago

That makes an issue clearer: something goes wrong when engine attempts loading animations from Alan Wake. Can confirm that current build crashes for me as well. Here are my logs, engine stops with a segmentation fault: crash#30.txt

Edit: tried recompiling with debug options - OpenAwe doesn't outright crash, but it still cannot load keyframe animations with "Memory stream out of bounds" error. Here are logs with debug on: crash#30_debug.txt

That is a different problem. AW and AWAN have different versions of Havok Files (550 and 2010), which can differ in their binary layout. Since I mostly implemented the 2010 version, used by AWAN, the imlementation for 550 are missing, which leads to the Memory Stream Problems. I think, these occasions are mostly packed int try/catches, so they won't make any problems.

Mzed3D commented 1 year ago

Now it starts! The map works but still there are some errors..

OpenAWEdebug2.txt

Mzed3D commented 1 year ago

When do you think we'll have a playable version? :)

maaxxaam commented 1 year ago

It depends a lot on what exactly you are asking for. If you're talking about "playable" as "start-to-end playable game" - that's is pretty far away at the moment. Rendering still has a lot of ground to cover, most of the physics are not implemented (that requires a lot of effort since Alan Wake's engine is using closed-source Havok), most of the scripting is not done yet. OpenAWE is, basically, a one-man project by @Nostritius, and hats off to him for keeping the project afloat for so long. If you wish to provide any assistance, I'm pretty sure it would be welcomed.

Nostritius commented 1 year ago

I have filed an issue for all the remaining data classes for havok 550 which cause these MemoryStreamErrors. If there is nothing more, I would close here. Feel free to open another issue if more problems arise