avaraline / Avara

Port of the original 1996 game from Ambrosia Software.
MIT License
122 stars 19 forks source link

"Free camera" flight controls / input refactoring #204

Open assertivist opened 2 years ago

assertivist commented 2 years ago

As an Avara user, in spectator mode, I should be able to switch between witnessing through other players' views (currently implemented), and a free-flight mode where the camera can be rotated and moved anywhere in the level space.

Bonus points:

Extra extra bonus points:

Ymihere03 commented 7 months ago

PRs https://github.com/avaraline/Avara/pull/391 and https://github.com/avaraline/Avara/pull/392 have added a free flight camera used in spectator mode. A new file CFreeCam.cpp was added to contain all the handling for the new camera. Additional code was added outside the new class to make the new camera view get used at the proper time.

Here are the features that align with this issue: Free camera can toggle on/off during spectator mode. When toggled on:

Please review if the free camera implementation is "easily added to BSPViewer" as I don't know the requirements for this goal.

As far as I can tell, the free cam has not added more SDL_Event handling but the FunctionTable for keyboard keys is read inside of CFreeCam.cpp. My PRs have no other changes to SDL_events.

I will not close this issue yet due to the unfinished tasks in the bonus section.