05AB1E, 19 bytes
[¼¾ENnN+N·¾[¼¾ENnN+¾N·¾-1‚ß¾*1‚ß*-,
Port of @alephalpha's Haskell answer.
Outputs indefinitely.
Explanation:
[ # Loop indefinitely:
¼ # Increase variable `c` by 1 (0 by default)
¾E # Inner loop `N` in the range [1,`c`]:
NnN+ # Push N²+N
, # N·¾- Pop and output:
NnN+¾N·¾-1‚ß*- # Push N²+N-c*min(2N-c,1)
Nn 1‚ß # Pop andN²
push min(2N N+ # +N
-c,1) # -
¾ ¾* * # Multiply by `c`: c*
1‚ß # min(2N-c ,1)*c
N· - # Subtract: N²+N-min( 2N-c,1)*c
¾- , # Pop and output it with trailing newline -c