tigrouind / AITD-roomviewer

A room / level viewer for Alone in The Dark series
MIT License
24 stars 4 forks source link

Warp not working on AITD 2 ? #2

Closed Nightshades1 closed 6 years ago

Nightshades1 commented 6 years ago

Hello sir, i wanted to reverse AITD2 (my favorite game when i was a kid lol), i have issue with IDA 6.8 (decompiling dos game output sux...) then i found your AITD roomviewer, good job on this =D, i knew free in the dark but the source code is extremly hard to understand, lack of documentation and to be honest alone in the dark, even old it is very hard to reverse when you have no idea "what it is"...

Like the "models" it's a bullshit list of vertex lol, who da fuck do that in 2018 xD. So i'm having a little issue right now, this is linked with dosbox on alone in the dark 2 (cd-rom) version, downloaded from Abandonware (i'm french), there is the nice view of the actor and all but i simply can't warp the actor.

Pressing the keyboard input does nothing.

Is this even implemented for AITD2/3 ?

Also congratz again on the work of the software it's very well done but why unity instead of a visual studio c# software ? (maybe your preference xD).

Also if a day you want to improve this software i would recommend the ability to "rotate" the camera in ANY AXIS a kind of orbital camera like in 3ds max, render the actor with their corresponding model (reduced-size version), display more understandable information, because when checking "flags" and "Life" it's kinda weird, the display of the life is wrong if it's the actor health, i have 30K health but it display 200 or something, remember that this is (if i remember) an uint_16.

Thank you Tigrou, (it was my first pet lol).

Lately, but happy new year too =d.

Nightshades1 commented 6 years ago

Edit: Also there is a memory leak or something, the software was using 3Gb of ram.

tigrouind commented 6 years ago

Hello,

Is this even implemented for AITD2/3 ?

As you guessed, some advanced features like actor warp or viewing VARS are only available for AITD1.

What is actually supported for AITD2/3 :

"Show VARS" and "Additional info" menu items are visible even when the viewer is linked to AITD2/3. This is a bug and they should be not visible. I will fix that.

why unity instead of a visual studio c# ?

Using Unity allowed me to save a lot of time and "get things done" pretty quickly. It would have been a lot more complex and time consuming with plain C# DX/OpenGL.

ability to "rotate" the camera ... render the actor with their corresponding model (reduced-size version)

I will wrote down those possible improvements. There is also the possibility to display the rooms using same cameras as the ones in the game (if you see what i mean)

"Life" it's kinda weird, the display of the life is wrong if it's the actor health, i have 30K health but it display 200 or something

LIFE is the ID of the script active of an actor. It's called like that because this is the way the original game named it (the original game as a scripting system called "LIFE engine"). Health is stored somewhere else, in VARS.

there is a memory leak or something, the software was using 3Gb of ram.

This shouldn't be the case. Memory usage should be around 100-200mb. Maybe there is a bug with AITD2/3 which cause RV to allocate lot of memory. I will check this.

tigrouind commented 6 years ago

I have added possibility to use warp dialog in AITD2/3. This was fairly easy to do. You can now enjoy teleportation !