gclconv ver2.0 1999/06/25

$Id: readme.txt,v 1.1 2002/02/01 06:08:32 usr01475 Exp $

ǽ

꥽ơ֥

resource ꥽̾ {
	1:
		$i:{
			{ 0, 1, 2, 3, 4 },
			{ 0, 1, 2, 3, 5 },
		},
	2:
		'ʸ',
};

Τ褦ʷǥ꥽Ǥ롣
Хʥ֥åʸ֥å2बǽ
Ȥϡ[꥽̾:̾]ηǹԤʤ[:]Ϥ٤Ⱦѡ
command.defǤ'...'ʸ󷿤$d:ȤǤ롣

ХʥǤϰʲηǽ
$b:, $w:, $i:, $s:, $t:, $v:

ץफϥǡΥϼǤʤΤǡ
ߥ͡ʤɤɬפˤʤ롣
{}ΥͥȤϡɽ狼䤹뤿˻Ȥ롣
ǡι¤Ȥ̵ط

ʸ1ĤΥʣǤ뤬(ϢʸȤư)
Хʥ1ĤΥˤ1ĤΥ֥å

procʤɤƱ褦ˡȤʤäǡ
Хʥ˴ޤޤʤΤǡ饤֥ŪʰǤ롣

ؿɤ߹

command.defǡʲΤ褦Ԥʤȡ
-mץǥơδؿꥹȤ
̾, ID, ؿ̾򵭽Ҥꥹȥեɤ߹ߡ
ؿꥹȤ˲ä뵡ǽɲáʥǥ⥨եѡ

command demo $E:symbol		// t:ܥ밷
command demo 'Extern'		// ʸ󰷤

ʥꥪ桢
command demo 's01a0d0'
ǡs01a0d0.lstɤ߹ࡣ( -l optionǸѥǽ

*.lstϡ
------
0x01000001	NewDemoEffect1 ǥ⥨ե
------
Τ褦ʣEUCƥȥե롣

command.defץȥפǤΥץʸλγĥ

-opTion ʤɡ֤ʸϤळȤǤʸ򥪥ץʸȤ
ȤǤ롣

command.defץȥפǤΥ֥åΥꥢǽ

command.def ǤΡ{ }¹ԥ֥å$:ѿ̾󤹤뤳Ȥǡ
¹ԥ֥åǤ$1ʤɤΰΥꥢȤưȤǤ롣

ץؤѿλϤ( 1999/12/10 ɲ )

$r:ѿ̾ ǥץȥ뤳ȤǡץػϤ뤳ȤǤޤ
ƤӽФ¦Ǥϡѿ̾̾[offset]񤤤Ʋ
offsetꤹ뤳Ȥǡץफ鸫륢ɥ쥹򤺤餹ȤǤޤ

proc, command ֤( 1999/12/10 ɲ )

proc ⤫ return ֤֤ͤޤ
֤ͤ $status ޤ $? ǻȤǤޤ
command ޥɤǵưؿ֤ͤ
Ʊޤ

proc test {
	if( $1 == 1 ){
		return 1;
	} else {
		return 2;
	}
}

returnʤprocλ硢֤ͤ
ְֺǸɾ줿͡
ˤʤޤʰʲΡ㼰Υޥɡ仲ȡ(00/02/14)

return Τߤ񤤤Ƥäϡ֤ͤϣˤʤޤ

ץफϡ
GCL_ExecProc ֤ͤȤơʥꥪǤ֤ͤ򻲾ȤǤޤ
GCL_ExecBlock ξϡ֤֤ͤޤ󤬡
Хѿ GCL_Status򸫤С֤ͤǤޤ

Υޥ( 1999/12/10 ɲ )

Τʤǡ`ޥ`ƤӽФ֤ͤͤȤ
Ѥ뤳ȤǤޤ
󥰥륳ơǤϤʤ(륹ץȤΥޥɸƤӽФƱ)
ΤդƲ
`ޥ`ϡҤˤϤǤޤ
ǤΤǡɬ ( ) ǰϤɬפޤ

֤֤ͤʤޥɤƤ⡢֤äƤǤ

֤֤ͤޥɤϡߤΤȤ
procƤӽФǤreturn
eval
command ޥ
ΤߤǤ

if( `@proc 1` == 1 ){
	:
}

if( `command ָ͡ -p 100 100 100` == 1 ){
}

eval( $f:ե饰 = `@proc 1` );

chara hohoho name -f ( `@proc $2` )

ʤɡ

ΥǡκĹϡָƤӽФޥɤѴΥǡޤơ
255ХȤǤΤǡۤȡ顼ˤʤޤ
ޥɤĹϡprocƤӽФѹƲ

ץץåƳ

#if, #ifdef #else if, #else, #endif Ѳǽ
define, include #define, #include ѹ
ˤȤʤԥȤ #  // ѹ

gclconv  -D ץޤ
gclconv -D TEST
ޤϡ
gclconv -DTEST=1
Τ褦ʷȤޤ(99/11/15)

γĥ

32Bit intѿߤޤ
    $i:ѿ 
ǵҤޤΥСǤ$l:64Bit long ʶ路ΤǤޤ
ưϰޤ

ޤ$s:ʸɤ32ӥåȤ˳ĥޤ(99/10/05 24->32)
ޤPROC IDϣӥåȤˤʤäƤޤ

ץޤϡޤǤΥץѤ硢ʸɡ
PROC IDϿƤѿshort ΤޤޤȸưޤΤǡդƤ

ʸID(99/10/05 add)

24Bit + 8Bit 32ӥåȤȤưޤ
ʸIDΤΤ24ӥåȤǤ8ӥåȤοղä뤳ȤǤޤ
Ҥϡ򳫤ˡ:Ƕڤäơname:01Τ褦˵Ҥޤ
Ūˤϡ( <<24 ) | ( ʸID )ȤǻäƤޤ

ե(99/10/05 add)

<<, >> եȤԤޤѥեȤǤϤޤΤǡ
ӥåȤ¸ޤ

ʥꥪѿ

$i:ѤǤ褦ˤʤޤ
夫ѤƤΤǡ饤Ȥ̵̤Фʤ褦
ҽ֤ͤƤ

ο

٤Ƥηѿ[]źͿ뤳Ȥ򵭽ҤǤޤ
Ѥˤϡdim ̿Ǻǿꤹɬפޤ
    ) dim $f:ƥ[ 128 ];
