Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PrBoom+ compatibility with mouselook in demos #8

Open
plumsinus opened this issue Apr 11, 2014 · 4 comments
Open

PrBoom+ compatibility with mouselook in demos #8

plumsinus opened this issue Apr 11, 2014 · 4 comments

Comments

@plumsinus
Copy link

You probably know that PrBoom+ records mouselook in demos when it is used, in a way that makes the demo still compatible with other ports that don't use mouselook (assuming an appropriate wad and complevel setting). Since Crispy Doom now features mouselook, it would be cool if it could deal with mouselook in demos in a compatible way. Exact angles shouldn't be necessary (GLBoom+ allows for vertical mouselook across 180 degrees) since it doesn't affect gameplay.

@Danfun64
Copy link

If this and #13 are considered wontfix, why are they still open?

@fabiangreffrath
Copy link
Owner

I am really not going to implement this myself, but if someone else finds joy in it and presents a clean solution, maybe I'd merge it into the port. Also, I sometimes change my mind. ;)

@Danfun64
Copy link

I'm not a programmer, but as far as I can see, prboom (+) implements free look by...allowing you to look vertically but not shoot vertically. It's probably like if you had autoaim in zdoom set to max. Freelook in prboom is pointless, really, as it doesn't allow you to shoot wherever you want. I don't even know why they bothered.

fabiangreffrath added a commit that referenced this issue May 16, 2017
Sorry @Zodomaniac, but this was really only possible by accident and
it just feels so wrong. Fixes #163.

Let's rather focus on a true cross-port implementation as suggested in
#8
@fabiangreffrath
Copy link
Owner

One problem we will encounter when implementing this is that PrBoom+ comes from an OpenGL-rendering background where the player's view angle (mo->pitch) is an actual angle measured from the vertical axis, whereas Crispy adapted its code from Heretic, where looking up and down is implemented as a mere y-shearing. We will have to translate the meaning of the variable values/angles into each other.

g-branden-robinson added a commit to g-branden-robinson/crispy-doom that referenced this issue Sep 14, 2024
1.  Escape hyphens used as option dashes, for ease of copy and paste.[1]
2.  Use man(7) font alternation macros instead of *roff font selection
    escape sequences.  In my opinion, these look cleaner.
3.  Set file names in italics, not bold, as suggested in
    groff_man_style(7) and for consistency with "default.cfg.template"
    and "extra.cfg.template".

There are a few ways to force spacing between font alternation macros.
I selected `\~` because it is generally useful.  It is, however, an
extension.

     \~        Adjustable non‐breaking space.  Use this escape sequence
               to prevent a break inside a short phrase or between a
               numerical quantity and its corresponding unit(s).

                      Before starting the motor,
                      set the output speed to\~1.
                      There are 1,024\~bytes in 1\~KiB.
                      CSTR\~fabiangreffrath#8 documents the B\~language.

               \~ is a GNU extension also supported by Heirloom Doctools
               troff 050915 (September 2005), mandoc 1.9.14
               (2009‐11‐16), neatroff (commit 1c6ab0f6e, 2016‐09‐13),
               and Plan 9 from User Space troff (commit 93f8143600,
               2022‐08‐12), but not by Solaris or Documenter’s Workbench
               troffs.

[1] Brouhaha alert: https://lwn.net/Articles/947941/
g-branden-robinson added a commit to g-branden-robinson/crispy-doom that referenced this issue Sep 17, 2024
1.  Escape hyphens used as option dashes, for ease of copy and paste.[1]
2.  Use man(7) font alternation macros instead of *roff font selection
    escape sequences.  In my opinion, these look cleaner.
3.  Set file names in italics, not bold, as suggested in
    groff_man_style(7) and for consistency with "default.cfg.template"
    and "extra.cfg.template".

There are a few ways to force spacing between font alternation macro
arguments.  I selected `\~` because it is generally useful.  It is,
however, an extension.

     \~        Adjustable non‐breaking space.  Use this escape sequence
               to prevent a break inside a short phrase or between a
               numerical quantity and its corresponding unit(s).

```
                      Before starting the motor,
                      set the output speed to\~1.
                      There are 1,024\~bytes in 1\~KiB.
                      CSTR\~fabiangreffrath#8 documents the B\~language.
```

               \~ is a GNU extension also supported by Heirloom Doctools
               troff 050915 (September 2005), mandoc 1.9.14
               (2009‐11‐16), neatroff (commit 1c6ab0f6e, 2016‐09‐13),
               and Plan 9 from User Space troff (commit 93f8143600,
               2022‐08‐12), but not by Solaris or Documenter’s Workbench
               troffs.

[1] brouhaha alert: https://lwn.net/Articles/947941/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants