Rémi Bernon (@rbernon) commented about dlls/dmusic/instrument.c:
- {
CONNECTION *conn = &articulation->connections[articulation->list.cConnections];USHORT dst = gen_to_conn_dst[oper];if (dst == CONN_DST_NONE || dst == CONN_DST_GAIN)continue;conn->usSource = gen_to_conn_src[oper];conn->usDestination = dst;if (oper == SF_GEN_SUSTAIN_MOD_ENV || oper == SF_GEN_SUSTAIN_VOL_ENV)conn->lScale = (1000 - (SHORT)generators->amount[oper].value) * 65536;else if ((SHORT)generators->amount[oper].value == -32768)conn->lScale = 0x80000000;elseconn->lScale = (SHORT)generators->amount[oper].value * 65536;
`-32768 * 65536 = 0x80000000`, why the special case?