------------------------------------------------------------------------------
HGIMG ver3.21   REFERENCE MANUAL       High Performance Graphic Image Plugin  
grogDLLt@X             copyright 2001-2010 (c) onion software  
------------------------------------------------------------------------------

E͂߂

	HGIMG3́AHot Soup Processor ver3.2ȍ~ƂƂɎgp邱ƂŁA
	ʂ̕`ɊւlXȋ@\g񋟂܂B
	HGIMG3́AWindows98AMeA2000AXPAVistaȍ~DirectX8ȏオ
	CXg[ꂽœ삵܂B


ECXg[

	HGIMG3́Aȉ̂悤ȃt@C\ɂȂĂ܂B

		hgimg3.txt (̃t@C)
		hsp3hg.exe (sp^C)

		commontH_ (HGIMG3wb_t@C)
		hsphelptH_ (HGIMG3wvt@C)
		runtimetH_ (HGIMG3JX^^C)
		sampletH_ (HGIMG3TvXNvg & f[^)

	HGIMG3gpXNvg쐬ꍇɂ́AXNvg̐擪
	Ku#include "hgimg3.as"vƂsǉĂB
	ȏŁAHSP̋@\gÃt@XŐĂ閽߂
	gp邱Ƃł悤ɂȂ܂B
	܂ŏɁAt̃TvXNvgsĂ݂ĂB
	gꂽ@\̊ȒPȎgp邱Ƃł͂łB
	TvXNvǵAHSPCXg[tH_ȉsample/hgimg3
	ɗpӂĂ܂B


Eӓ_

	HGIMG3́AODLLt@CɂgvOCł͂܂B
	HSP3.0̋@\^Ct@CƂĒ񋟂Ă܂B
	KAHGIMG3̃^CɑΉo[W̃RpC
	(hspcmp.dll)XNvgGfB^gpB
	܂AHSP3͎s^CɑΉR[hWFl[^[(hspcmp.dll)
	gpB(HSP3.2ȏ𐄏)


E쌠ƃCZX

	[U[HGIMG3gč쐬IWĩ\tgEFA(st@C)̌́A
	쐬[U[ɑ܂B
	[U[HGIMG3gč쐬IWĩ\tgEFA(st@C)A
	RɒʐMAAXȂǂœWAzzA̔邱Ƃł܂B
	CZX͕Kv܂B

	AHGIMG3łOggVorvis`̃t@CfR[hXiph.org Foundation
	̃CugpĂAst@C̔zzɂĂ
	Kɏ]Ĉȉ̃CZX\LKvɂȂ܂B

	--------------------------------------------------------------------------------
	OggVorvis`̃t@CfR[hɈȉ̃CugpĂ܂
	libvorbis : Copyright (c) 2002-2004 Xiph.org Foundation
	--------------------------------------------------------------------------------
	(zz̒ɏL̓e܂ރeLXg܂߂悤ɂĂB)

	HGIMG3^C̒쌠onion softwareɂ܂B
	onion software͖{vOɂĐAȂ鑹QɂĂۏ؂܂B
	Ȃ̐ӔC͈̔͂ŎgpĂB

	HGIMG3^CƂɕtTvXNvgEf[^́A
	{IBSDCZX̂ƗLE킸YtAAҁAĔzz
	邱Ƃł܂B
	A̍ۂɂ͕Kȉ̃CZX\L܂߂悤ɂĂB
	(́A^Ct@C(.hrt)yуTvXNvgAf[^zz
	 ۂ̕\LłB̍IWĩ\tgEFA(st@C)
	zzۂɂ́Aɂlibvorbis̃CZX\L݂̂Ŗ肠܂B)

	--------------------------------------------------------------------------------
	HGIMG3 : Made with base technology of OpenHSP
	Copyright (C) 1997-2010, Onion Software/onitama.
	All rights reserved.
	OggVorvis`̃t@CfR[hɈȉ̃CugpĂ܂
	libvorbis : Copyright (c) 2002-2004 Xiph.org Foundation
	--------------------------------------------------------------------------------

	(zz̒ɏL̓e܂ރeLXg܂߂悤ɂĂB)


EHGIMG3̊Tv

	HGIMG3́Ax2DA3DOtBbNgAvP[VHSP
	쐬邽߂̊gvOCłB
	XvCggp2DQ[A3Dfg{iIȃ\tg܂ŕL
	p邱Ƃł܂B

	HGIMG3ŃT|[gȋ@\͈ȉ̒ʂłB

	EDirectXAtJ[[hΏۂƂxȕ`VXe
	E2DXvCgA3D|SȂǂʂ̖߂Őݒ\ȕ`GW
	E2DXvCg̉]gkAAFA^CO(BG\)
	E3DW2DXvCg3D|S݉\ȃ[hǗ
	E3D̊Kw\|Sf̊Ǘ\
	E{[p3DXLf̃Aj[V\\
	EAj̃_O(gD[VF[fBO)\\
	EBMPAJPGAGIFAPNGADDSATGAATIFF`̃eNX`T|[g
	EA`GCAX܂߂{tHg̃eNX`_O@\
	EAt@`l܂ރeNX`摜̃T|[g
	EXvCg̕\Aړ̊ǗяՓ˔@\
	EHSP3ɑΉɂWIgZ
	ECxgXgo^@\ɂ莩Rx̍\
	EPʎԂ̈ړʂ瓮̌vZsȂ^CXP[[h𓋍
	EDXF`3Df[^ǂݍ݂T|[g
	Eg₷ڕ`施߂𑕔

	vȖ߂Ver2.61Yt̃o[W(HGIMG2)ƌ݊œ삵܂A
	@\̐ɂAꕔ̖߂݊܂͔p~ƂȂĂ܂B
	܂AtO⃂[hȂǍׂقȂĂ邽߁AȑÕXNvg
	ڐAėpꍇɂ͏CKvłB
	tɁAHSP3.0ɍ킹Ă֗ɊgĂ镔܂B
	HGIMG2̍l▽߂̎dg݂͂̂܂܂ŁAHGIMG3K邱Ƃ
	ł͂ł̂ŁAƂHGIMG3̐V@\pB

	Ver2.61Yt̃o[W(HGIMG2)ƔׂĈȉ̋@\폜Ă܂B

	EƎ̃Aj[V`(ma)ɂ郂[VĐ
	E|SAъKw̎QƂƕύXAmx`ł̃Z[u
	Eʏ2DʒuY|S|SXL@\
	EobjmovnMOCp[^[ύX̓Cxg@\ɒuĂ܂
	EtH[It_O@\͍폜^CXP[[hڂĂ܂

	HGIMG3́AȑÕo[W(HGIMG2)ɔׂāA@\͑Ă܂A
	K₷Aʏgp邽߂̖ߐp[^[͍팸Ă܂B
	S҂A㋉҂܂Ŏy2DE3D̍xȋ@\p邱Ƃڎw
	݌vĂ܂B


Eo[Wł̒ӓ_

	ȉ̏Ǐ󂪊m̕sƂĕ񍐂Ă܂B\߂B

	EIuWFNg̐eq֌WKwɂȂƂɃp[^̑dȕϊ󂯂B
	Ex`̃ff[^objchild߂ɂeq֌WɑΉĂȂ
	Efhgviewɂ`GA̐ݒɑΉĂȂB


	܂Aȉ̋@\͖łB̃o[WŃT|[g\łB

	EƎtH[}bg(mx)ɂ3Df̓ǂݍ
	E^CXP[[h
	Eǉ̃Cgp[^[
	ÊȂIuWFNgEfo^
	E荂xȃRW(蔻)VXe


EXV

	2010/04/28 ( Ver3.21a )

		x`̃fȊOsetefxɂ锼ݒ肪fȂƂsC
		hLgAt@X\LÂC
		HGIMGʌ݊dxfload߂T|[g

	2010/03/17 ( Ver3.21 )

		ꕔOSoggXg[̍ĐdmmstatōĐԂƃt[YsC

	2010/03/15 ( Ver3.21RC3 )

		hgcnvaxis̍WϊY̒ltɂȂsC
		Rȉʂݒ肷TvAvolsamp.hspǉ
		addline߂ɂ\ȂsC
		eNX`ԕ@ɂĂfprt߂ɂtHg`悪ڂĕ\sC
		setxinfo߂ɂKw̉]ύXۂɈړۑ悤ɏC
		VXeNGXgSYSREQ_FPUPRESERVEIvVǉ

	2010/02/17 ( Ver3.21RC2 )

		ڕ`施(fprt)̃eNX`tB^[wSYSREQ_2DFILTER2ɕ

	2010/01/28 ( Ver3.21RC1 )

		Oς̌vZ(fvouter)ԈĂC
		hgresetŐȂsC
		OBAQ(GW)vOCIuWFNg̕`T|[g
		G~b^[֘A(hgemit)ǉ
		groupmod߂ǉ
		f(addline)T|[gǉ

	2009/10/21 ( Ver3.2a )

		HSP3.1ƔrCPUғȂ邱ƂsC

	2009/07/27 ( Ver3.2RC1 )

		hgresetŃVXeďĂɃ^C}[lȂȂsC
		IuWFNg̃[hOBJ_SORTǉ
		hgcnvaxis߂ǉ
		cnvaxisAobjsortTvǉ

	2009/05/01 ( Ver3.23 )

		2D Elements Editor(elm2d)c[yуTvǉ
		IuWFNg̃[hOBJ_FIRSTǉ

	2009/03/11 ( Ver3.22 )

		hgprm߂̃p[^[ǉB
		delmodel߂ǉB
		}NAEPRIM_FAN̒`ǉB
		event_pos̃p[^[ύXCxgevent_jumpɂ郋[v𕹗pƌł܂邱ƂsCB

	2008/03/28 ( Ver3.2test1 )

		GtFNgfɂẲyуTvǉB
		bV}bvɂẲyуTvǉB
		gRWɊւIuWFNg̃[hǉB
		J̃[hɃIuWFNgAyюǔǉB
		meshmapAgetvarmapAobjwalkAobjfloorAgetcolvecAgetnearobj߂ǉB
		̖wave_initAwave_applyAwave_setɂẴwvǉB

	2007/08/25 ( Ver3.1FIX1 )

		OBJ_LATEw肵̃IuWFNg\ɂāAeNX`̎w肪fȂȂsCB

	2007/07/15 ( Ver3.1RC1 )

		CZXɊւLqCB

	2007/06/04 ( Ver3.110 )

		A^C^C}[̎擾AݒsȂhggettimeAhgsettime߂ǉB
		W[event_delobj߂gpƃG[ɂȂsCB

	2007/04/06 ( Ver3.18 )

		texmes߂32biteNX``掞ɕ\sCB
		[Ctrl]+[Alt]+[Del]ŃfoCXɂȂAIɕA悤ɏCB
		ꕔ̊fprt߂ɂtHg\sCB
		̃TvXNvgǉB

	2007/02/07 ( Ver3.17 )

		hgsetreq߂MIPMAP̐䂪łIvVǉB
		texmes߂ŃbZ[W̉sR[hF悤ɏCB
		ԁAsԁAA`GCAX̐ݒsȂtexopt߂ǉB
		r[|[gݒ肷邽߂hgview߂ǉB
		texmes߂ŃG[o邱ƂsCB
		hgdraw߂̃IvVp[^[ǉB

	2006/11/10 ( Ver3.16 )

		GtFNgpf̔\ɑΉB
		CxgXĝ߂event_eprimAevent_aimAevent_objact߂ǉB
		objact߂ŏIAj[VID-1wł悤ɏCB
		}eAɃgD[VF[fBOϊɎssCB
		modelcolsAsetcolscale߂̃p[^[ǉB
		objaimAhgprm߂ǉB
		DirectSound@\OggVorbis`ɂXg[ĐɑΉB

	2006/07/23 ( Ver3.15 )

		DirectSound̊{@\T|[ĝ߂̖(dmm`)ǉB
		x`̊Kw\f\ɃXP[ȂƂsCB
		setxinfoAgetxinfo߂ɒ_WAUVWw肷IvVǉB
		sysreq߂SYSREQ_QUATALGIvVǉB
		3Df̃lIvVZobt@̃[hǉB
		IuWFNg̃vWFNV[hύXobjproj߂ǉB
		CxgXĝ߂event_regobjAevent_delobj߂ǉB
		GtFNgpf쐬Ɛݒ̂߂addeprimAseteprim߂ǉB
		x`ɂAj[V̊Jnt[F悤ɏCB
		hgsetreq߂SYSREQ_DXVSYNCASYSREQ_DEFTIMERIvVǉB
		setborder߂̃IvVǉB
		regobj߂ɃCxgIDŵ߂̃p[^[ǉB
		hgsync߂̐xグח̎擾ł悤ɏCB
		IuWFNg̐eq֌Wݒ肷objchild߂ǉB
		addmesh߂̌JԂeNX`w(16)gpłȂsCB

	2006/07/03 ( Ver3.14 )

		x`f\̉]̃fƈĂsCB
		x`f\̉AeFArGgw莞ɂȂsCB
		f̉]ݒ肷邽߂modelorder߂ǉB
		CeBOɂ\IvVmodelshade߂ɒǉB

	2006/04/25 ( Ver3.13 )

		addplate߂ŃeNX`IDw肵ꍇɔfȂƂsCB
		addbox߂Œǉf̌vZfȂsCB
		x`f\ɔw肪ꍇZobt@XVȂ悤ɏCB
		RGBlŐFZsȂ[h(1024`)ǉB
		x`fƂȊO3D|Sf\ʂȂsCB
		3DfVF[fBO[h̐ݒsȂmodelshade߂ǉB
		J_[hYW𔽓]ĔFsCB
		J_[h̋ňȑOƂ̌݊ɂȂXCb`ǉB
		addsplate߂wvɒǉB
		addboxAaddmesh߂ɃeNX`IDw̃p[^[ǉB
		addbox߂Œ̂w肵ɌԂłsCB

	2006/03/14 ( Ver3.12 )

		ꃂf𕡐\ꍇɃAj[VƗčĐłȂsCB
		{[Ȃf̌vZXP[̉e󂯂sCB
		hgsetreq߂ɃeNX`Ԃ̂߂̃IvVǉB
		3D`掞́AftHgŃeNX`̃oCjAԂgp悤ɏCB

	2005/12/22 ( Ver3.11 )

		2DIuWFNgZobt@XVɂȂ悤ɏCB
		getobjcoli߂ǉB
		getobjmodel߂ǉB
		setcolscale߂ǉB
		modelcols߂ǉB
		objexist߂ǉB
		addbox߂̃TCYp[^[FȂsCB
		Cxgɂp[^[ύXɑΒlgp\ɏCB

	2005/11/28 ( Ver3.11 )

		settoonedge̐ԈĂ̂CB
		{[Ȃf̃gD[VF[fBOɃ}eAfȂsCB
	2005/08/30 ( Ver3.0a )

		HSP3.0aCuŃrhB
		xt@CɂAj[Vő吔ݒł悤ɏCB
		xt@Cǂݍݎ̖@ČvZON/OFFł悤ɏCB
		xt@CǂݍݎɃ}eA邱ƂsCB
		xt@Cɂ郂f`ŉZłȂsCB
		IuWFNg`pOBJ_LATEtOǉB
		event_uv߂platefɑ΂ē삵ȂsCB
		clstex߂Ŏw肵eNX`wiɐݒ肳悤ɏCB

	2005/08/01 ( Ver3.0 )

		HSP3.0CuŃrhB

	2005/07/13 ( Ver3.08 )

		HSP3.012CuŃrhB

	2005/06/23 ( Ver3.07 )

		]Aj[V̕ԕ@ʐ`ɏCB
		{[̂Ȃf̌vZԈĂ̂CB
		getxinfo߂̃p[^[dlꕔύXB
		getxinfoAsetxinfo߂ɂ}eA̓ǂݏɑΉB

	2005/06/22 ( Ver3.06 )

		CgFAArGgF̔fCB
		P{̃{[100%ˑ郁bV̕\ɑΉB
		Jp(FOV)A\͈(near,far)p[^[f悤ɏCB
		EChDTCYɍ킹ăJAXyNg␳悤ɏCB
		hggetreq߂DirectXCOM|C^擾ł悤ɏCB
		getxinfoAsetxinfo߂ǉB

	2005/06/15 ( Ver3.05 )

		HSP3.010CuŃrhB
		CgFAArGgFfĂȂ̂CB
		Aj[V؂ւɃXs[hftHgɖ߂悤ɏCB
		reglightAobjlight߂ǉB

	2005/05/27 ( Ver3.04 )

		HSP3.08CuŃrhB
		hglineAhgcapture߂ǉB
		{[܂ވꕔ̃f\ȂsCB
		addsprAaddplate߂ɃeNX`IDw̃p[^[ǉB
		event_setn̖߂Ńp[^[ȗɐ삵ȂsCB

	2005/04/12 ( Ver3.03 )

		HSP3.07CuŃrhBfobOEChDɑΉB
		modelspeed߂ǉB

	2005/03/23 ( Ver3.02 )

		xt@Cǂݍݎ̖@ČvZsȂȂ悤ɏCB
		fvouter,fvsub,fvdiv߂̌vZtɂȂĂsCB
		Aj[Vo^̂߂addxanim߂ǉB
		Aj[Vݒ̂߂objact,objspeed,getanim߂ǉB

	2005/02/25 ( Ver3.01 )

		eXgłƂďoB


E߈ꗗ(C)

	hgini yofs,ysize			DLL̏
	hgreset							V[̏
	hgdraw mode					`̎s
	hgbye							DLL̊J
	hgsync val						ԑ҂sȂ
	hgsetreq type,val				VXeNGXgݒ
	hggetreq val,type				VXeNGXg擾

	setborder sx,sy,sz,option				IuWFNgL͈͐ݒ
	clscolor color					wiFݒ
	clstex id						wieNX`ݒ
	setfont cx,cy,px,sw				IWitHg`
	fprt "mes",x,y					`tHg\

	cammode mode					J[h̐ݒ

	objact ObjID,anim,mode				wAj[VJn

	setuv tx0,ty0,tx1,ty1			o^eNX`UVWw
	setsizef sx,sy					o^f̕Aw
	addbox var,sx,sy,texid				(BOX)f쐬
	addplate var,mode,sx,sy,texid			(PLATE)f쐬
	addspr var,mode,x1,y1,x2,y2,texid		2DXvCgf쐬
	addxfile model,"filename"		ft@Cǂݍ

	regobj var,ModelID,mode,EventID		IuWFNg̓o^
	delobj ObjID					IuWFNg̍폜
	setobjmodel ObjID, ModelID		IuWFNg̃fݒ
	setobjmode id,mode,sw			IuWFNg̃[hݒ
	setcoli id,mygroup,enegroup		IuWFNg̃RWݒ
	getcoli val,id,distance			IuWFNg̃RW
	findobj exmode,group			IuWFNg
	nextobj val						̃IuWFNg

	clsblur val						u[ݒ
	setcolor r,g,b					PF|S쐬ݒ
	falpha val						tHglݒ


E߈ꗗ(⏕)

	selmoc id, mocofs				MOCݒ
	selpos id						ړWMOCɐݒ
	selang id						]pxMOCɐݒ
	selscale id						XP[MOCɐݒ
	seldir id						ړʂMOCɐݒ

	selcam ofs						JMOCɐݒ
	selcpos							JWMOCɐݒ
	selcang							JpxMOCɐݒ
	selcint							J_MOCɐݒ

	sellight id,ofs					MOCɐݒ
	sellpos	id						WMOCɐݒ
	sellang	id						pxMOCɐݒ
	sellcolor id					FMOCɐݒ

	objset1 ofs,x					MOCݒ
	objadd1 ofs,x					MOCZ
	objsetf1 ofs,x					MOCݒ
	objaddf1 ofs,x					MOCZ
	objset1r ofs,x					MOCݒ

	objset2 ofs,x,y					MOCݒ
	objadd2 ofs,x,y					MOCZ
	objsetf2 ofs,x,y				MOCݒ
	objaddf2 ofs,x,y				MOCZ
	objset2r ofs,x,y				MOCݒ

	objset3 x,y,z					MOCݒ
	objadd3 x,y,z					MOCZ
	objsetf3 x,y,z					MOCݒ
	objaddf3 x,y,z					MOCZ
	objset3r x,y,z					MOCݒ

	objgetfv fv						MOC擾
	objsetfv fv						MOCݒ
	objaddfv fv						MOCZ
	objgetv v						MOC𐮐lŎ擾
	objsetv v						MOC𐮐lŐݒ
	objgetstr sval					MOC𕶎Ŏ擾

	fvset fv,x,y,z					xNgݒ
	fvseti fv,x,y,z					lxNgݒ
	fvadd fv,x,y,z					xNgZ
	fvsub fv,x,y,z					xNgZ
	fvmul fv,x,y,z					xNgZ
	fvdiv fv,x,y,z					xNgZ
	fvdir fv,x,y,z					xNg]
	fvmin fv,x,y,z					xNgől
	fvmax fv,x,y,z					xNgŏl
	fvouter fv,x,y,z				xNgO
	fvinner fv,x,y,z				xNg
	fvface fv,x,y,z					Wpx𓾂
	fvunit fv						xNgK
	fsin fval,rot					TC߂
	fcos fval,rot					RTC߂
	fsqr fval,prm					߂
	froti fval,prm					lpxlɕϊ

	fv2str fv						xNg𕶎ɕϊ
	str2fv fv,"x,y,z"				xNgɕϊ
	str2f fval,"val"				lɕϊ
	f2str val,fval					l𕶎ɕϊ

	settex x,y,sw,mode				eNX`o^

	modelscale id,x,y,z				f̊gk
	modelshade id,mode				fVF[fBO[h̐ݒ

	dxfload "file"					DXF`t@Cǂݍ


E̊Tv

	HGIMG3́AׂẴ}Vœ̕\AœKꂽxČł悤
	JĂ܂B3DANZ[^[𓋍ڂȂ@(m[g^I{[h
	rfI`bvڋ@Ȃ)AłĂptH[}X邱ƂȂ
	삳邱Ƃł܂B܂AyɍsȂƂƂDirectX
	o[W̕svhCȏȂǂɂsŏɗ}邱Ƃ
	ڎwĂ܂B

	HGIMG3ł́AufvƁuIuWFNgvƂPʂŕ`̊ǗsȂ
	܂BHSP̖߂̑́A̕KvȂړȈsȂĂ܂A
	HGIMG3ł́Aŏ̏iKƂĎĝuo^vĂAł܂Ƃ߂
	S`悷X^CĂ܂B͒Ił͂ȂʁǍ
	ƍ}邱Ƃł܂BHGIMG3ɂ́A100ވȏ̖߂ŏ
	̕GɌ˘f܂񂪁AŒĝ͂킸ł̂ŁAÂ
	gĊoĂĂB

	炩̊Goꍇɂ́AŏɁufvo^Kv܂B
	ufv́A

		E2DXvCg
		E3DXvCg()
		E
		E3Df

	̂悤ȎނAꂼ̎ނɉĐFXȐݒ荀ڂ܂B
	Ƃ΁A2D̊Gʂɕ\ꍇ́Aނu2DXvCgv́ufv
	ŏɓo^Ȃ΂Ȃ܂B
	u2DXvCgv́A\ɎgG(eNX`)Aj[V̐ݒȂǂ
	AKvȍڂݒ肷OKłB

	ufvo^ł͉ʂɂ͉\܂B
	ufv́Aʂɕ\邽߂̍ޗƂȂ܂Bʂɕ\\
	̂炩ߍޗƂăXgbNĂ̂ƍlĉB

	ufvɑāAuIuWFNgvo^܂B
	uIuWFNgv́uǂ̏ꏊɂǂ̃fovƂ
	悤Ȃ̂łBuIuWFNgvwufvʂɕ\܂B
	uIuWFNgv͒PȂȂ̂ŁÂQʂɏoꍇɂ́A
	ufv1o^āÃfuIuWFNgvQo^
	ƂɂȂ܂Bufv́Ǎ`F̂̏ĂA
	uIuWFNgv́Aufvʏɏoꏊ⓮̐ݒȂǂĂ
	ƍlĂĂB

	̊TOƂɁA2DA3D摜Rg[邽߂̖߂pӂ
	܂B
	HGIMG3͓ł́Aׂ32bitɂp[^ǗAZ
	܂B߂̃p[^[ŏKvȕł́AHSP3.0̎w肨
	^ϐɊSɑΉĂ܂B
	Ƃ΁A

			objadd3 1.0, 1.5, 2.0

	̂悤Ɏlɂw肪\łB܂A

			objadd3 1, 1, 2

	̂悤ɐlł󂯕t܂B

	ʂ̉摜A3Df[^gp\tgŖƂȂ͕̂`ɂ镉ׁA
	܂G`̂ɎԂĂ܂_łB



	HGIMG3ł́APʎԂ̈ړʂ瓮̌vZsȂ^CXP[
	[h𓋍ڂ邱ƂŁAȃ}Vł͂荂t[[g
	삳邱ƂŁA}VXybNɂʏ̓쑬ẍႢz
	邱Ƃł܂B


Eƕ`̕@

	HGIMG3ł́Aȉ̎菇ɏ]čsȂĉB

	;------------------------------------------------------------------
	screen 0,320,240,0
	hgini						; hgimg̏
	;------------------------------------------------------------------

	hgini߂́AvOC̑SsȂ߂łB
	hgini߂sꂽ_ŃANeBuȃEChD̃TCYƁA
	F[hƂɏsȂ܂B
	̗ł́A320x240hbgAtJ[[hŕ`sȂƂ
	Ȃ܂B

	AčsȂƂ͂ł܂B
	ďꍇ́Ahgbye߂łׂĂ̏IsȂɎs
	悤ɂĂB

	܂Ahgbye߂łׂĂ̏IsȂ܂B
	hgbyeߎ̂́AN[Abv߂HSP̏IɎI
	Ăяo邽߁Aʏ͋LqKv͂܂B

	IAło^ĂIuWFNg\\
	ԂɂȂ܂B
	HGIMG3ł́A`ȉ̂悤ɍsȂ܂B

	;------------------------------------------------------------------
	*main
		;	`惁C
		;
		hgdraw				; `揈
		hgsync 10			; ԑ҂
		goto *main
	;------------------------------------------------------------------

	hgdraw߂ŁAHGIMG3󂯎ׂĂ̕`sȂ܂B
	̎A`̃EChDgsel߂ȂǂŃANeBuɂĂ̂
	YȂłB
	̌Ahgsync߂Ŏԑ҂(EFCg)܂Buhgsync 10v̏ꍇ́A
	10ms҂Ԃ܂B
	̂Q̖߂KΑS`Ƒ҂Ԃ̏͊܂B
	HSPwaitawait߂Kv͂܂B


Efݒ薽

	f̓o^邽߂ɂ́AނɉĖ߂قȂ܂B
	ȓo^̕@͈ȉ̒ʂłB

	E2DXvCg

		setuv tx0,ty0,tx1,ty1		;UVW̐ݒ
		addspr val, mode			;2DXvCgf쐬

		eNX`W̍(tx0,ty0)ƉE(tx1,ty1)̑傫
		TCY2DXvCgf쐬܂B
		]AgkAȂǂsȂƂł܂B
		ϐvalɃfID܂B
		ɑtexload߂œǂݍ܂ꂽeNX`(摜)gp܂B
		addspr߂model0̏ꍇ͓FsȂ܂B
		model1̏ꍇ͎w肳ꂽF𓧖FƂĈĕ`悵܂B

	E2DBG}bv

		setbg sx,sy,cx,cy					;}bvTCYA`bvTCYݒ
		addbg val, winsizex, winsizey,sw	;2DBG}bvf쐬

		}bṽTCY(sx,sy)A`bvTCY(cx,cy)ƂBG}bv\
		f쐬܂B
		ϐvalɃfID܂B
		ɑtexload߂œǂݍ܂ꂽeNX`(摜)gp܂B

	EPF3DXvCg()

		setsizef sx,sy				;̑傫ݒ
		setcolor 0,255,0			;F̐ݒ
		addplate val, mode			;(PLATE)f쐬

		cTCY(sx,sy)̎lp|S()̃f쐬܂B
		F́A(R=0,G=255,B=0)ƂȂ܂B
		ϐvalɃfID܂B
		model2̏ꍇ͌vZsȂ܂B

	E3DXvCg()

		setsizef sx,sy				;̑傫ݒ
		setuv tx0,ty0,tx1,ty1		;UVW̐ݒ
		addplate val, mode			;(PLATE)f쐬

		eNX`W(tx0,ty0)ƉE(tx1,ty1)̂̂ŁA
		cTCY(sx,sy)̎lp|S()̃f쐬܂B
		ϐvalɃfID܂B
		ɑtexload߂œǂݍ܂ꂽeNX`(摜)gp܂B
		addplate߂model0̏ꍇ͓FsȂ܂B
		model1̏ꍇ͎w肳ꂽF𓧖FƂĈĕ`悵܂B

	EPF̔()

		setsizef sx,sy				;̑傫ݒ
		setcolor 255,0,0			;F̐ݒ
		addbox val,2				;(BOX)f쐬

		TCY(sx,sy)̔()f쐬܂B
		F͐(R=255,G=0,B=0)ŁAvZsȂ܂B
		ϐvalɃfID܂B

	EeNX`gp̔()

		setsizef sx,sy				;̑傫ݒ
		setuv tx0,ty0,tx1,ty1		;UVW̐ݒ
		addbox val					;(BOX)f쐬

		TCY(sx,sy)̔()f쐬܂B
		eNX`W͍(tx0,ty0)ƉE(tx1,ty1)P̖ʂƂȂA
		(tx0,(ty1-ty0)+1)ƁA(tx0,((ty1-ty0)+1)*2)3̖ʂ
		eNX`ƂĎf܂B
		ϐvalɃfID܂B
		ɑtexload߂œǂݍ܂ꂽeNX`(摜)gp܂B

	E3Df

		addxfile model,"filename"		;ft@Cǂݍ

		"filename"Ŏw肳ꂽ|Sft@C(gqx)ǂݍ
		fƂēo^܂B܂AeNX`ɓǂݍ܂܂B
		IƎw肳ꂽϐɃfID܂B

	E

		addline model,-1,$ffffffff		;(LINE)f쐬

		F̐߂̃f쐬܂B
		ϐmodelɃfID܂B
		xNǵAworkO[vɐݒ肳ꂽ̂gp܂B

	fǉ̂߂̖߂́AȊOɂadddxf̕⏕߂݂܂B
	ڂ̓t@XQƂĂB


EIuWFNgݒ薽

	IuWFNgo^ꍇ́A

		regobj ϐ, fID, [h

	̖߂gp܂B
	regobjł́Ałɓo^Ă郂fIDƁA[hw肷Kv
	܂B
	[h͈ȉ̒I܂B

		x             |        e
		--------------------------------------------------------------
		OBJ_HIDE             \(ʂ)
		OBJ_TREE             ؑ(Ŷݐʂ)
		OBJ_XFRONT           ʑ(ɉʂɐʂ)
		OBJ_MOVE             XYZړʂLɂ
		OBJ_FLIP             {[_[̈Ŕ]
		OBJ_BORDER           {[_[̈Lɂ
		OBJ_LATE             Ɍォ`(IuWFNgp)
		OBJ_FIRST            ɍŏɕ`
		OBJ_SORT             Iɉ`(3DIuWFNgp)
		OBJ_LOOKAT           IuWFNg̕Ɍ
		OBJ_LAND             YWɈɕۂ
		OBJ_GROUND           nʂƂĔF
		OBJ_STAND            nʂ̏ɔzu
		OBJ_GRAVITY          d͌vZLɂ
		OBJ_STATIC           QƂĔF
		OBJ_BOUND            nʂŔ(bV}bvRWp)
		OBJ_ALIEN            ^[QbgɌ(bV}bvRWp)
		OBJ_WALKCLIP         ړ̐󂯂(bV}bvRWp)
		OBJ_EMITTER          G~b^[IuWFNgɂȂ

	̍ڂ𓯎ɑIꍇ́AuOBJ_LATE|OBJ_MOVEv̂悤
	u|vŋ؂Ďw肵ĂBw肵Ȃꍇ́A0ɂ邩
	ȗč\܂B
	IuWFNg̃[h́A炩߃ftHg̃[hf̎ނɉ
	ݒ肳Ă̂ŁAʏ͓ɐݒ肷Kv͂܂B
	܂Asetmode߂ŃfɃ[hw肵ꍇ́Ã[h
	IuWFNgɂp܂B

	ɃIuWFNgo^ƕϐɃIuWFNgID
	Ԃ܂BIuWFNgID́ǍɃIuWFNg̃p[^
	ݒύXꍇɕKvɂȂԍłB

	IuWFNg̐ݒォύX閽߂͈ȉ̒ʂłB

		setobjm ObjID, ModelID			IuWFNg̃fݒ
		setobjmode id,mode,sw			IuWFNg̃[hݒ
		setcoli id,mygroup,enegroup		IuWFNg̃RWݒ

	IuWFNg̐ݒ́AMOCݒ薽߂łsȂƂł܂B
	ڂ́AMOCݒ薽߂ɂĂQƂĂB
	ȉ2DXvCg̃fo^āAɂIuWFNgƂ
	o^XNvg̗łB

			:
				;	XvCg̓o^
				;
				setuv 0,0,79,79				; UVWw
				addspr pchr					; f̓o^
				texload "rock2.bmp"			; eNX`̓o^
				regobj mychr,pchr,OBJ_2D	; IuWFNgo^


EIuWFNgp[^[ݒ薽߂ɂ

	HGIMG3ł́AuIuWFNgvPPƗp[^[ĂA
	̓eɏ]ĕ\ѓ삪肳܂B
	AuIuWFNgp[^[v͕\ʒuA]pxATCYAړ
	ȂǕ̏ĂAׂĕŋLĂ܂B
	ׂẴp[^́ACӂ̒lɕύXA擾\ȂقACxgXg
	gp邱ƂŁAwt[ɔCӂ̒lɂȂ悤ɒl𑝌Ȃ
	lXȃRg[\ɂȂĂ܂B

	HGIMG3́uIuWFNgv́Aȉ̂悤ȃp[^Ă܂B

	O[v    offset0      offset1     offset2      offset3
	--------------------------------------------------------------
	  pos       [XW]      [YW]     [ZW]      [gp]
	  ang       [X]p]    [Y]p]   [Z]p]    [gp]
	  scale     [X{]      [Y{]     [Z{]      [gp]
	  dir       [Xړ]    [Yړ]   [Zړ]    [gp]
	  efx       [l]   [gp]    [gp]     [gp]
	  work      [workX]      [workY]     [workZ]      [gp]

	p[^[́AS̒lP̃O[vƂĈĂ܂B
	Ƃ΁AuO[vposv́A\X,Y,ZWۑĂ܂B
	́uO[vposvύX΁Aʏ̕\ʒuύX܂B

	ۂɃp[^[ݒ肷ꍇɂ́Aȉ̖߂g܂B

		setpos id,x,y,z
		setang id,x,y,z
		setscale id,x,y,z
		setdir id,x,y,z
		setefx id,x,y,z
		setwork id,x,y,z

	ꂼ̃O[vɑ΂āA(x,y,z)̂R̃p[^[ݒ
	邱Ƃł܂Bidɂ́AX̃IuWFNgʂ邽߂
	IuWFNgIDw肵܂BIuWFNgID́Aregobj߂ɂ
	IuWFNgo^ꂽۂɕԂԍłB
	x,y,z̃p[^[ɂ́A܂͎w肷邱Ƃł܂B
	l̎wȗꍇɂ́Al0Ƃď܂B

	IuWFNg̊eO[v́Aȉ̂悤ȈӖĂ܂B

		 O[v pos: (l:0,0,0)
			IuWFNgX,Y,ZWw肵܂B
			2DIuWFNg̏ꍇ́A(X,Y)WɎgpA
			Z͗Dx(0.0`1.0)ƂĈ܂B
			܂A2DIuWFNg̍W͉ʂ̒S(0,0)ƂȂ܂B

		 O[v ang: (l:0,0,0)
			IuWFNǧĂX,Y,Zpxw肵܂B
			px̒Pʂ̓WA(1Ń*2)ɂȂ܂B
			IuWFNg̉]́AZ->Y->X̏ԂɍsȂ܂B

		 O[v scale: (l:1,1,1)
			IuWFNg̔{(X,Y,Z)w肵܂B

		 O[v dir: (l:0,0,0)
			IuWFNgX,Y,Zɑ΂ړʂw肵܂B
			OBJ_MOVẼ[hݒ肳Ă鎞ɎQƂ܂B

		 O[v efx: (l:256,0,0,0)
			IuWFNg̓ʂݒ肵܂B
			4̒li[Ă܂A
			ItZbg0 : [l]
			ItZbg1 : [EFX1]
			ItZbg2 : [EFX2]
			ItZbg3 : [EFX3]
			ƂȂĂ܂B
			(*o[Wł̓O[vE̓l̂݃T|[gĂ܂)

			ĺAwiƃIuWFNgxw肵܂B

			l = 0`255    : wiƃ(blend)sȂ
			l = 256`511  : sȂȂ(ʏ펞)
			l = 512`767  : wiƐFZ(modulate)sȂ
			l = 768`1023 : wiƃlZ(substract)sȂ
			l = 1024`1279 : wiƐFZ(substract2)sȂ
			l = 1280`1535 : sȂȂ(Z)

			sȂꍇɂ́Al̒l傫قǁA%ō
			sȂ܂B́AVF[fBOA2DA3D̋ʂȂ
			܂B

			lZ(substract)́AwiRGBlɑ΂ălZ܂B
			FZ(substract2)́AwiRGBlɑ΂ĕ`悷eNX`
			RGB݂܂B̎Al͔f܂B
			(HSPW̐FZƓ삪ꕔقȂ܂̂ŒӂĂB)
			sȂȂ(Z)̃[h́A3Dfɂ̂ݗLŁA
			Zobt@̍XVyѐ[xeXgsȂ܂B

		 O[v work: (l:0,0,0,0)
			CxgXgŎgpėpIȃp[^[łB


	uIuWFNgv̒ɂ́AȓsȂ̂A
	p[^[ʂȗprƂĎgpĂ̂܂B

	uJIuWFNgv

	ʂɕ\邽߂̎_̂JIuWFNgɂȂ܂B
	HGOBJ_CAMERAAJIuWFNg̃IuWFNgIDƂȂ܂B

		:
			; J̍W(0,0,20)ɐݒ肷
			setpos HGOBJ_CAMERA,0,0,20

	JIuWFNg̎̂݁AO[ṽp[^[͈ȉ̈Ӗ
	ƂɂȂ܂B

	O[v    offset0      offset1     offset2      offset3
	--------------------------------------------------------------
	  pos       [XW]      [YW]     [ZW]      [gp]
	  ang       [X]p]    [Y]p]   [Z]p]    [gp]
	  scale     [X{]      [Y{]     [Z{]      [gp]
	  dir       [XW]  [YW] [ZW]  [gp]
	  efx       [FOV]        [NearZl]   [FarZl]     [gp]

	dir͒_(JڂW)܂B
	(Acammode߂Œ_[hݒ蒆̂ݎQƂ܂B)
	efx̊ep[^[́AJ̏ڍׂȐݒ܂B
	FOV́Ap(p[X̂肮𒲐l)ŃWAPʂ
	wsȂ܂BftHgŁA45x(/4)w肳Ă܂B
	NearZFarŹA\sȂZ͈̔(ZNbsO͈)w
	sȂ܂BNearZ͎O(ǂ܂ŋ߂̂`悷邩)A
	FarZ͉(ǂ܂ŉ̂`悷邩)܂B
	ftHgŁANearZ0.5AFarZ768.0ݒ肳Ă܂B
	JefxO[vp[^[́AHGIMG2.61̂̂ƌ݊
	܂̂ŒӂĂB

	uCgIuWFNgv

	3Dԏ̃fɌĂ郉CĝƂāACgIuWFNg
	݂Ă܂B
	HGOBJ_LIGHTAW̃CgIuWFNg̃IuWFNgIDƂȂ܂B
	CgIuWFNǵAreglight߂ɂĔCӂɒǉ邱Ƃ\łB

		:
			; Cǧ(0,0.4,-0.1)ɐݒ肷
			setang HGOBJ_LIGHT,0,0.4,-0.1

	CgIuWFNg̎̂݁AO[ṽp[^[͈ȉ̈Ӗ
	ƂɂȂ܂B

	O[v    offset0      offset1     offset2      offset3
	--------------------------------------------------------------
	  pos       [XW]      [YW]     [ZW]      [gp]
	  ang       [X]p]    [Y]p]   [Z]p]    [gp]
	  scale     [J[R]    [J[G]   [J[B]    [gp]
	  dir       [ambientR]   [ambientG]  [ambientB]   [gp]
	  efx       [range]      [falloff]   [theta]      [phi]

	O[vscaleCg̐FAO[vdirArGgF̃p[^[
	ƂĎgp܂Bꂼ̃p[^[́AR,G,B̗vf0.0`255.0
	\킵lƂȂ܂B
	ftHgŁACgF(255,255,255)AArGgF(0,0,0)
	ݒ肳Ă܂B̌vŹAVF[fBO[hɂ
	قȂ܂Bڂ́Amodelshade߂̃t@XA
	uVF[fBO[h̐ݒɂāvQƂĂB
	O[vefx́A|CgCgAX|bgCĝ߂̊gݒŁA
	o[Wł͖܂B
	(Cgdir,scaleO[vp[^[́AHGIMG2.61̂̂ƌ݊
	܂̂ŒӂĂB)

	݂̃o[Wł́AX`̃fɑ΂VF[fBO[hPł
	Cgscale(J[)p[^͔fȂdlƂȂĂ܂̂
	B

	ȉ́AIuWFNgp[^[̒l擾邽߂̖߂łB

		getpos id,x,y,z
		getang id,x,y,z
		getscale id,x,y,z
		getdir id,x,y,z
		getefx id,x,y,z
		getwork id,x,y,z

	̖߂ł́Ax,y,zɓǂݏo̕ϐw肵܂B

		:
			; J̍Wϐa,b,cɓǂݏo
			getpos HGOBJ_CAMERA,a,b,c

	̗ł́AϐaXWAϐbYWAϐcZW
	ꂼ^ő܂B
	lŃp[^[擾ꍇ́Aȉ̖߂gp܂B

		getposi id,x,y,z
		getangi id,x,y,z
		getscalei id,x,y,z
		getdiri id,x,y,z
		getefxi id,x,y,z
		getworki id,x,y,z

	ŌɁuivtꂽ߂́Alŕϐɑ܂B
	W𐮐݂̂ňꍇAsȂꍇɎgp
	Ƃł܂B

	܂Ap[^[ɑ΂ĒډZsȂ߂̖߂p
	Ă܂B

		addpos id,x,y,z
		addang id,x,y,z
		addscale id,x,y,z
		adddir id,x,y,z
		addefx id,x,y,z
		addwork id,x,y,z

	ꂼ̃O[vɑ΂āA(x,y,z)̂R̃p[^[Z
	܂B

		:
			; IuWFNgID5̂̕X+10,Y-20ړ܂
			addpos 5, 10, -20, 0

	̖߂́Ap[^[̒l𒼐ډZAZ悤
	ꍇɕ֗łB

	p[^[̒ŁAuO[vangv͊pxi[邽߂̂̂ŁA
	ʏ탉WAPʂɂĎw肵܂B
	AWA͒Iɗp邱Ƃꍇ邽߁A
	uO[vangv̂ݐlő삷邽߂̖߂pӂĂ܂B

		setangr id,x,y,z
		addangr id,x,y,z
		getangr id,x,y,z

	̖߂ł́A]0`255܂łPƂĈ܂B
	܂A00xA6490xA128180xcƂȂ܂B
	́AgŎyȊpx̐ݒ@łB
	256iK̊pxׂPʂł̎wsȂꍇɂ́A
	ʏ̃WAPʂgB

	IuWFNgp[^[ݒ肷@ƂāAPʂ
	pӂĂ܂B́AuMOCݒ薽߁vƌĂ΂
	߃Zbggp@łBuMOCݒ薽߁v́AHGIMG2Ŏgp
	Ăݒ@ŁAׂp[^[̎擾≉Z
	sȂƂ\łB

	uMOCݒ薽߁vɂĂ̏ڍׂ́AuMOCݒ薽߂ɂāv̍
	QƂĂB


Eڕ`施߂ɂ

	HGIMG3ł́AIuWFNgo^Ă܂Ƃ߂ĕ`sȂ]܂ł
	@ƂƂɁAږߎsɕ`𔭍s邽߂̒ڕ`施߂
	pӂĂ܂B
	ڕ`施߂́Ao^ĂIuWFNg⃂fƂ֌WȂ
	ʏɔCӂ̋`eNX``悷邱Ƃł܂B

	ڕ`施߂́AKhgdrawhgsync̊Ԃɕ`sȂKv܂̂
	ӂĂB

		:
			;	`惁C
			;
		*main
			hgdraw				; `揈
			color 255,0,0
			hgrect 320,240,0,100,100
			hgsync 10			; ԑ҂
			goto *main

	ȉڕ`施߂ɂȂĂ܂B
	hgrectAhgrotate߂́AꂼW߂grectAgrotate߂Ɠ
	HGIMG3̉ʂɑ΂čsȂ߃ZbgɂȂĂ܂̂ŁAW߂ڐA
	悤ȏʂɂLłB

	hgrect p1,p2,p3,p4,p5,p6		`̒ڕ`

	p1=0`(0)  : `̒SXW
	p2=0`(0)  : `̒SYW
	p3=0`(0.0): ]px(Pʂ̓WA)
	p4=0`(?)  : XTCY
	p5=0`(?)  : YTCY

	(p1,p2)Ŏw肵W𒆐SƂāA(p4,p5)Ŏw肵TCY̋`(`)
	ݐݒ肳ĂFŕ`悵܂B
	p3ŉ]pxŎw肷邱Ƃł܂B
	px̒Pʂ́AWA(0n܂āA2΂ň)ƂȂ܂B
	grect߂́AgmodeŐݒ肳ꂽRs[[h̎w肪f܂B

	gmode0,1̏ꍇ́Aʏ̓hԂB
	gmode3̏ꍇ́Aw肳ꂽ[gŔɂȂ܂B
	gmode5,6̏ꍇ́AꂼFZAFZƂȂ܂B
	܂A(p4,p5)̃TCYwȗꍇɂ́Agmode߂Őݒ肳Ă
	Rs[TCYgp܂B


	hgrotate p1,p2,p3,p4,p5,p6		`摜̒ڕ`

	p1=0`(0)  : eNX`ID
	p2=0`(0)  : Rs[̍XW
	p3=0`(0)  : Rs[̍YW
	p4=0`(0.0): ]px(Pʂ̓WA)
	p5=0`(?)  : XTCY
	p6=0`(?)  : YTCY

	hgrotate߂́Aw肳ꂽ`͈͂ɉ]܂߂eNX``揈
	sȂ܂Bp1ŁARs[̃eNX`IDwA(p2,p3)ŃRs[
	̉摜ɂWw肵܂B(gcopy߂Ɠlł)
	Rs[́A݂̕`Ɏw肳ĂEChDIDŁA
	pos߂Őݒ肳ꂽꏊ𒆐SƂWɃRs[sȂ܂B
	̍ۂɁAp3ŉ]pxŎw肷邱Ƃł܂B
	px̒Pʂ́AWA(0n܂āA2΂ň)ƂȂ܂B
	(p5,p6)ŁARs[ꂽX,YTCYw肵܂B
	܂ARs[X,YTCYgmode߂Őݒ肳ꂽftHg
	Rs[TCYgp܂B
	܂Agmode߂Ŏw肳ꂽTCY傫ȃTCY(p5,p6)
	Ŏw肵ꍇɂ́Ag傳邱ƂɂȂ܂B
	(p5,p6)ȗꍇɂ́ARs[ƓTCYA܂蓙{
	Rs[sȂ܂B

	hgrotate߂́AgmodeŐݒ肳ꂽRs[[h̎w肪f܂B
	(ڂgmode߂̃t@XQƂĂ)



ECxgXgɂ

	CxgXǵA܂̏(Cxg)炩ߗp
	ĂāAX̃IuWFNgɑ΂ēKp邽߂
	@\łB

	CxgXggp邽߂ɂ́A傫

		uCxgXg̍쐬vƁuCxgXg̓Kpv

	ƂQ̒iK܂B
	܂AuCxgXg̍쐬vł炩ߓ̏߂
	܂BƂ΁Au̍WɈړvƂuXW1v
	ȂǊep[^[ɑ΂čׂ߂邱Ƃł܂B
	CxgƌĂсA𕡐܂Ƃ߂̂CxgXg
	ƌĂԂ悤ɂĂ܂B

	CxgXg쐬ɂ́Aȉ̂悤ɋLq܂B

		:
			newevent ev1	; VCxgID擾
			event_setpos ev1, 10,20,30

	̗ł́AWp[^[Ƃ(10,20,30)ݒ肷邽߂
	Cxg쐬āAIDϐev1ɑĂ܂B
	VCxg쐬ꍇɂ́AKnewevent߂ŃCxgID
	擾Ă܂BɁAevent_setpos̃Cxgo^p̖߂ŁA
	w肳ꂽCxgIDɃCxgǉĂ܂B
	x擾ꂽCxgID́AV[̃Zbg(hgreset)
	sȂ邩A܂delevent߂ɂăCxgXg폜
	܂ł͕ێ܂B

	ĂłCxǵADȎɃIuWFNgɑ΂ēKp
	邱Ƃł܂B

		:
			newevent ev1	; VCxgID擾
			event_setpos ev1, 10,20,30
			; objid̃IuWFNgev1̃CxgKp
			setevent objid, ev1

	̗ł́AobjidIuWFNgɑ΂ev1̃CxgXgA
	܂(10,20,30)WƂĐݒ肷ƂKp܂B
	̂悤ɁACxgł̓p[^[ɑ΂Ă̓܂Ƃ߂
	o^邱ƂłÃIuWFNgɔf铭
	܂B
	event_setposł́AWݒ̃Cxgo^܂AȊO
	p[^[ݒ肷邽߂̖߂pӂĂ܂B

		event_setpos eventid, x, y, z
		event_setang eventid, x, y, z
		event_setangr eventid, x, y, z
		event_setscale eventid, x, y, z
		event_setdir eventid, x, y, z
		event_setefx eventid, x, y, z
		event_setwork eventid, x, y, z

	ꂼ̃O[vɐݒ肷X,Y,Zl܂͐lŎw
	邱Ƃł܂B
	܂A

		event_setpos eventid, x1, y1, z1, x2, y2, z2

	̂悤ɁAX,Y,Z͈̔͂w肷邱ƂɂAŎw肳ꂽ
	͈͓̒lIɐ邱Ƃł܂B

		:
			newevent ev1	; VCxgID擾
			event_setpos ev1, 10,20,30,30,20,50

	̗ł́AXYZ=(10`30,20,30`50)܂ł̒lݒ肳܂B
	ݒ肾łȂAp[^[lɑ΂ĉZsȂCxg
	o^邱Ƃł܂B

		event_addpos eventid, x, y, z
		event_addang eventid, x, y, z
		event_addangr eventid, x, y, z
		event_addscale eventid, x, y, z
		event_adddir eventid, x, y, z
		event_addefx eventid, x, y, z
		event_addwork eventid, x, y, z

	̖߂́AO[ṽp[^[ɑ΂(X,Y,Z)
	lZ܂B(}CiXlw肷邱ƂŌZɂȂ܂B)

	Cxgł́Ap[^[ݒ̑ɂԌo߂ɉ
	ǉ邱Ƃł܂B

		:
			newevent ev1	; VCxgID擾
			event_pos ev1, 20, 0,10,20

	̗ł́AQOt[(0,10,20)̍WɈړCxg
	o^܂B̃CxgKpꂽIuWFNǵAI
	QOt[̊Ԏw肳ꂽW܂ňړsȂ܂B

	Pȑ҂Ԃo^邽߂event_wait߂pӂĂ܂B
	event_waitCxgł́Aw肳ꂽt[o߂܂Ŏ
	Cxg҂܂B

	event_posCxgo^邱ƂɂAړ̌oH
	ׂw肵ĂƂ\łB

		:
			newevent ev1	; VCxgID擾
			event_pos ev1, 20, 10,0,0
			event_wait ev1, 20
			event_pos ev1, 20, 10,10,0
			event_wait ev1, 20
			event_pos ev1, 20, 0,10,0
			event_wait ev1, 20
			event_pos ev1, 20, 0,0,0
			event_wait ev1, 20

	̗ł́A(10,0,0)(10,10,0)(0,10,0)(0,0,0)̏Ԃ
	ړsȂ܂B
	event_posȂǍWړ̕Ԃɂ́AftHgŃXvCgp܂B
	(߂̃IvVŕԕ@CӂɎw肷邱Ƃ\ł)

	p[^[𑊑ΓI(Ƃ̒l̍)Ɏw肵ꍇ́A
	ΎwIvVw肵܂B

		:
			newevent ev1	; VCxgID擾
			event_pos ev1, 20, 10,10,0, 3
			event_wait ev1, 20
			event_pos ev1, 20, 10,-10,0, 3
			event_wait ev1, 20
			event_pos ev1, 20, 10,10,0, 3
			event_wait ev1, 20
			event_pos ev1, 20, 10,-10,0, 3
			event_wait ev1, 20

	̗ł́AƂ̍W(0,0,0)ɂꍇA
	(10,10,0)(20,0,0)(30,10,0)(40,0,0)̏ԂɈړsȂ܂B

	p[^[Zevent_waitCxggݍ킹邱ƂŁA
	AIȃp[^[ω邱Ƃł܂B

		:
			newevent ev1	; VCxgID擾
			event_addpos ev1, 0,1,0
			event_wait ev1, 10
			event_addpos ev1, -1,0,0
			event_wait ev1, 20

	̗ł́Aŏ̂POt[YɂPZǍ
	QOt[́AXW-1邱ƂɂȂ܂B
	ɁACxgJԂ邽߂event_jump߂
	gp邱Ƃł܂B

		:
			newevent ev1	; VCxgID擾
			event_addpos ev1, 0,1,0
			event_wait ev1, 20
			event_addpos ev1, 0,-1,0
			event_wait ev1, 20
			event_jump ev1, 0, 100

	̗ł́AQOt[ƂYW1ZEZ
	ƂJԂsȂƂɂȂ܂B
	event_jumṕAo^ĂCxgXg̒Ŏw肳ꂽ
	ꏊɏ߂܂BɂAiɓ̏
	CxgXg쐬邱Ƃ\ɂȂ܂B

	event_prmon߂́AIuWFNg̊ep[^[ݒ肷邽߂
	Cxgo^܂B
	ȉ̃p[^[IDɁAw肳ꂽl𒼐ڐݒ肵܂B

		p[^[ID   e
		---------------------------------------
		PRMSET_MODE      샂[h
		PRMSET_FLAG      ݃tO
		PRMSET_SHADE     VF[fBO[h
		PRMSET_TIMER     ^C}[
		PRMSET_MYGROUP   RWO[vl
		PRMSET_COLGROUP  ΏۃO[vl

	PRMSET_MODÉAsetobjmode߂Ŏw肷etO̐ݒ
	CxgsȂƂł܂B
	PRMSET_FLAǴAtOlݒ肷邱Ƃł܂B
	tOĺAȉ̈ӖĂ܂B

		tOl    e
		---------------------------------------
		       1    IuWFNgL
		       2    IuWFNg̕\L
		       4    IuWFNg̎ړL

	tOĺAꂼ̒lZꂽ̂ɂȂ܂B
	ʏAꂽIuWFNg̃tOĺA7ɂȂĂ܂B
	܂APRMSET_FLAG0ݒ肵ꍇ́AIuWFNĝ̂
	폜܂B

		:
			event_prmset ev1,PRMSET_FLAG,0	; IuWFNg폜

	Cxg̍ŌɎgꍇɂ́Â悤ȕ@
	폜悤ɂĂB

	ɂAQ[ŋN^̏(~TC̋OȂ)
	CxgXgƂăX}[gɕĊǗ邱Ƃł܂B
	CxgXǵAɉp͈͂LʁA߂̎ނ
	ŏ͓邩܂񂪁APPgȂo
	΃XNvgōsȂԂ啝ɍ팸邱Ƃł͂łB

	setevent߂ɂĐݒ肳CxǵAIuWFNgP
	S܂œɓKp邱Ƃ\łB

	܂Asetevent߂ɂIuWFNgɐݒ肳ꂽCxg폜
	邱Ƃ\łBڂ́A߃t@XQƂĂB

	ŋ߈ȊOɂA[htOȂǂ̃p[^[
	삷邽߂̃CxgȂǗlXȉp\łB
	ꂼ̖߂̏ڍׂ́AwvQƂĂB


EG~b^[ɂ(new)

	G~b^[Ƃ́ÃIuWFNgxɔ邱Ƃ̂ł
	ʂȎdg݂łB_ȃp[^[ȂǎRȑgݍ킹
	邱Ƃ̂łAIuWFNgƍlĂB
	VG~b^[쐬ꍇɂ́AKnewemit߂ŃG~b^[ID
	擾ĂKv܂B
	̌Auemit_vŎn܂G~b^[ݒ薽߂ɂđʂȓ
	o^ĂƂł܂B
	G~b^[쐬ĂɃIuWFNg킯ł͂܂B
	炩߁AFXƐݒ肵ŕKvȎɔ܂B
	G~b^[ۂɗpꍇ́Ahgemit߂ɂĂł
	邱ƂłقAsetobjemit߂ɂIuWFNgɑ΂
	Kp邱Ƃ\łB
	ڂ́Aȉ̃G~b^[֘A߂̃wvQƂĂB

	newemit				G~b^[쐬
	delemit				G~b^[폜
	emit_size			G~b^[͈̔͂ݒ
	emit_speed			G~b^[̃Xs[hݒ
	emit_angmul			G~b^[̊pxWݒ
	emit_angopt			G~b^[̊pxZlݒ
	emit_model			G~b^[̔fݒ
	emit_event			G~b^[̃Cxgݒ
	emit_num			G~b^[̔ݒ
	emit_group			G~b^[̃O[vݒ
	hgemit				G~b^[s
	setobjemit			IuWFNgɃG~b^[Kp


EMOCݒ薽߂ɂ

	MOCƂ́AMOC(Motion Object Controller)̂ƂŁÃO[v
	ꂽxNgp[^[(x,y,z̒l)܂Ƃ߂ĊǗdg݂
	wĂ܂B

	MOCݒ薽߂́AHGIMG2ƌ݊̂@ŃIuWFNgp[^[
	sȂ߂̖߃ZbgłB
	ʏ̗pAVHGIMG3gn߂郆[U[́AɊoȂĂ
	IuWFNgp[^[͉̑\łB

	HGIMG3́uIuWFNgv́Aȉ̂悤ȃp[^Ă܂B
	(uIuWFNgp[^[ݒ薽߂ɂāṽXgƓł)

		uIuWFNg p[^v

		O[v    offset0      offset1     offset2      offset3
		--------------------------------------------------------------
		  A         [XW]      [YW]     [ZW]      [gp]
		  B         [X]p]    [Y]p]   [Z]p]    [gp]
		  C         [X{]      [Y{]     [Z{]      [gp]
		  D         [Xړ]    [Yړ]   [Zړ]    [gp]
		  E         [l]   [gp]    [gp]     [gp]
		  F         [[NlX]  [[NlX] [[NlX]  [gp]

	O[vA`F܂łɂꂼoffset0`3܂ł̃p[^݂Ă܂B
	̃p[^XV邱ƂŁAʂɕ\ĂIuWFNgɂ
	f܂B
	ǂ̃O[vΏۂɂ邩w肷閽߂ƂāA

		selpos id		ړW(O[vA)MOCɐݒ
		selang id		]px(O[vB)MOCɐݒ
		selscale id		XP[(O[vC)MOCɐݒ
		seldir id		ړ(O[vD)MOCɐݒ
		selefx id		(O[vE)MOCɐݒ
		selwork id		[Nl(O[vF)MOCɐݒ

	܂Bid́AIuWFNgID(ԍ)ɂȂ܂B
	̃p[^XV邽߂MOCݒ薽ߌQpӂĂ܂B
	ݒ肷ɂ́A܂uǂ̃IuWFNĝǂ̃O[vΏۂ
	邩vw肵܂BɁAoffset0`3̂ǂ̕ύX邩w
	QiKKvɂȂ܂B

	JIuWFNg̃O[vw肷ꍇɂ́A

		selcpos			JW(O[vA)MOCɐݒ
		selcang			Jpx(O[vB)MOCɐݒ
		selcint			J_(O[vC)MOCɐݒ

	gp܂B

	Cg()IuWFNg̃O[vw肷ꍇɂ́A

		sellpos	id		W(O[vA)MOCɐݒ
		sellang	id		px(O[vB)MOCɐݒ
		sellcolor id		F(O[vC)MOCɐݒ

	gp܂B
	܂AڃO[vlŐݒ肷邽߂̖߂ƂāA

		selmoc id, group	IuWFNgMOCO[vw
		selcam group		JMOCO[vw
		sellight id,ofs		MOCɐݒ

	܂BgrouṕA012c̏ԂABCc蓖Ă܂B
	O[vw肳ꂽA͎ۂ̒lݒ肵܂Bɂ́Al
	ݒ@܂AłPȕ@́A

		objset1 ofs,x					MOCݒ

	̖߂ŁAofsɃItZbgԍAxɐݒ肷lw肷邱ƂłB
	ŖړĨp[^Cӂ̒lɐݒ肷邱Ƃł܂B
	xɂ́A܂͐lw肷邱Ƃł܂B
	(HGIMG݊̂߂objsetf1pӂĂ܂B)

	ɁA2̃p[^𓯎ɐݒ肷邽߂̖߁A

		objset2 ofs,x,y					MOCݒ

	pӂĂ܂B́A2DXvCgX,YWȂ2̃p[^
	ZbgŎw肷ꍇɓŝ悢߂łB̏ꍇ́Aw肵ItZbg
	Ƃ̎̃ItZbgݒ̑ΏۂɂȂ܂B
	(HGIMG݊̂߂objsetf2pӂĂ܂B)

	3̃p[^𓯎ɐݒ肷邽߂̖߁A

		objset3 x,y,z					MOCݒ

	lɗpӂĂ܂Bł́AKItZbg0,1,2ݒ̑Ώۂ
	Ȃ܂B3DWȂǂX,Y,Zl𓯎Ɏw肷ꍇɓŝ悢߂łB
	(HGIMG݊̂߂objsetf3pӂĂ܂B)

	ɉāA

		objadd1 ofs,x					MOCZ
		objaddf1 ofs,x					MOCZ
		objadd2 ofs,x,y					MOCZ
		objaddf2 ofs,x,y				MOCZ
		objadd3 x,y,z					MOCZ
		objaddf3 x,y,z					MOCZ

	́AΏۂƂȂp[^ɋLĂlɑ΂āAwlZ
	߂łBZlɃ}CiX̒lgƂŁAZ邱Ƃ\łB

	MOCݒ肷̂̒ŁAp[^[ƂĊpxw肷ꏊ
	gpp̖߂pӂĂ܂B
	objset1r̂悤ɁAŌɁurvĂ܂B
	́Aʏ탉WAPʂ̊pxw肷ׂp[^[Al
	wł悤ɂ̂łB

		objset1r ofs,x					MOCݒ
		objset2r ofs,x,y				MOCݒ
		objset3r x,y,z					MOCݒ

	̖߂́A]0`255܂łPƂPʂňƂł܂B

	ŌɃp[^ϐɎoAtɕϐɌŐFV`
	Ŋi[Ălp[^ɐݒ肷邽߂̖߂pӂĂ܂B

		objgetfv fv						MOC擾
		objsetfv fv						MOCݒ
		objaddfv fv						MOCZ
		objgetv v						MOC𐮐lŎ擾
		objsetv v						MOC𐮐lŐݒ

	̖߂gƂŁÃp[^悭ǗAύX
	Ƃł悤ɂȂĂ܂B


ET|[g

	T|[g߂́AlAxNglȂǂ̏߂
	ߌQłBxNgϐɊi[@ƂFVlƂ\o
	܂Áuϐ=1.0v̂悤1̒l̂ł͂Ȃ
	uϐ.0=X:ϐ.1=Y:ϐ.2=Zv̂悤Ɏ^̔zϐƂ
	3̗vf(X,Y,Z)i[Ă`łB

	FVlgp邱ƂŁARWpx(xNg)Ȃǂ̏rI
	ĈƂł܂BFVlZ閽߂ł́A3̗vf
	΂ČvZ邽߁AP̗vfƂɌvZVvō
	sȂƂł܂B

	fvseti fv,x,y,z					lxNgݒ

		fv      = FVlϐ
		(x,y,z) = l

		(x,y,z)Ŏw肳ꂽlxNgƂFVlɑB

	fvset fv,x,y,z					xNgݒ

		fv      = FVlϐ
		(x,y,z) = l

		(x,y,z)Ŏw肳ꂽlxNgƂFVlɑB

	fvadd fv,x,y,z					xNgZ
	fvsub fv,x,y,z					xNgZ
	fvmul fv,x,y,z					xNgZ
	fvdiv fv,x,y,z					xNgZ

		fv      = FVlϐ
		(x,y,z) = vZl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁAw肳ꂽ
		l(X,Y,Z)̉ZōsȂ܂B

	fvdir fv,x,y,z					xNg]

		fv      = FVlϐ
		(x,y,z) = ]px(l)

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)A
		l(X,Y,Z)Ŏw肳ꂽX,Y,Zpxɉ]܂B

	fvmin fv,x,y,z					xNgől

		fv      = FVlϐ
		(x,y,z) = rl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)rāAl̑傫̂܂B
		FVl̊evfŏl܂łɐ؂l߂ꍇɎgp܂B

	fvmax fv,x,y,z					xNgŏl

		fv      = FVlϐ
		(x,y,z) = rl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)rāAl̏̂܂B
		FVl̊evfől܂łɐ؂l߂ꍇɎgp܂B

	fvouter fv,x,y,z				xNgO

		fv      = FVlϐ
		(x,y,z) = ZxNgl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)Ŏw肷xNg̊Oς߂đ܂B

	fvinner fv,x,y,z				xNg

		fv      = FVlϐ
		(x,y,z) = ZxNgl(l)

		fvŎw肳ꂽϐɊi[ĂFVlƁA
		l(X,Y,Z)Ŏw肷xNg̓ς߂fv.0ɑ܂B

	fvface fv,x,y,z					Wpx𓾂

		fv      = FVlϐ
		(x,y,z) = X,Y,ZWl(l)

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)_Ƃ
		X,Y,ZWAw肳ꂽX,Y,ZW𒼐Ō邽߂̉]px߂
		܂B

	fvunit fv						xNgK

		fv      = FVlϐ

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)𐳋K܂B

	fsin fval,rot					TC߂

		fval    = floatlϐ
		rot     = ]px()

		rotŎw肳ꂽpx̃TClfvalŎw肵ϐɑ܂B
		px̒Pʂ̓WAɂȂ܂B

	fcos fval,rot					RTC߂

		fval    = floatlϐ
		rot     = ]px()

		rotŎw肳ꂽpx̃RTClfvalŎw肵ϐɑ܂B
		px̒Pʂ̓WAɂȂ܂B

	fsqr fval,prm					߂

		fval    = floatlϐ
		prm     = ZɎgl()

		prmŎw肳ꂽl̕fvalŎw肵ϐɑ܂B

	froti fval,prm					lpxlɕϊ

		fval    = floatlϐ
		prm     = 0`1023̊pxl()

		prmŎw肳ꂽl(0`1023)px̂ƂāA
		fval-΁`+΂̃WApxlɕϊđ܂B

	fv2str fv						xNg𕶎ɕϊ

		fvŎw肳ꂽϐɊi[ĂxNg(FVl)𕶎
		ϊăVXeϐrefstrɌʂԂ܂B

	str2fv fv,"x,y,z"				xNgɕϊ

		"x,y,z"Ŏw肳ꂽu,vŋ؂ꂽX,Y,ZlƂ
		ǂݏoAfvŎw肳ꂽϐɊi[܂B

	str2f fval,"val"				lɕϊ

		"val"Ŏw肳ꂽlƂēǂݏoA
		fvalŎw肳ꂽϐɊi[܂B

	f2str val,fval					l𕶎ɕϊ

		fvalŎw肳ꂽl𕶎ɕϊāAvalŎw肳ꂽ^
		ϐɌʂԂ܂B

	f2i v,x,y,z						l𐮐lɕϊ

		l(X,Y,Z)𐮐lɕϊāAvŎw肳ꂽl^̕ϐɑ
		܂Bʂ͂ꂼuv.0=x:v.1=y:v.2=zv̊evfɊi[܂B


EDirectXɂ

	DirectXgp̒ӓ_͈ȉ̒ʂłB

	EDirectX8ȏ̃^CCXg[ĂKv܂
	EDirectXgp͏ɃtJ[[hI܂
	EeNX`̏cTCY2n(2,4,8,16c)ɍ킹ēǂݍ܂܂

	ꕔ̃rfIJ[hł́AeNX`tH[}bgT|[gĂȂꍇ
	G[o邱Ƃ܂BHGIMG3ŁAT|[gĂeNX``́A
	uA8R8G8B8vuX8R8G8B8vuA1R5G5B5vuX1R5G5B5vłBeNX`́A̒
	̍œKȃtH[}bgɕϊĎgp܂B
	̃o[Wł̓CfbNXJ[̃eNX`T|[g\łB

	XLf̕`AgD[VF[fBOȂǂ̓@\́A
	o[ebNXVF[_[gp܂BrfIJ[hAn[hEFA
	ɂo[ebNXVF[_[ɑΉĂꍇ́A荂ɏ܂B
	n[hEFAɂo[ebNXVF[_[ɑΉĂȂꍇłA
	\tgEFAɂ萳ɕ`悳܂B


E߃t@X


	e߂̏ڍׂ́AHSPwv}l[W[̃wvt@C(*.hs)Ƃ
	񋟂Ă܂B
	́Auhgimg3.hsvt@CHSPCXg[ĂfBNg
	ɂuhsphelpvtH_ɃRs[邱ƂŁAwv}l[W[
	ɂ錟⃏L[wvɂ郊t@XQƂł܂B


EDirectXtXN[[hɂ

	hgsetreq߂ɂāASYSREQ_DXMODẼ[h1w肷邱ƂŁA
	hgini߂ŏۂɃtXN[[hI܂B
	tXN[̉𑜓x́ASYSREQ_DXWIDTHASYSREQ_DXHEIGHTŎw肵܂B
	_ł́AtXN[ƃEChD[h̓IȐ؂ւ̓T|[g
	Ă܂B

		:

		;	ݒ
		;
		bgscr 0,640,480,0		; tXN[͕Kbgscrō쐬
		cls 4
		hgsetreq SYSREQ_DXMODE,1		; tXN[[hw
		hgsetreq SYSREQ_DXWIDTH,640		; tXN[𑜓xX
		hgsetreq SYSREQ_DXHEIGHT,480	; tXN[𑜓xY
		hgini


E3Df̌`ɂ

	HGIMG3ł́Ax`3DfǂݍŎgp邱Ƃł܂B
	x`́ADirectX̕WIȃt@CtH[}bgŁA3DfAm[hA
	}eAAj[VȂǂ̏񂪕ۑĂ܂B

	HGIMG3ǂݍx`́ADirectX8ȍ~̃XLbVɑΉĂ܂B
	XLfyуAj[Vo͉\Ȋec[ŁAx`̏o͂
	Ή̂ʓrpӉB

	vOČ؂ɂ́ALightwave7.5DirectX ExportvOCɂ
	o͂ꂽf[^gpĂ܂B

	LWDirectX Exportŏo͂ꍇ́Atext`IĂB
	_Ƃ̐Fݒɂ͑ΉĂ܂B
	Aj[Vi[x`ɂ͑ΉĂ܂B
	}gbNXɂL[w(Matrix Key)̓t[ԂsȂ܂B

	Aj[VyуXLf̌؂ɂ́ASOFTIMAGE|XSI Mod Tool
	ɂo͂ꂽ.xt@CAyRokDeBone2o͂.xt@Cł
	mFĂ܂B

	HGIMG2ŃT|[gĂAmx`3Dff[^́Aǂݍ݂̂
	T|[g܂Bma`̃Aj[Vf[^yсAmx`̊KẃA
	HGIMG3ł͗p邱Ƃł܂̂łB


E{tHg`@\ɂ

	HGIMG3ł́AtHg`p̃eNX`gpē{̃bZ[W
	\邱Ƃ\łBDirectX̉ʂɂmes߂gp邱Ƃ
	łAfprt߂łp̃tHgT|[gĂ܂łB
	tHg`eNX`gp邱ƂŁAeNX`ʂē{
	Rɕ`悷邱Ƃł悤ɂȂ܂B
	ȉ̃XNvǵAۂɓ{tHg`@\gpłB

	:

	texmake 256,128		; tHg`eNX`̏
	mest = stat		; eNX`IDϐmestɕۑ
	texcls mest,$004000	; tHg`eNX`NA
	font "lr SVbN",22,1	; tHg̑I
	color 255,255,255		; `Fݒ
	texmes "{ꃁbZ[WłB",mest,0,0	;(0,0)ɃtHg`

	tHg`eNX`́Atexmake߂ɂ萶邱Ƃ\łB
	texmake߂́AVRAMɎw肳ꂽTCỸeNX`GAmۂ܂B
	̎AeNX`̃tH[}bgIvVŎw肷邱Ƃł܂B
	쐬[h0ȗꂽꍇ́A16biteNX`(A4R4G4B4)쐬܂B
	쐬[h0ȊO̎́A32biteNX`(A8R8G8B8)ƂȂ܂B
	16biteNX`̕xIɂ݊̏łLɂȂ܂A
	xȃbZ[W`sȂꍇɂ́A32biteNX`w肵ĂB

	eNX`ւ̃tHg`́Atexmes߂ɂĎs܂B
	̎Acolor߂ɂݒ肳ꂽFƁAfont߂ɂĐݒ肳ꂽ
	tHg̏񂪎QƂ܂B
	eNX`փtHg`sȂł́AʏɃbZ[W͕\
	܂BtHg`eNX`炩̃fɓ\t邩A
	grotate߂ȂǂŒډʏɕ\sȂKv܂B
	eNX`ւ̕`ƁAۂ̉ʏւ̕`̂QiK̂ŁAӂ
	KvłBeNX`́Ax`悵e͂̂܂܂Ȃ̂ŁAt[
	Ƃɓetexmes߂ŕ`悷Kv͂܂B


EeNX`̌`ɂ

	HGIMG3ł́AeNX`ǂݍ݂̂߂ɂQނ̕@pӂĂ܂B
	P́AHSP̃obt@ăeNX`ǂݍtexload߁A
	P́ADirectXAPI𗘗păeNX`ǂݍtexload2߂łB
	̂Qނ̖߂ɂ́Aȉ̂悤ȈႢ܂B

	Etexload

	@HSP̉ʃobt@ăeNX`o^(settex߂g)B
	@bmp,jpg,giftH[}bgp\B
	@At@`lɂ͑ΉĂȂB
	@(A8R8G8B8)܂́A(A1R5G5B5)tH[}bgɎIɕϊB
	@eNX`TCYsȏꍇ́AsNZIɒǉēo^B

	Etexload2

	@DirectXAPIɂeNX`o^B
	@bmp,jpg,gif,png,dds,tga,tifftH[}bgp\B
	@At@`lɑΉĂB
	@sNZtH[}bg͍œKȂ̂ɎϊB
	@eNX`TCYsȏꍇ́AgksȂēo^B

	{Iɂ́AAt@`l܂ރeNX`texload2߂ŁA
	eNX`̊gkōsȂĂ͍ꍇɂ́Atexload߂
	pƗǂł傤B
	x`̃ff[^ŎgpĂeNX`ɂẮAtexload2
	Ɠ̓ɂȂ܂B


EgD[VF[fBOɂ

	x`̃ff[^ɃAj̕`揈(gD[VF[fBO)
	{Ƃ\łBgD[VF[fBÓAPF̃|S
	K؂ȐFɒuA֊s`悷邱ƂŃAj̕\sȂ̂łB
	eNX`\Ă镔́AAj̃VF[fBO͍sȂȂ
	̂ŒӂĂB

	łȒPɃfɃgD[VF[fBOKpꍇɂ́A
	maketoon߂gp܂B

		:
		addxfile m_xmodel,"monster.x"
		maketoon m_xmodel,1

	ɂAŎ쐬ꂽgD[eNX`(gD[
	VF[fBOpɍœKꂽeNX`)fɓKp܂B
	gD[eNX`́A̋ɑ΂Ăǂ̂悤ȐFŕ`sȂ
	}eAFƂɎĂ̂ŁAP̃fɑ΂ĂP
	gD[eNX`KvɂȂ܂B

	umaketoon m_xmodel,2v̂悤ɍ쐬[h2ݒ肷ƁA
	utoon.bmpvƂOŃgD[eNX`t@CƂĕۑ܂B
	̃t@COŉH邱ƂŁAgD[VF[fBO̐Fg
	e̔䗦ȂǂRɕω邱Ƃł܂B
	gD[eNX`́AY͂P̃}eAɂWhbgPʂō\
	ĂAԏ̃hbgƂ̃}eAFĂ܂B
	Shbg(Y=4`7)܂łAgD[VF[fBOɎۂɕ`悳
	F̏ɂȂ܂B̎ẢeقX傫Ȃ܂B
	(X0ŏ127őlƂȂ܂B)
	OŏCgD[eNX`́Aloadtoon߂ɂKp
	Ƃł܂B

		:
		addxfile m_xmodel,"monster.x"
		loadtoon m_xmodel,"t_mons.bmp"

	gD[VF[fBOׂ̍ݒsettoonedge߂ɂčsȂ
	Ƃł܂Bsettoonedge߂̃p[^[͈ȉ̒ʂłB

		settoonedge		gD[VF[fBO̐ݒ

		settoonedge p1,p2,p3,p4

		p1    : fID
		p2(0) : GbW̐F(RGBR[h)
		p3(0) : ZItZbg
		p4(0) : XItZbg

		p1Ŏw肵f̃gD[VF[fBO̐ݒsȂ܂B
		p2ŁAGbW̐FR[h(RRGGBB)w肵܂B
		p3,p4͎lɂGbW̃ItZbgw肷邱Ƃł܂B
		ZItZbg(p3)ύX邱ƂɂA֊s̑𒲐邱Ƃł܂B
		ZItZbg̃ftHgĺA0.005ݒ肳Ă܂B
		XItZbg(p4)́AgD[VF[fBOŎgpeNX`X_w肵܂B
		XItZbg̃ftHgĺA0.5ݒ肳ĂȀꍇX̔ɂ	ʒu𒆐SɂāA
		eNX`UlvZ邱ƂɂȂ܂B


EAj[V̐؂ւɂ

	x`̃ff[^ɑ΂ĕ̃Aj[Vf[^؂ւ
	Đ邱Ƃ\łB
	܂ŏɁAfŜƍŏ̃Aj[V܂񂾃f[^addxfile߂
	ǂݍ݁AɒǉŃAj[Vo^ꍇaddxanim߂
	KvȐgpĂB
	̃Aj[Vf[^ǂݍޏꍇ́AKf{[̍\
	̂̂o͂ĂKv܂B
	ȉ́Auwait.xvuwalk.xvurun.xvƂR̃t@Cǂݍł
	TvłB

		:
		addxfile m_xmodel,"wait.x" ; Aj[VCfbNX0
		addxanim m_xmodel,"walk.x" ; Aj[VCfbNX1
		addxanim m_xmodel,"run.x" ; Aj[VCfbNX2

	̃Aj[Vǂݍ񂾏ꍇ́AAj[VCfbNXl
	0n܂1,2,3cƂɊUĂ܂B
	Aj[VCfbNXĺAobjact߂ŃAj[Vۂ
	؂ւ鎞ɁAw肷邱ƂɂȂ܂B
	objact߂̃p[^[͈ȉ̂悤ɂȂĂ܂B

		objact ObjID,Anim,mode			wAj[VJn

		ObjID   : IuWFNgID
		Anim    : Aj[VCfbNXl
		mode(0) : ݒ胂[h(0=/1=I)

	̃Tv̏ꍇ́A

		:
		objact obj,0 ; uwait.xvĐ
		objact obj,1 ; uwalk.xvĐ
		objact obj,2 ; urun.xvĐ

	Ƃp[^[ɂȂ܂B
	objact߂ɂAj[V؂ւł́Aݒ胂[hI
	Ƃł܂B

		objact obj,0 ; uwait.xvĐ

	̏ꍇ́A߂sꂽ_őɐ؂ւsȂ܂B
	ݒ胂[h0ŃAj[VĐꍇ́AĐXs[h̓ftHgl
	߂As[gĐsȂݒɂȂ܂B

		objact obj,0,1 ; uwait.xvĐ

	ݒ胂[h1w肵ꍇ́AݍĐĂAj[V
	IĂAݒ肳ꂽAj[Vɐ؂ւ܂B

	Aj[V̍Đx́Aobjspeed߂ɂČʂɕύX
	Ƃ\łB܂Agetanim߂ɂ茻ݍĐĂAj[V
	Ɋւ擾邱Ƃł܂B
	ڂ́Aobjspeed,getanim߂̃wvQƂĂB


EIuWFNg̕`ɂ

	HGIMG3ł́Ao^ꂽ(ID̏)ɕ`悪sȂ܂B
	AIuWFNgȂǂ̕`揇ԂlKvꍇ́A
	IuWFNg̃[hݒOBJ_SORTA܂OBJ_LATEw肷悤
	ĂB
	OBJ_SORTݒ肳ꂽIuWFNǵA\ɉ珇Ԃɕ`悳
	悤Ƀ\[gsȂ܂B(3DIuWFNĝݗLł)
	OBJ_LATEݒ肳ꂽIuWFNǵAʏɕ`悳܂B
	ɂAɂ镨̂Ղ邱ƂȂ̕`sȂƂł܂B


EJ[h̓ɂ

	hgsetreq߂ɂAJ[h̓ݒ肷邱Ƃ\łB
	HGIMG3.1ŁAJ[h̓삪CĂ邽߁A
	ȑOɍꂽXNvg삵ȂƂ܂B
	̏ꍇ́Aȉ̂悤Ɍ݊J[hݒ肷悤ɂĂB

	:
	hgsetreq SYSREQ_OLDCAM,1	; HGIMG3.0݊J[hݒ


EeNX`Ԃɂ

	hgsetreq߂ɂA2DE3D`掞̃eNX`ԃ[hݒ肷邱Ƃ
	\łB

		}N          e(ftHgl)
		-----------------------------------------------------
		SYSREQ_2DFILTER   2D`掞̃eNX`ԃ[h(1)
		SYSREQ_2DFILTER2  2Dڕ`掞̃eNX`ԃ[h(1)
		SYSREQ_3DFILTER   3D`掞̃eNX`ԃ[h(2)

	:
	hgsetreq SYSREQ_2DFILTER,2	; 2D`掞̃eNX`ԃ[hݒ

	eNX`ԃ[h́A2DA3DʁXɐݒ肪\łB
	SYSREQ_2DFILTEŔAaddsprߓœo^ꂽ2DIuWFNgɓKp܂B
	܂ASYSREQ_2DFILTER2́Aڕ`施(fprt)ɓKp܂B
	t[Pʂɐ؂ւ邱Ƃ\łAIuWFNgPʂł̐ݒ͂ł܂B
	ݒ肷郂[hĺAȉ̈ӖĂ܂B

		[hl          e(DirectX}N)
		-----------------------------------------------------
		   1          jAXg(ԂȂ) (D3DTEXF_POINT)
		   2          oCjA (D3DTEXF_LINEAR)
		   3          ٕtB^O (D3DTEXF_ANISOTROPIC)
		   6          4TvegtB^ (D3DTEXF_PYRAMIDALQUAD)
		   7          4TvKEXtB^ (D3DTEXF_GAUSSIANQUAD)

	ʏ̊ł΁A[hĺA1(ԂȂ)܂2(oCjA)
	ǂ炩IĂƂ𐄏܂B


EIuWFNg̉]ݒɂ

	3DIuWFNg\ۂɁAXYZ̉]Kp鏇Ԃݒ
	邱Ƃł܂B
	]ݒ́AfPʂōsȂƂ\łB
	modelorder߂̏́Aȉ̒ʂłB

		modelorder fID, [h (0`2)

	[hĺAȉ̂ꂩɂȂ܂B


		[hl  }N                 ]
		------------------------------------------------------
		    0     HGMODEL_ROTORDER_ZYX   ZYX
		    1     HGMODEL_ROTORDER_XYZ   XYZ
		    2     HGMODEL_ROTORDER_YXZ   YXZ


	ftHg̃fł́A[hl0ݒ肳Ă܂B
	(Ax`̃f̂݃[hl1ftHgƂȂ܂B)

	modelorder߂́AǂĂłȂIuWFNǧ
	ݒ肷ꍇÃf[^Ƃ̌݊邽߂ɗpӂĂ܂B
	ʏAgp͈͂ŕK{ƂȂ閽߂ł͂܂B


EVF[fBO[h̐ݒɂ

	3Df̃CeBO@ɂāA̃IvVI
	邱Ƃ\łB
	modelshade߂́Aw肳ꂽfID̃VF[fBO[h
	ݒ肵܂BVF[fBO[h́Af\ɍsȂ
	vZ̕@܂B
	modelshade߂̏́Aȉ̒ʂłB

		modelshade fID, VF[fBO[h(0`2)

	[hĺAȉ̂ꂩɂȂ܂B

		[hl      e
		-----------------------------------------------------
		   0          RX^g(vZȂ)
		   1          O[[(DirectXW̌vZ)
		   2          CeBO

	[hl0̏ꍇ́AvZsȂ킸Ƀ}eAF̂܂
	f܂B(RX^gVF[fBO)
	[hl0̏ꍇ́ACgFAArGgFl
	vZsȂ܂B̏ꍇ̕\F́A

		Px = ̋ * CgF * }eAF + ArGgF

	Ƃgp܂B(Px255zꍇ́A255ɂȂ܂B)
	[hl2̏ꍇ́ACgFVFAArGgFnFƂ
	CeBǑvZsȂ܂B
	CeBÓADirectXW̌vZƔׂĂ炩
	߂ׂ̍Ae\邱Ƃł܂B
	݂̃o[Wł́Ax`̃fɂ̂ݔCeBOKp
	Ƃł܂B
	܂AVF[fBO[hPł̓Cgscale(J[)p[^͌ݔfȂdlƂȂĂ܂̂łB


EAj[Vԃ[hɂ

	Xt@CfAj[V̕ԃ[hI邱Ƃ\łB
	ԃ[hɂAɃ{[ό`f̃L[t[ԃAj[V
	ς܂BXt@Co͂Aj[Vc[ɍ킹
	IĂB

	ȉ̏Őݒ肷邱ƂŁAȍ~ɓo^ꂽfɔf܂B

		hgsetreq SYSREQ_QUATALG,[hl

		[h0 = QuaternionSlerp (WIȋʐ`)
		[h1 = QuaternionSquad (ʎO)

	ftHgł́A

		hgsetreq SYSREQ_QUATALG,0

	̏ԂɂȂĂ܂B


EGtFNgfɂ

	HGIMG3ł́Aʂ\⏕邽߂̃GtFNgf
	T|[gĂ܂B
	GtFNgf́ACӂ̐Fp`̂悤ȕ\ƂƂ
	\̂łBp[^[̐ݒɂAlXȌ`\邱Ƃ
	\ŁAǉ̃t@CeNX`摜pӂ邱ƂȂA
	`𐶐邽ߎyɗp邱Ƃł܂B

	GtFNgf́Aaddeprim߂ɂ萶܂B

	addeprim mdid,EPRIM_CIRCLE	; GtFNgf쐬

	̗ł́A`EPRIM_CIRCLEGtFNgf쐬āA
	ϐmdidɃfID܂B
	QԖڂ̃p[^[Ŏw肷`́Aȉ̂Sނwł܂B

	EPRIM_CIRCLE         ~
	EPRIM_CIRCLE2        MUMỦ~
	EPRIM_SQUARE         p̊ۂlp`
	EPRIM_FAN            Cӂ̒_p`

	ŏɊ{`w肵́Aׂp[^[seteprim߂
	ݒ肷邱Ƃ\ɂȂ܂B

		seteprim Model,Param,Value

		Model   : fID
		Param   : p[^[ID
		Value   : p[^[ɐݒ肷l

	seteprimŎw肷p[^[ID́Aȉ̒lw肵܂B

	  ID        e
	---------------------------------------------------------
	  0         ̃TCY()
	  1         ėpp[^[(1)()
	  2         ėpp[^[(2)()
	  3         ėpp[^[(3)()
	  4         ėpp[^[(4)()
	  5         ėpp[^[(5)()
	  6         ėpp[^[(6)()
	  7         ėpp[^[(7)()
	  8         ėpp[^[(8)()
	  16        _J[(1)(ɂRGBAlw)
	  17        _J[(2)(ɂRGBAlw)
	  18        _J[(3)(ɂRGBAlw)
	  19        _J[(4)(ɂRGBAlw)

	ėpp[^[1`8A_J[1`4́A{`ɂ
	ω܂B
	܂ÃTCY͏0.2ftHgƂĐݒ肳܂B

	_J[w肷ꍇ́AɂRGBAlƂȂ܂B
	RGBA8bitÂ32bitŎ̂ŁA16ił0xaarrggbb̂悤
	w肵܂B
	(Ƃ΁A0xff123456̏ꍇ́AA(l)=ffAR=12AG=34AB=56)

	_J[(1)`(4)ł́A܂ނꂼ̒_Fݒ肵܂B
	ftHgł́Aȉ̐FR[hݒ肳܂B

		_J[(1) : 0xffffffff()
		_J[(2) : 0xff00ffff()
		_J[(3) : 0xff0000ff()
		_J[(4) : 0x00000080(ȍF)

	_J[ł́Al(x)LɂȂĂ邱ƂɒӂĂB
	l0̏ꍇ́ASȓƂȂ܂B0xff(255)SȕsłB
	̒l肭p邱ƂŁAڂƌĂ\Ȃǂ
	ʂɖ𗧂܂B܂ރf\ꍇɂ́A
	IuWFNg̃[hɁAOBJ_LATE(Ɍォ`ݒ)ǉ
	悤ɂĂB܂AGtFNg͑̏ꍇ2DIȕ\Ƃ
	gp邽߁AOBJ_XFRONT(ɉʂɐʂ)̃[hݒ肷
	KvoĂł傤B

	ꂼ̌`ɑΉp[^[̏ڍׂ́Aȉ̒ʂłB

	EEPRIM_CIRCLE(~)

		EPRIM_CIRCLÉAݒ肳ꂽ_̉~`悵܂B
		XY̔{ς邱Ƃőȉ~ɂ邱Ƃ\łB

		ėpp[^[(1) : _(ftHg:20)
		ėpp[^[(2) : X̔{(ftHg:1.0)
		ėpp[^[(3) : Y̔{(ftHg:1.0)

	EEPRIM_CIRCLE2(MUMỦ~)

		EPRIM_CIRCLE2́A~(16p`)`悵܂B
		̒ŁAS̔aRɎw肷邱ƂłA
		SJԂĉ~邱ƂɂȂ܂B
		ɂAMUMU`⎕Ԃ̂悤Ȍ`
		\邱Ƃł܂B

		ėpp[^[(1) : a1(ftHg:1.0)
		ėpp[^[(2) : a2(ftHg:0.5)
		ėpp[^[(3) : a3(ftHg:1.0)
		ėpp[^[(4) : a4(ftHg:0.5)

	EEPRIM_SQUARE(p̊ۂlp`)

		EPRIM_SQUARÉAp̊ۂlp``悵܂B
		Sӏ̒_ɑ΂XYTCYw肵ėlXȌ`
		\邱Ƃ\łB

		ėpp[^[(1) : _X1(ftHg:0.4)
		ėpp[^[(2) : _Y1(ftHg:0.1)
		ėpp[^[(3) : _X2(ftHg:0.5)
		ėpp[^[(4) : _Y2(ftHg:0.1)
		ėpp[^[(5) : _X3(ftHg:0.5)
		ėpp[^[(6) : _Y3(ftHg:0.5)
		ėpp[^[(7) : _X4(ftHg:0.5)
		ėpp[^[(8) : _Y4(ftHg:0.5)

	EEPRIM_FAN(Cӂ̒_p`)

		EPRIM_FAŃACӂ̒_p``悵܂B
		p[^[̐ݒɂ蔼~\邱Ƃł܂B

		ėpp[^[(1) : S̋(ftHg:1.0)
		ėpp[^[(2) : Jnpx(0.0`1.0)(ftHg:0.75)
		ėpp[^[(3) : Spx(0.0`1.0)(ftHg:0.5)
		ėpp[^[(4) : _(ftHg:12)

	seteprim߂ɂAp[^[ύX́A\sȂۂ
	_W̍č\zsȂ܂B
	ׂ̕y邽߂ɂ́At[Ƃseteprim߂s
	͔̂āAKvȏꍇɂ̂݃p[^[ύXsȂ悤ɂĂB
	event_eprim߂ɂAseteprim̎wCxgXgɖߍ
	Ƃ\łBɂAԌo߂Ńp[^[̕ω
	GtFNgfo^邱Ƃł܂B


EbV}bvɂ

	HGIMG3.2AbV}bvɂn`yуRWm
	@\T|[gĂ܂B
	́Aaddmesh߂ɂč쐬ꂽbVfɍ̏
	tÃeNX`p[cƂĒnʂ̒n`\邱Ƃ
	\ɂ̂łBɂAʂ̂nʂɂăLN^
	ړAn`̃eNX`yɐ邱Ƃł܂B
	܂AȈՓIȕZT|[gĂAn`̌Xɉ̂
	◎ȂǂVXeŏ邱Ƃ\ɂȂĂ܂B

	Qzɂ郁bV}bv

	bV}bvł́A^̂Qzɂ荂n߂Ƃ
	ݒ肷邱Ƃ\łBbV}bvƌĂł܂B
	ʏ́AbV̒_Ƃ̍ݒ肵AN̂nʂ쐬
	ƂɎgp܂BȊOɂAX,Y,ZW̏XVAUVWȂǂ
	ݒɂΉĂ܂B
	bV}bv̐ݒ́Ameshmap߂ɂsȂ܂B

		meshmap var,fID,0,0.1

	̗ł́AvarƂĎw肳ꂽϐɊi[ĂQz
	bV}bvAfIDŎw肵bV}bvɐݒ肵܂B
	̍ۂɁAl0.1{̂YW()ƂēKp܂B

	bV}bv̕AQz̗vfTCYɂP
	Ȃ邱ƂɒӂĂBƂ΁APO~POɕꂽbV
	}bv̒_́APP~PPɂȂ܂B܂QzƂẮA
	udim var,11,11v̂悤ɒ_̃TCYŏKv܂B

	摜}bv̎gp

	O[XP[̉摜ƂɁAbV}bv쐬@\
	pӂĂ܂BɂAbV}bv̋N摜f[^쐬
	邱Ƃ\łB
	bV}bv̍쐬́Agetvarmap߂ɂčsȂ܂B

		getvarmap var,30,30,0

	̗ł́AQƌ摜(HSP̕`ʏ̏)RO~RÖ̗
	AϐvarɌʂ܂B
	(ۂɍ쐬钸_̐ƂẮARP~RPɂȂ܂B)

	摜}bvɂn`f[^̐

	摜}bṽbV}bv񐶐@\p邱ƂŁAnʂ
	\eNX`UVyɍ쐬邱Ƃł悤ɂȂ܂B
	́A炩ߌ߂ꂽvf(nʁAA)Sɕ
	`ꂽeNX`K؂ɃbV}bvɓ\t̂łB
	␅ʂ̕摜ƂɃ}bvɔf邱Ƃł܂B

		sx=32:sy=32			; bVTCY
		dim vmap,sx+1,sy+1		; bV}bv̕ϐ
		setuv 0,0,256,256		; eNX`w(_~[)
		addmesh m_mesh,sx,sy,0,160,160	; fo^(n)
		texload "mapbg4.bmp"		; nʂ̃eNX`
		buffer 3			; ǂݍݗpHSP̃obt@p
		picload "g_road.bmp"		; ̈ʒu摜
		getvarmap vmap,sx,sy,1		; ̈ʒuϊ
		picload "g_river.bmp"		; ̈ʒu摜
		getvarmap vmap,sx,sy,2		; ̈ʒuϊ
		meshmap vmap,m_mesh,$100	; bV}bvݒ
		gsel 0				; `߂Ă

	̗ł́Aug_road.bmpvug_river.bmpvƂ摜ƂɁA
	RQ~RQɕꂽbV}bvɒn`eNX`(mapbg4.bmp)
	Iɓ\t܂B

	n`eNX`yсA摜}bv̔fɊւ@\́A
	쐬Easy3D̋@\(E3DLoadGroundBMP)ƌ݊܂B
	(Easy3DɂẮALAB(http://www5d.biglobe.ne.jp/~ochikko/)
	QƂĂB)

	bV}bv̈ړ

	N̂郁bV}bvɃIuWFNgzuāAyɈړ
	Ƃ\łB
	܂AnʂƂĔFIuWFNgɂ́A[hƂOBJ_GROUND
	炩ߐݒ肵ĂKv܂B
	āAnʂ̏ɔzuIuWFNgɂ́A[hƂOBJ_STAND
	ݒ肵܂B
	̐ݒsȂŁAobjwalk߂ɂړ邱ƂŁA
	bV}bvnʂƂĔFANɉWݒ肳܂B
	objwalk߂́Aȉ̏ŋLq܂B

		objwalk ϐ,IuWFNgID,px,py,pz

	IuWFNgIDŎw肵IuWFNgA(px,py,pz)Ŏw肵
	(xNg)Ɉړ܂BNꍇ́Ȁɏ`ňړ
	sȂقAQȂǂl܂B
	ŏ̃p[^[Ŏw肳ꂽϐɂ́AۂɈړ傫(xNg)
	܂B(ϐ́Adouble^̔zƂėvf0`2ɒl܂)

	Ɋ֘AāAnʂ̏ړۂɕ\IuWFNgYW
	΂ItZbglݒł悤ɂȂĂ܂B
	́AnʂɂWw肳ꂽlɂ炵ĕ\
	sȂ߂̋@\łBf̒SWɂẮAnʂɖ܂Ă܂
	Ƃ̂܂B

		objfloor IuWFNgID, ItZbgl

	̗ł́Aw肵IuWFNgIDItZbgl()ɂ炵
	\ݒsȂ܂B

	objwalk߂ɂړɓlXȏgetcolvec߂ɂ
	擾邱Ƃ\łB݂̃IuWFNgڒnĂnʂ̏
	XȂǂɊւp[^[QƂ邱Ƃł܂B
	ڂ́Agetcolvec߂̃t@XB

	gRW(Q)

	objwalk߂ɂړɂ́AnʂƂĔF郁bV}bv̑
	QƂĔFIuWFNgl܂B
	gRWƌĂсAʏ̏Փ˔(getcoli)Ƃ͈قȂ
	p[^[ݒ肷邱Ƃł܂B

	IuWFNgQƂĔF邽߂ɂ́Aȉ̏KvłB

		EOBJ_STATIC[h̐ݒ
		EgRWp[^[̐ݒ
		ERWO[v̐ݒ

	܂AQƂȂIuWFNǵA[hƂOBJ_STATICw肷
	Kv܂BɁAgRWp[^[ݒ肵܂B
	́AIuWFNg̏Փ˔邽߂̃TCY┽Ɋւݒ
	邽߂̂̂ŁAmodelcols߁A܂setcolscale߂gp܂B
	݂̃p[Wł́AQׂ͂ĉ~`̂̕ƂĔF܂B
	(̃o[Wł͂蕡GȌ`󂪔F\ɂȂ\łB)
	ŌɁARWO[v̐ݒsȂKv܂B
	́A]̏Փ˔łsȂĂ悤ɁAIuWFNg
	O[vƁAՓ˂̑ΏۂƂȂO[v߂̂łB
	Փ˂̑ΏۂƂȂRWO[vݒ肳ĂȂꍇ́AQ
	ĔF܂B

	̏ƂɁAIuWFNg̈ړɏQƂ̏Փ˂m
	K؂ȉsȂ܂B
	QƂ̏Փ˂ł́AIuWFNgƂ̏d()lāA
	̂oĈړsȂ܂B

	IuWFNgړƏd͌vZ

	HGIMG3ł͒ʏAIuWFNg̃[hOBJ_MOVEw肵ꍇA
	IdirO[v̈ړʂWɉZ܂(ړ[h)B
	IuWFNg̃[hOBJ_STANDw肳ĂꍇA܂nʂ
	ړԂł́AOBJ_MOVE̎wnʂ̏ړdlƂȂ
	܂B(objwalk߂Ɠl̓𖈃t[IɍsȂ܂B)
	ɁAIuWFNg̃[hOBJ_GRAVITYtꍇA
	nʂ̌XQlł̏d͌vZIɍsȂA
	dirO[v̈ړʂƂĐݒ肳܂B܂AXnʂ̏
	zuĂIuWFNǵAIɒnʂׂ藎čs
	ƂɂȂ܂BQnʂɓꍇAsȂ܂B
	(́A܂łxD悵ȈՓIȏd͌vZƂȂĂ邽߁A
	ȕ@Ƃ͈قȂ\܂B)
	d͌vZɊւp[^[̈ꕔ́Ahgprm߂ɂݒ肷邱Ƃ
	ł܂B

		hgprm 4, 0.5			; oEhW
		hgprm 5, 1.0, 0.95		; R(󒆁An)

	̗ł́Anʂł̃oEhWCRɂ門C̒lݒ
	Ă܂B

	͈̓Nbv

	nʂ̏ړꍇ́AKbV}bv͈͓̔ɂ悤
	SĂBFׂnʂȂꍇ́Â܂ܒʏړ
	sȂ܂B镨̂́Aiɗ邱ƂɂȂ
	܂܂B
	̂悤Ȍۂ邽߂ɁA͈̓Nbv@\tĂ܂B
	́AX,ZɊւړ͈͂肷邽߂̂̂łB
	IuWFNg̃[hOBJ_WALKCLIPw肵ꍇAsetborder߂
	ݒ肳ꂽX,ZNbv͈͂Oɏo邱ƂłȂȂ܂B
	YɂẮA͒nʂ̃bV}bvɂݒ肳܂A
	̌Ehgprm߂ɂ茈߂邱Ƃ\łB

		hgprm 2,-80			; ړ\x

	̗ł́AYW-80܂łɈړłȂȂ܂B

	ǔJ

	N̂郁bV}bvŃLN^[𑨂ȂJ𓮂
	ꍇAQnʂ̍lKvvO
	GɂȂ܂B
	HGIMG3.2AVJ̃[hƂāAbV}bvyяQ
	lēK؂ɖړĨIuWFNgǂ鎩ǔ[hǉ
	Ă܂Bǔ[hł́AJ̒_ɔCӂ̃IuWFNg
	w肵ŁAJg̃RWݒ肵AQƂ̏Փ˂
	nʂɖ܂ƂԂ܂B
	ɂAOl̎_̃Q[Ȃǂ̍쐬yɂȂ܂B
	ǔ[h́Aȉ̏Őݒ肵܂B

		cammode CAM_MODE_AUTOMOVE, IuWFNgID

	̗ł́AIuWFNgIDŎw肳ꂽIuWFNgǔ
	ƂɂȂ܂B
	ǔ[hɂ́AIuWFNg̎workO[vɑΏۂƂ̋
	nʂ̍AdirO[vɑΏۍW̃ItZbgl
	Ƃł܂B

		setdir HGOBJ_CAMERA, x, y, z

	̗ł́AǔΏۂ̃IuWFNgW̒_ɑ΂āA
	(x,y,z)Z܂BɂAΏۃIuWFNg̒Œ
	ʒuׂ邱Ƃł܂B

		setwork HGOBJ_CAMERA, camdist, camrotate, camheight

	̗ł́AcamdistƂđΏۃIuWFNg̋AcamheightƂ
	J̍w肵Ă܂B
	camrotatéAȃp[^[0ȊOw肷ƁA̎ǔ
	Ɏw肵l_]܂B]́Acamrotatep[^[
	0ɃZbg܂B́A[U[CӂɎ_]邽߂
	݂ꂽIvVŁAʏ͐ݒ肷Kv͂܂B

	ǔ[h́AbV}bvړۂłȂA
	IuWFNg𒍎J̃[hƂĔėpIɗpł܂B
	܂AړsȂȂœ̃IuWFNĝ݂𒍎邽߂
	CAM_MODE_LOOKOBJ[hǉĂ܂B

	g䐶@\

	bV}bvɕtāAg䐶@\T|[gĂ܂B
	́ACӂ̃TCYɋ؂ꂽiq̍ɁAg̓`B
	ěvZsȂ̂łBAȕZsȂĂ
	킯ł͂ȂAptH[}XD悵ȈՓIȃxɌvZʂ
	}Ă܂B̋@\́Aʏ̉oʂȂǂɗp
	Ƃł܂B

	g䐶@\́Aȉ̎菇Ŏgp܂B
	܂Aiq̏ƃbV̍i[zϐ쐬
	Kv܂B

		sx=32:sy=32
		dim vmap,sx+1,sy+1
		wave_init sx,sy

	̗ł́A32~32̃Obh܂B
	zϐ́AK^ŃObhTCYX,YƂ1傫l
	邱ƂɒӂĂB(_̐̓Obh̕P
	Ȃ邽߂ł)
	ꂽiq́Aȉ̖߂ōݒ肷邱Ƃ\łB
	(zϐ́Aobt@̓ǂݏoƂĂ̂ݎgp܂B
	zϐ̂̂ɑĂÃobt@͍XV܂B)

		wave_set 4,5,100

	̗ł́Aiq(4,5)ɍ100ݒ肵܂B
	́AŎw肵܂B

	ۂ̉ŹAwave_applyߎsɍsȂ܂B

		wave_apply vmap,1

	̗ł́Aݒ肳ꂽiq̒evZsȂŁAϐvmap
	ʂ܂B

		wave_apply vmap,2

	̗ł́AǧvZsȂŁAϐvmapɌʂ܂B
	(ǧvŹAKt[ĂяočXV悤ɂĂB)

	vZʂꂽzϐbV}bvɔf邽߁A
	Ōmeshmap߂sKv܂B

		meshmap vmap,m_mesh,0,0.1

	̗ł́Avmapɑꂽzϐ̒lƂɁA
	m_meshɑꂽfID̃bV}bvɍݒ肵܂B
	vmap̓éA^łSԖڂ̃p[^[Ŕ{0.1Ǝw
	Ă邽߁Aۂɂ͂PÔPɂȂlݒ肳܂B


EIuWFNgėp[U[ɂ

	HGIMG3.2AׂẴIuWFNgɔėpIȃ[U[t
	Ƃł悤ɂȂ܂B
	́A[U[RɕۑAQƂ邱Ƃł3̐l
	Ȃ܂BIuWFNgŗL̏𕡐ۑKvꍇȂǂ
	RɎgƂł܂B

	IuWFNgėpxNǵA

		setcolscale IuWFNgID, x, y, z, 2

	Őݒ肳܂B(x,y,z͔Cӂ̐l)
	ݒ肳ꂽeQƂꍇ́A

		getcolvec v1,v2,v3,IuWFNgID,18

	̂悤Ɏw肵܂B
	̗ł́Aϐv1,v2,v3Ƀ[U[񂪑܂B


ETEh֘AT|[gɂ

	3.15łA{IȃTEhĐ@\HGIMG3ɓĂ܂B
	Q[ł̌ʉĐȂǂvOC̒ǉȂōsȂƂ\łB
	ʏ́ATEh֘A@\͎gp܂B
	dmmini߂ɂ菉sȂꂽ̂݁ATEh@\LƂȂ܂B
	HGIMG3gpłATEh֘A@\̏sȂȂꍇ́A
	DirectSoundȂǃTEhɊւAPIgp邱Ƃ͂܂B
	HGIMG3Ƒ̃TEh֘AvOCgpꍇ́Aʏʂ肨g܂B

	TEhĐ@\̂߂Ɉȉ̖߂pӂĂ܂B

		dmmini		TEh@\
		dmmbye		TEh@\I
		dmmreset	TEh@\̐ݒZbg
		dmmdel		TEhf[^폜
		dmmvol		TEhf[^̉ʐݒ
		dmmpan		TEhf[^̃pݒ
		dmmloop		TEhf[^̃[vݒ
		dmmload		TEhf[^̓ǂݍ
		dmmplay		TEhf[^̍Đ
		dmmstop		TEhf[^̍Đ~
		dmmstat		TEhf[^̏Ԏ擾

	߂̏ڍׂ́AwvQƂĂB
	TEh֘A@\́A3D@\ƓlDirectX8ȍ~DirectSound
	gpĂ܂BHSP3̓}`fBA@\ƔrāA
	ʂ̐ݒA̓ĐAԂ̎擾Ȃǂ𗘗p邱Ƃ
	ł悤ɂȂ܂B


Eo^̌Eɂ

	o^IuWFNgAfȂꍇ́Aʓr
	hgsetreq߂ɂő吔ݒ肷Kv܂B
	ȉ̗́AIuWFNgő吔1024ɐݒ肵܂B

	hgsetreq SYSREQ_MAXOBJ,1024	; IuWFNgő吔g

	hgsetreqŐݒłȍڂ͈ȉ̒ʂłB

		}N          e(ftHgl)
		-----------------------------------------------------
		SYSREQ_MAXMODEL   fő吔
		SYSREQ_MAXOBJ     IuWFNgő吔
		SYSREQ_MAXTEX     eNX`ő吔
		SYSREQ_DXMODE     tXN[[hXCb`
		SYSREQ_DXHWND     EBhEnh(QƂ̂)
		SYSREQ_DXWIDTH    tXN[[h̉TCY
		SYSREQ_DXHEIGHT   tXN[[h̏cTCY
		SYSREQ_COLORKEY   eNX`o^̓FR[h
		SYSREQ_RESVMODE   G[̌R[h(QƂ̂)
		SYSREQ_MAXEVENT   Cxgő吔
		SYSREQ_MDLANIM    f̃Aj[Vő吔
		SYSREQ_CALCNORMAL Xt@Cf@ČvZXCb`
		SYSREQ_2DFILTER   2D`掞̃eNX`ԃ[h
		SYSREQ_3DFILTER   3D`掞̃eNX`ԃ[h
		SYSREQ_OLDCAM     J[h̓
		SYSREQ_QUATALG    Xt@CfAj[Vԃ[h
		SYSREQ_DXVSYNC    tXN[[hVSYNC҂[h
		SYSREQ_DEFTIMER   hgsync̎ԑ҂[h(0=HGIMG3/1=await)
		SYSREQ_NOMIPMAP   eNX`MIPMAP[h(0=/1=MIPMAP	)
		SYSREQ_DEVLOST    DirectXfoCX̑݃tO(0=/-1=Xg)
		SYSREQ_MAXEMITTER G~b^[ő吔
		SYSREQ_THROUGHFLAG@X̃{[_[tO(0=ʏ/1=X[)
		SYSREQ_OBAQMATBUF OBAQp}eAobt@

	HGIMG2.61܂łɑ݂pPbgTCY͔p~Ă܂B


EDirectXp[^[̎QƂɂ

	hggetreq߂ɂADirectXɊւp[^[
	擾邱Ƃ\łB

		}N          e(ftHgl)
		-----------------------------------------------------
		SYSREQ_RESULT     G[̌R[h(QƂ̂)
		SYSREQ_RESVMODE   Xe[^XR[h(QƂ̂)
		SYSREQ_PTRD3D     DIRECT3D8COM|C^(QƂ̂)
		SYSREQ_PTRD3DDEV  DIRECT3DDEVICE8COM|C^(QƂ̂)

	SYSREQ_RESULT

		G[̌R[hi[܂B
		hgini߂ŏꍇɁAG[ƂȂꍇ
		QƂ邱ƂŁAG[łꍇ܂B

		1 : DIRECT3D8̎擾Ɏs
		2 : GetAdapterDisplayModeɎs
		3 : DIRECT3DDEVICE8̎擾Ɏs

	SYSREQ_RESVMODE

		ɃXe[^XR[hi[܂B
		bit0-7́AD3DFORMATl(DirectX SDKQ)Ă܂B
		ꂽʂ̃sNZtH[}bgm邱Ƃł܂B
		bit121($1000)ꍇ́ADirectXG~[V
		[h(D3DDEVTYPE_REF)œ삵Ă邱ƂĂ܂B

	SYSREQ_PTRD3D
	SYSREQ_PTRD3DDEV

		HGIMG3ŎgpĂDirectXCOM|C^i[܂B
		ꂼADIRECT3D8ƁADIRECT3DDEVICE8COM|C^
		Ă܂BHSP3COMĂяo@\Ƒgݍ킹
		gp邱ƂŁADirectX API𒼐ڗp邱Ƃ\łB


EOggVorbisXg[Đɂ

	OggVorbis`́ACZXt[̈kt@CtH[}bgłB
	mp3`ȂǂɔׂāACZX̖肪ȂAOSɍEꂸ
	gpł_ŁAQ[̑gݍ݌`ɌĂ܂B
	HGIMG3ł́Agqu.oggvt@CXg[ɂĐ
	Ƃ\ȂقACӂ̃|Cgւ̃V[Xȃ[vT|[g
	Ă܂BɂAɍȉyyɑgݍނƂ
	ł悤ɂȂĂ܂B
	OggVorbis`t@C̍쐬GR[h̏ڍׂɂẮAT|[g
	sȂĂ܂̂ŁAʓrc[pӉB


EOBAQT|[g@\ɂ(new)

	OBAQ(GW)vOCƘAgāA\̃T|[gsȂ@\
	ǉĂ܂B
	OBAQvOCł́AʏHSP̃EBhEɕ`sȂ܂A
	OBAQǗIuWFNg͂̂܂܂ŁA`̂HGIMG3DirectX
	sȂ`ɂȂ܂B
	OBAQvOCP̂ŕ`悵ꍇɔׂāAɍŐx̍\
	邱Ƃł܂B
	HGIMG3OBAQ𗘗pꍇ́AKȉ̏ԂŃwb_ǂݍ
	B

		#include "hgimg3.as"
		#include "obaq.as"

	ɁAȉ̏ԂŏsȂĂB
	HGIMG3OBAQ̃f[^|C^nƂŁAAg܂B

		;	ݒ
		;
		hgini
		qreset			; OBAQ̏
		qgetptr obaq_ptr
		hgobaq obaq_ptr, 0

	`̃C[v͈ȉ̂悤Ȍ`ɂȂ܂B

	*main
		;	`惁C
		;
		qexec			; OBAQɂIuWFNg̍XV
		hgdraw			; `揈
		hgsync 10		; ԑ҂
		goto *main

	OBAQvOC̕`施(qdraw)͕Kv܂B
	sȂ߂qexec͕K܂߂悤ɂĂB
	́AOBAQ̖߂ŃIuWFNg̐ݒsȂ΁AIHGIMG3
	̕`vZXŕ\܂B

	OBAQvOĆA2Dx[X̏sȂĂ邽ߕʂւ
	`悾sȂƂł܂B
	AHGIMG33D|SOBAQ̉ʂ\tĕ`悷
	߂3D[hpӂĂ܂B
	̏ꍇ́Aȉ̂悤ɏsȂĂB

		;	ݒ
		;
		hgini
		qreset			; OBAQ̏
		qgetptr obaq_ptr
		hgobaq obaq_ptr, 0, 1	; 3D[h

		;	OBAQf
		;
		addobaq3d m_obaq
		regobj obj, m_obaq
		setscale obj, 0.25,0.25,0.25

	addobaq3d߂ɂAOBAQ`悷郂fǉ܂B
	IuWFNgƂēo^邱ƂŁA3D̔Cӂ̈ʒuApx
	`悷邱Ƃł܂B
	OBAQ3D[h́AOBAQIuWFNg̃fobO\ɂȂ܂̂ŁA
	Kqmat߂mat_wirẽ}eAݒ肷悤ɂĂB

	HGIMG3ł́AOBAQvOC̎`@(}eA)ɉāA
	eNX`gpĐ`悷郂[h(mat_wire3)ǉĂ܂B
	ɂAPȐłȂꂽ⑾Ȃǂ`悷邱Ƃ
	\ɂȂĂ܂B̏ꍇ́A

		qmat OBAQIuWFNgID, mat_wire3, eNX`ID, ZID
		qmat2 OBAQIuWFNgID, 0,0, 0, ̑

	̂悤ȎwɂȂ܂Bqmat2Ɏw肷zoomyp[^[ɂ
	ς邱Ƃł܂Bȉ́uline.tgavƂeNX`
	gĐ`悷XNvg̗łB


		;	eNX`̏
		;
		texload2 "line.tga"
		lntex = stat

		;	OBAQg
		;
		qmat 0,mat_wire3,lntex
		qmat2 0, 0,0, 0,16	; ̑(zoomy)


EFPUxݒIvVɂ(new)

	DirectXɁAZjbg(FPU)̐xfloat(32bit)
	ݒ肳܂BɂAʏdouble(64bit)ŉZĂ̂
	32bitxɗƂĂ܂܂B́Ãf[^Ɉ
	߂̂̂ŁÃAvP[Vłl̐ݒɂȂĂ܂B
	AHSPŐx̍vZsȂꍇAGWOBAQ
	ʏHSP3œ삳ƓxŌʂ𓾂ɂ́A
	FPUxݒIvV̐ݒ̂܂܂ɂĂƂ\łB
	hgsetreq߂ɂVXeNGXgŁASYSREQ_FPUPRESERVE1ݒ
	邱ƂŁAʏ̐xŌvZs܂B(Axቺ
	܂)

		hgsetreq@SYSREQ_FPUPRESERVE,1
		hgini


EHGIMG3Ήc[ɂ

	HGIMG3ɑΉ3Dc[ƂĈȉ̂̂𐄏Ă܂B
	ȊOɂAx`Amx`c[𗘗p邱Ƃ\łB

	[3DACE ̕]
	http://hp.vector.co.jp/authors/VA017881/

	I3D̃fOsƂ̂łt[\tg3DACEJ
	܂BMX`AX`ł̏o͂ɑΉĂ܂B

	[LAB]
	http://www5d.biglobe.ne.jp/~ochikko/

	{[ɂ郂[Vt邽߂̃c[ARokDeBone2JĂ܂B
	MetasequoiaƘZp剤̃f[^𗘗p邱ƂłAIKɂΉĂ܂B
	t[ŃXL[V̍쐬\ɂȂ܂B
	f[^́AX`(DirectX)ŏo͂邱Ƃ\łB

	[metaseq.net]
	http://www.metaseq.net/

	MetasequoiáAO.Mizno񂪍ꂽ3DfOc[łB
	t[łMetasequoiaLÉAICłɓ肷邱ƂłA
	3Df[^̍쐬sȂx`ŏo͂邱Ƃ\łB
	MetasequoiagAvOCłȂ葽̃tH[}bgǂݍ݂
	ΉĂ邽ߊ3Dt@C̕ϊ̉\ƍL܂B

	[game space]
	http://www.caligari.com/gamespace/

	Q[p̃|SfAAj[Vɓc[łB
	IȃC^[tF[XōƂłA̐̂́A
	t[łpӂĂ܂Bx`ł̏o͂ɑΉĂ܂B

	[SOFTIMAGE|XSI Mod Tool]
	http://www.softimage.jp/modtool/

	́AȂ{iIȃc[łB
	Ƃƃvp3D\tgłASOFTIMAGE|XSI̋@\𐧌
	ĖłƂĔzzĂ̂łAقƂǂ̋@\
	̂܂ܗp邱Ƃł܂B(pp֎~)
	fAj[V쐬ɍ@\łÂԂ
	gôɎԂ̂_܂B


-------------------------------------------------------------------------------
                                                HSP users manual / end of file 
-------------------------------------------------------------------------------
