mud++0.35/etc/
mud++0.35/etc/guilds/
mud++0.35/help/propert/
mud++0.35/mudC/
mud++0.35/player/
mud++0.35/src/interface/
mud++0.35/src/os/cygwin32/
mud++0.35/src/os/win32/
mud++0.35/src/os/win32/bcppbuilder/
mud++0.35/src/osaddon/
mud++0.35/src/util/
# A bit of testing for VM array handling

!funstart int_array_test
!A PC pc
!A string str1
!L int var2
!L array<int> var3
!L string var4
	spushempty
	pushc string Int array dump : ~
	sconcat
	popl @var4
	pushi 10
	popl @var2
	pushi 1
	icall new_array_of_int_P_i
	popl @var3
	pushl @var3
:FILL_ARRAY	pushl @var2
	aadd
	decl @var2
	pushl @var2
	ieval ge FILL_ARRAY
	alen
	popl @var2
:DUMP_ARRAY	decl @var2
	pushl @var2
	apush
	pushl @var4
	swap
	sintcat
	pushc string ,~
	sconcat
	popl @var4
	pushl @var2
	ieval g DUMP_ARRAY
	pushl @var4
	pushl @pc
	icall out_string_P_pPC_s
	ret
!funend

!funstart call_sat
!A PC pc
!A string str1
	pushl @str1
	pushl @pc
	fcall string_array_test
	ret
!funend


!funstart string_array_test
!A PC pc
!A string str1
!L int var2
!L array<string> var3
!L string var4
	spushempty
	pushc string String array dump : ~
	sconcat
	popl @var4
	pushi 10
	popl @var2
	pushi 1
	icall new_array_of_string_P_i
	popl @var3
	pushl @var3
:FILL_ARRAY	
	spushempty
	pushl @var2
	sintcat
	aadd
	decl @var2
	pushl @var2
	ieval ge FILL_ARRAY
	alen
	popl @var2
:DUMP_ARRAY	decl @var2
	pushl @var2
	apush
	pushl @var4
	swap
	sconcat
	pushc string ,~
	sconcat
	popl @var4
	pushl @var2
	ieval g DUMP_ARRAY
	pushl @var4
	pushl @pc
	pushf 2
	sleep
	icall out_string_P_pPC_s
	ret
!funend

!end