#compdef rgbfix

local args=(
	# Arguments are listed here in the same order as in the manual, except for the version
	'(- : * options)'{-V,--version}'[Print version number]'

	'(-C --color-only)'{-C,--color-only}'[Mark ROM as GBC-only]'
	'(-c --color-compatible)'{-c,--color-compatible}'[Mark ROM as GBC-compatible]'
	'(-j --non-japanese)'{-j,--non-japanese}'[Set the non-Japanese region flag]'
	'(-s --sgb-compatible)'{-s,--sgb-compatible}'[Set the SGB flag]'
	'(-f --fix-spec -v --validate)'{-v,--validate}'[Shorthand for -f lhg]'

	'(-f --fix-spec -v --validate)'{-f,--fix-spec}'+[Fix or trash some header values]:fix spec:'
	'(-i --game-id)'{-i,--game-id}'+[Set game ID string]:4-char game ID:'
	'(-k --new-licensee)'{-k,--new-licensee}'+[Set new licensee string]:2-char licensee ID:'
	'(-l --old-licensee)'{-l,--old-licensee}'+[Set old licensee ID]:licensee number:'
	'(-m --mbc-type)'{-m,--mbc-type}'+[Set MBC flags]:mbc flags byte:'
	'(-n --rom-version)'{-n,--rom-version}'+[Set ROM version]:rom version byte:'
	'(-p --pad-value)'{-p,--pad-value}'+[Pad to next valid size using this byte as padding]:padding byte:'
	'(-r --ram-size)'{-r,--ram-size}'+[Set RAM size]:ram size byte:'
	'(-t --title)'{-t,--title}'+[Set title string]:11-char title string:'

	'*'":ROM files:_files -g '*.{gb,sgb,gbc}'"
)
_arguments -s -S : $args
