REGoth-project / REGoth

OpenSource-Reimplementation of the zEngine, used by the game "Gothic"
GNU General Public License v3.0
628 stars 63 forks source link

Implemented basic dialog camera #357

Closed HunterwolfAT closed 6 years ago

HunterwolfAT commented 6 years ago

Defined camera transformations (shot types) and a state machine to decide between them during dialogs with NPCs.

There are 4 shot types:


On a more personal note: Unfortunately I had to bail from working on this wonderful project and can't tell when I might able to return. So I thought I should just create this pull request, since it works well despite being quite basic still. I would have liked to figure out how to keep the camera from clipping through walls (even though that is a rare event anyway) and to emulate the original behaviour more closely (like, talking to Lord Hagen flips the camera depending on which side of his you are standing on when speaking to him).


Feedback is still massively appreciated! I will read it all and still try to fix bugs and make reasonable improvements. Thank you for your time :smiley:

HunterwolfAT commented 6 years ago

I will rebase the branch on master and then create another PR

HunterwolfAT commented 6 years ago

I can't seem to make rebasing work. Well.

The files I affected were CameraController.cpp, CameraController.h, Dialogmanager.cpp and PlayerController.cpp around line 1010.

I will try again with rebasing tomorrow, otherwise feel free to look at the feature and the code!

frabert commented 6 years ago

Looks good to me!

HunterwolfAT commented 6 years ago

Now I created a clean branch with just the changes, which can be found at #359