dim̿ϤѿȤ٤ƤgclɬפǤ(.h#include٤)
ǿѤäѿơ֥񤭴Υ֥ǡ
ѤǤʤɬפޤʸҡ
֤̤礭ʤޤΤǡѤˤϽʬդ
褦ˤƤ
Ȥ[]ˤϤѿȤäѲǽǤ

ѿХåեΥС

ѿХåեεϿեǤ variable.sym˺ξ褦
ޤgcx˵Ͽ꡼ɤ˥֤Ȥˤξ
֤뤳ȤǡΥ֥ե뤬߻ѲǽɤȽꤹ뤳Ȥ
Ǥޤ
gclconv,gclkϡʲξvariable.symκľ׵ᤷޤ

    Ʊ̾Ƿΰ㤦ѿ򸡽ФȤ
    źκѲȤ
    ѿʥץफɤ߼ǽѿˤοѲȤ
    gclkСѹ줿Ȥ (99/10/05 add)

ξϡvariable.symäơľƤλǤ
֥եϻԲĤˤʤޤ
ޤѿɲäꤢޤ󤬡
    ͤʳǤ뤳Ȥɬפѿɲä줿
ʤɤǡΥ֥եǤưʤȤϡ
gclconv, gclk¦ǤϸФǤޤΤǡŪvariable.symäơ
Υ֥եԲĤˤƤ

stage/*.c եμư

command.defν񼰤ˡؿ̾򵭽Ҥ褦ѹޤ饯̾θ
[]ǰϤCδؿ̾򵭽Ҥޤ
    chara ͡[NewSnake] $s:̾ -p $v: ...
ˤꡢgclconv <gcl> -m <path>ǡgclǥ뤵Ƥ
٤ƤcharaΥơ֥.c ưޤ
ưΥե_base.cǡgclconv򤫤ǥ쥯ȥ(scnʤ)
ƤɬפޤǤ<path>˥ե뤬ǤƤϡ
Υե˹ԤޤΤ
/* gcl chara */  /* gcl chara end */
ޤǤιԤǤ
extern ⾡ˤäƤޤΤǡmain/*.hsκɬפʤʤޤ

mesg ץȥ

mesgޥɤεҤʲΤ褦ѹޤ
    mesg 饯̾ ̾ ޥ [] ...
ȤСޤǤ
    mesg snake motion 0
ϡʲΤ褦ˤʤޤ
    mesg ͡ snake motion 0
ޤmesgޥɤ⡢ƥ饯Ȥ command.def ǥץȥ
ɬפȤ褦ѹޤ
¸ߥåԤޤΤǡɬcharaθƤ
    ) mesg ͡ $s:̾ ޥ[1] $w:
ˤꡢηȿå뤳ȤǤޤ
ޥɤ[]ǿĤȡץ˥ޥɤοޤ
Ĥʤȥޥɤʸ󥳡ɤˤʤޤǤꤹ褦
Ƥ
00x000100ʹߤϥƥͽ(kill, mapʤ)ޤΤǡ
ޥɤϤʳͤѤƤ

ʸIDåζ

chara, mesgץȥפ $s:ƥ̾ Τ褦Ԥ줿硢
̾ʤξϡ֥ƥ̾סˤǻꤵ줿٤ƤФơ
ƱIDåʰ㤦ʸƱIDʤɤˤԤޤ
äơץޤchara ǾθƤ餦ɬפޤ

group ˤ¸ߥå

charaץȥפƱǤ$s:ƥ̾ ʤɤǶ̤줿
˴ؤơ
    group ƥ̾ {
        stage_tex_01,
        stage_tex_02,
        stage_tex_03,
        stage_tex_04,
        stage_tex_05,
        lamp_tex01,
        lamp_tex02,
    };
ȤԤȤǡ줿ʳΰ뤳Ȥػߤ뤳Ȥ
ǤޤӤȤƤϡƥ̾⡼̾ʤɤ˻ȤǤ礦
groupġǺơ򥷥ʥꥪĥդǡơˤʤ
ƥꤷƤʤå뤳ȤǤޤ

enum 

夲ܥǤޤӤȤƤϡgroupƱ
⡼ꥹꤷƤޤȤС⡼ֹ⡼̾
ƵҤǤ褦ˤʤޤ
    enum Ũʼ⡼ {
        motion_stg01_standup = 0,
        motion_stg01_fuse,
        motion_stg01_kaidanup,
        motion_stg01_kaidandown,
    };
⡢ġǺꥹȤĥդ뤳ȤǤ
ʤ¦ǤϡʲΤ褦ˤƻȤƤ
    d:Ũʼ⡼:motion_stg01_standup
褯Ƚ롢ǤC++ߤǤ͡
ڡʤǤ128ʸۤƤǤ
ǡƱ⡼̾Ǥơ㤦ֹȤƻȤǽǤ
groupʸIDenumϿ夲Ǥ

ץ󡢥ʥꥪκ

ץĹʥꥪPROCĹ줾졢16Bit, 32Bit, 32Bit
ĥƤޤ



ʤɡ˷׻ǤΤϷ׻Ƥ褦ˤʤޤ
ʤɤǡ
-f ( 0x8 | 0x4 )
Ȥȡ0xCϤޤ򰷤Ȥ٤ƤǻѤ뤳Ȥ
ǤޤϡʡˤǰϤäƤ

ץ।󥿡ե

ˤ񤭤ޤcommand.def˵Ҥ뤳Ȥǡ*.hsʤɤɬפʤʤäƤޤ
ʬcommand.def 粽뤳ȤͤޤΤǡŪcommand.def 
ƿôʬdef#include ǤޤȤ褦ˤޤ

chara ޥɤγƥ饯Υץΰϡޤޤ

void *NewSnake( int argc, char *argv[], int name, int where )
{
}

ǤСǤϡ

void *NewSnake( int name, int where )
{
}

줷ޤname ˤϥʥꥪϤ̾ʸIDwhereˤ
ʥꥪưΥޥåIDϤޤ

command ޥɤߤޤ
Υץΰϡ
int NewCommand( void )
{
}
ˤʤޤ֤ͤ$status, $?ޤ

-----

ñʸˡ

ѡ

ܤϣԣ̿
// ...,  /* ... */ϥ
\ǼιԤ

#if, #else, #endif ݡ

̿

#define A B
Ȼˤ d:AȤɽ򤪤ʤ

#include ".."



$i:32ӥåȿ
$w:16ӥåȿ(դ)
$b:8ӥåʤ
$f:1ӥåȥե饰

$v:32ӥåȥ٥ȥ     x, y, z   ޶ڤ (ޤζ̵)

$s:24ӥåʸ       (GV_StrCodeƱ󥳡ɤǡʸͲ
    string:01   Ǿ̣ӥåȤ0x01ΣӥåȥɤɽǤ롣

ʸ

ѿ

32ӥåȿ(դ)  $i:ѿ̾
16ӥåȿ(դ)  $w:ѿ̾
8ӥåʤ         $b:ѿ̾
8ӥåʸ             $c:ѿ̾
1ӥåȥե饰           $f:ѿ̾

24+8ӥåʸ    $s:ѿ̾
(GV_StrCodeƱ󥳡ɤǡʸͲ

桼ؿID          $p:ؿ̾       եޥåȤΤ߻ѡ
32ӥåȥ٥ȥ        $v:ѿ̾       եޥåȤΤ߻ѡ
ѿȷ				$r:ѿ			եޥåȤΤ߻ѡ

Tsymbol եޥåȤΤ߻ѡ
ĤʤУ  $t:ܥ
Ĥʤ-1  $T:ܥ		˥󥰤
ĤʤХ顼	$C:ܥ

ѿ̾ϡХʥ˥СȤȤѿХåեΰ־Ѵ롣



ϡեݡɵˡΥХʥǡȤƳǼ
¹Ի˷׻
Ĥͤ()ǰϤࡣ

ܥޥ

proc ؿ̾  ¹ԥ֥å 
ƽФ
@ؿ̾  2 ...
ϼ¹ԥ֥å $1 $2 $3...Ȥ̾ǻȤ롣

proc ؿ̾ $:1 $:2 $:3 {
}

Ȥ⤢ǡξ
$:1 ȤǻȤǤ롣(侩)

if Ｐ { ¹ԥ֥å } else if { } else { ¹ԥ֥å }
 ѡԹǡ
if(  ) command ϤĤʤ
else, else if ϡ } ³ơʲԤʤǡ˵Ҥɬפ롣

return [֤] ¹ԥ֥åζλ


ĥޥ

command [ ѥ᡼ ]... [ å ] [ ѥ᡼ ] ...

å-ǻϤޤꡢľαѻ1ʸǶ̤롣
ѻ1ʸʹߤʸϤĤƤ⤤̵롣

---- ޥɵҥե ----

command.def

ʲΤ褦ʥեޥåȤǵҤ롣
ʸ""Ǥࡣ¹ԥ֥å{}Ǥࡣ
-ǻϤޤʸ󡢤⤷ϲĤʤʸϥץȸʤ롣
...ľη֤*ϲǤ⤤
(ºݤΥץǤϡ٤shortȤƼФ)
ե̾ŪˤIDǸƤӽФ롣
ѥ˷åΤǡץ¦ǤϷåϸ§ס

//

light -dir $v: -col $v:٥ȥ -amb $v:Ķ

//

camera -bound $v: $v: -track $w:

//ޥå׻

map -define $s:ޥå̾ $s:ե̾ \
    -show   $s:ޥå̾ \
    -about  $s:ޥå̾

trap $s:ȥå̾ $s:̾ $s:٥ȼ { ¹ԥ֥å }

mesg $s:̾ $s:å * ...

//3ĤΥԡȤä顢
// -p $i: $w: $b: ...3
//ߤʽǤ롣

// ...ꤷץθˡ̤ΥץĤȤϡ
//ƽФ¦Τ { ... }ǰϤळȡ

//#鵭

chara ʼ $s:̾ -i $b:IDֹ -b $s:շ 

//#ޥɵ

command sound -x $i:ɥ

ʤɤʤɡ

