Revision r2380
👤 helixhorned
📅 2012-02-24 11:51:37 -0800 (Fri, 24 Feb 2012)
Fix user quotes colored with a 2-digit number being wrongly x-aligned.
Such game text was shown starting from about the center of the screen.
The reason for the bug was this code:
t += 1 + isdigit(*(t+2));
The sequence points here are at the beginning and end of this assignment
expression, and the updating of t may happen anywhere between these (C99
6.5.16 #3). Please don't write such code. When in doubt, and assignment
and reference to the same object should be split!
Revision r2379
👤 helixhorned
📅 2012-02-21 11:33:33 -0800 (Tue, 21 Feb 2012)
Pull the 'for (' ... ')' out of the TRAVERSE_{CONNECT,SPRITE_*} macros.
This plays more nicely with automatic formatters. Also indent accordingly.
------------------------------------------------------------------------
Raw Content
------------------------------------------------------------------------
r2381 | helixhorned | 2012-02-24 11:51:54 -0800 (Fri, 24 Feb 2012) | 9 lines
Do bound check for "quick" sector/wall accesses from CON, i.e. in getvarvar.
This was causing oob sector accesses with code like this:
getwall[hitwall].nextsector temp
ifvarvare sector[temp].floorz sector[temp].ceilingz setvar tempb 1
(from DT's HYPERCORE).
Also validate quote indices passed to CON's quote and userquote commands at
runtime.
------------------------------------------------------------------------
r2380 | helixhorned | 2012-02-24 11:51:37 -0800 (Fri, 24 Feb 2012) | 9 lines
Fix user quotes colored with a 2-digit number being wrongly x-aligned.
Such game text was shown starting from about the center of the screen.
The reason for the bug was this code:
t += 1 + isdigit(*(t+2));
The sequence points here are at the beginning and end of this assignment
expression, and the updating of t may happen anywhere between these (C99
6.5.16 #3). Please don't write such code. When in doubt, and assignment
and reference to the same object should be split!
------------------------------------------------------------------------
r2379 | helixhorned | 2012-02-21 11:33:33 -0800 (Tue, 21 Feb 2012) | 3 lines
Pull the 'for (' ... ')' out of the TRAVERSE_{CONNECT,SPRITE_*} macros.
This plays more nicely with automatic formatters. Also indent accordingly.
------------------------------------------------------------------------