public GAUGE_AVAIL_ADD
gauge_avail_add	proc near

@@charge		= byte ptr  4
@@pid		= byte ptr  6

	push	bp
	mov	bp, sp
	push	si
	mov	al, [bp+@@pid]
	mov	ah, 0
	shl	ax, 7
	add	ax, offset _players
	mov	si, ax
	cmp	[si+player_t.hyper_active], 0
	jnz	short @@ret
	cmp	[si+gauge_avail], GAUGE_MAX
	jnb	short @@ret
	mov	al, [bp+@@charge]
	mov	ah, 0
	add	[si+gauge_avail], ax
	cmp	[si+gauge_avail], GAUGE_MAX
	jbe	short @@ret
	mov	[si+gauge_avail], GAUGE_MAX

@@ret:
	pop	si
	pop	bp
	retn	4
gauge_avail_add	endp