Menu

#31 Automatically switch to protocol 999 when necessary.

git
rejected
nobody
None
5
2023-09-28
2017-09-06
MaxED
No

Hi! Seeing that people complain about this issue in unrelated places, I've made the patch, which automatically switches to protocol 999 when map bounds exceed -16384 .. 16384 range (not sure this is a correct range, but that's easily fixable :) ).

1 Attachments

Discussion

  • Eric Wasylishen

    Eric Wasylishen - 2023-08-13

    The correct range is +/- 4096, but the range applies to entity positions, so checking the BSP bounds to determine whether to upgrade to protocol 999 is technically a heuristic that could have false negatives or positives.

    The problematic thing are maps that barely fit in the signon buffer of QS when running in protocol 666, and won't load in 999:
    - telefragged.bsp (RRP) - this one would cause false positives because it has geometry outside of +/- 4096 but no entities, and doesn't require protocol 999. And it will fail to load in 999 in QS due to the signon buffer overflowing.
    - ad_sepulcher.bsp (AD)

    It looks like vkQuake defaults to 999 + float coords + fte extensions: https://github.com/Novum/vkQuake/blob/master/Quake/sv_main.c#L32

    Ironwail also just defaults to 999: https://github.com/andrei-drexler/ironwail/blob/master/Quake/sv_main.c#L32C29-L32C29 but I think it has the unlimited signon buffer fix.

    IMO the best plan is to forget about the heuristic and backport what Ironwail did (default to 999 + unlimited signon buffer).

     
  • Ozkan Sezer

    Ozkan Sezer - 2023-08-14
    • status: open --> rejected
     
  • Ozkan Sezer

    Ozkan Sezer - 2023-08-14

    OK, closing as rejected in favor of https://github.com/sezero/quakespasm/issues/74

     

Log in to post a comment.