home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / GAMEDS1.zip / GAMEDS1 / Media / file / hgimg3.as < prev    next >
Text File  |  2009-08-01  |  10KB  |  518 lines

  1. ;
  2. ; HGIMG3.1 define and macros
  3. ;
  4. #ifndef __hgimg3__
  5. #define __hgimg3__
  6. #runtime "hsp3hg"
  7.  
  8. #const global FLAG_NONE 0
  9. #const global FLAG_ENTRY 1
  10. #const global FLAG_VISIBLE 2
  11. #const global FLAG_MOVING 4
  12.  
  13. #const global OBJ_HIDE 1
  14. #const global OBJ_TREE 2
  15. #const global OBJ_XFRONT 4
  16. #const global OBJ_MOVE 32
  17. #const global OBJ_FLIP 64
  18. #const global OBJ_BORDER 0x80
  19. #const global OBJ_2D 0x100
  20. #const global OBJ_SORT 0x400
  21. #const global OBJ_STATIC 0x800
  22. #const global OBJ_GRAVITY 0x1000
  23. #const global OBJ_LATE 0x4000
  24. #const global OBJ_FIRST 0x8000
  25.  
  26. #const global OBJ_STAND 0x10000
  27. #const global OBJ_GROUND 0x20000
  28. #const global OBJ_LAND 0x40000
  29. #const global OBJ_LOOKAT 0x80000
  30.  
  31. #const global OBJ_BOUND 0x100000
  32. #const global OBJ_ALIEN 0x200000
  33. #const global OBJ_WALKCLIP 0x400000
  34.  
  35. #const global SHADE_LINES    0x80
  36. #const global SHADE_NOLIGHT    0x100
  37. #const global SHADE_TOON    0x200
  38.  
  39. #enum global PRMSET_MODE = 0
  40. #enum global PRMSET_FLAG
  41. #enum global PRMSET_SHADE
  42. #enum global PRMSET_TIMER
  43. #enum global PRMSET_MYGROUP
  44. #enum global PRMSET_COLGROUP
  45.  
  46. #const global HGOBJ_CAMERA 0
  47. #const global HGOBJ_LIGHT 1
  48.  
  49. #const global CAM_MODE_NORMAL 0
  50. #const global CAM_MODE_LOOKAT 1
  51. #const global CAM_MODE_LOOKOBJ 2
  52. #const global CAM_MODE_AUTOMOVE 3
  53.  
  54. #const global HGMODEL_ROTORDER_ZYX 0
  55. #const global HGMODEL_ROTORDER_XYZ 1
  56. #const global HGMODEL_ROTORDER_YXZ 2
  57.  
  58. #const global EPRIM_CIRCLE 0
  59. #const global EPRIM_CIRCLE2 1
  60. #const global EPRIM_SQUARE 2
  61. #const global EPRIM_FAN 3
  62. #const global EPRIM_LINE 4
  63.  
  64. #const global MOVEMODE_LINEAR 0
  65. #const global MOVEMODE_SPLINE 1
  66. #const global MOVEMODE_LINEAR_REL 2
  67. #const global MOVEMODE_SPLINE_REL 3
  68. #const global MOVEMODE_FROMWORK 16
  69.  
  70. ;
  71. ;    system request
  72. ;
  73. #define global SYSREQ_NONE 0
  74. #define global SYSREQ_MAXMODEL 1
  75. #define global SYSREQ_MAXOBJ 2
  76. #define global SYSREQ_MAXTEX 3
  77. #define global SYSREQ_MAXMOC 4
  78. #define global SYSREQ_DXMODE 5
  79. #define global SYSREQ_DXHWND 6
  80. #define global SYSREQ_DXWIDTH 7
  81. #define global SYSREQ_DXHEIGHT 8
  82. #define global SYSREQ_COLORKEY 9
  83. #define global SYSREQ_RESULT 10
  84. #define global SYSREQ_RESVMODE 11
  85. #define global SYSREQ_PKTSIZE 12
  86. #define global SYSREQ_MAXEVENT 13
  87. #define global SYSREQ_PTRD3D 14
  88. #define global SYSREQ_PTRD3DDEV 15
  89. #define global SYSREQ_MDLANIM 16
  90. #define global SYSREQ_2DFILTER 18
  91. #define global SYSREQ_3DFILTER 19
  92. #define global SYSREQ_OLDCAM 20
  93. #define global SYSREQ_QUATALG 21
  94. #define global SYSREQ_DXVSYNC 22
  95. #define global SYSREQ_DEFTIMER 23
  96. #define global SYSREQ_NOMIPMAP 24
  97. #define global SYSREQ_DEVLOST 25
  98. #define global SYSREQ_DEBUG $10000
  99.  
  100. #define event_delobj(%1) event_prmset %1,PRMSET_FLAG,0
  101.  
  102. #regcmd 18
  103. #cmd _hgini $00
  104. #cmd hgreset $01
  105. #cmd hgbye $02
  106. #cmd hgsetreq $03
  107. #cmd hggetreq $04
  108. #cmd hgdraw $05
  109. #cmd hgsync $06
  110. #cmd hgrect $07
  111. #cmd hgrotate $08
  112. #cmd hgsquare $09
  113. #cmd settex $0a
  114. #cmd setfont $0b
  115. #cmd falpha $0c
  116. #cmd fprt $0d
  117. #cmd setsizef $0e
  118. #cmd setbg $0f
  119. #cmd clscolor $10
  120. #cmd clsblur $11
  121. #cmd clstex $12
  122. #cmd texmake $13
  123. #cmd texcls $14
  124. #cmd texmes $15
  125. #cmd texdel $16
  126. #cmd setuv $17
  127. #cmd addspr $18
  128. #cmd regobj $19
  129. #cmd delobj $1a
  130. #cmd addplate $1b
  131. #cmd addsplate $1c
  132. #cmd setcolor $1d
  133. #cmd addbox $1e
  134. #cmd addmesh $1f
  135.  
  136. #cmd setpos $20
  137. #cmd setang $21
  138. #cmd setscale $22
  139. #cmd setdir $23
  140. #cmd setefx $24
  141. #cmd setwork $25
  142.  
  143. #cmd addpos $28
  144. #cmd addang $29
  145. #cmd addscale $2a
  146. #cmd adddir $2b
  147. #cmd addefx $2c
  148. #cmd addwork $2d
  149.  
  150. #cmd getpos $30
  151. #cmd getang $31
  152. #cmd getscale $32
  153. #cmd getdir $33
  154. #cmd getefx $34
  155. #cmd getwork $35
  156.  
  157. #cmd getposi $38
  158. #cmd getangi $39
  159. #cmd getscalei $3a
  160. #cmd getdiri $3b
  161. #cmd getefxi $3c
  162. #cmd getworki $3d
  163.  
  164. #cmd selpos $40
  165. #cmd selang $41
  166. #cmd selscale $42
  167. #cmd seldir $43
  168. #cmd selefx $44
  169. #cmd selwork $45
  170.  
  171. #define selcpos selpos HGOBJ_CAMERA
  172. #define selcang selang HGOBJ_CAMERA
  173. #define selcint seldir HGOBJ_CAMERA
  174.  
  175. #define sellpos selpos HGOBJ_LIGHT
  176. #define sellang selang HGOBJ_LIGHT
  177. #define sellcolor selscale HGOBJ_LIGHT
  178. #define sellambient seldir HGOBJ_LIGHT
  179.  
  180. #cmd objset1 $48
  181. #cmd objsetf1 $48
  182. #cmd objset1r $49
  183. #cmd objset2 $4a
  184. #cmd objsetf2 $4a
  185. #cmd objset2r $4b
  186. #cmd objset3 $4c
  187. #cmd objsetf3 $4c
  188. #cmd objset3r $4d
  189. #cmd objadd1 $4e
  190. #cmd objaddf1 $4e
  191. #cmd objadd1r $4f
  192. #cmd objadd2 $50
  193. #cmd objaddf2 $50
  194. #cmd objadd2r $51
  195. #cmd objadd3 $52
  196. #cmd objaddf3 $52
  197. #cmd objadd3r $53
  198.  
  199. #cmd adddxf $60
  200. #cmd modelscale $61
  201. #cmd texload2 $62
  202.  
  203. #cmd event_wait $63
  204. #cmd event_jump $64
  205. #cmd event_prmset $65
  206. #cmd event_prmon $66
  207. #cmd event_prmoff $67
  208. #cmd event_pos $68
  209. #cmd event_ang $69
  210. #cmd event_scale $6a
  211. #cmd event_dir $6b
  212. #cmd event_efx $6c
  213. #cmd event_work $6d
  214. #cmd event_angr $6f
  215. #cmd event_addpos $70
  216. #cmd event_addang $71
  217. #cmd event_addscale $72
  218. #cmd event_adddir $73
  219. #cmd event_addefx $74
  220. #cmd event_addwork $75
  221. #cmd event_addtarget $76
  222. #cmd event_addangr $77
  223. #cmd event_setpos $78
  224. #cmd event_setang $79
  225. #cmd event_setscale $7a
  226. #cmd event_setdir $7b
  227. #cmd event_setefx $7c
  228. #cmd event_setwork $7d
  229. #cmd event_setangr $7f
  230.  
  231. #cmd setevent $80
  232. #cmd delevent $81
  233. #cmd cammode $82
  234. #cmd addxfile $83
  235. #cmd getmdiffuse $84
  236. #cmd settoon $85
  237. #cmd setmonotoon $86
  238. #cmd settoonedge $87
  239. #cmd event_uv $88
  240. #cmd newevent $89
  241. #cmd setangr $8a
  242. #cmd addangr $8b
  243. #cmd getangr $8c
  244. #cmd setobjmode $8d
  245. #cmd setobjmodel $8e
  246. #cmd setcoli $8f
  247. #cmd enumobj $90
  248. #cmd getenum $91
  249. #cmd bindxfile $92
  250. #cmd addtexanim $93
  251. #cmd settexanimfile $94
  252. #cmd settexanimmode $95
  253. #cmd hgcnvaxis $96
  254.  
  255.  
  256. #cmd event_wpos $98
  257. #cmd event_wang $99
  258. #cmd event_wscale $9a
  259. #cmd event_wdir $9b
  260. #cmd event_wefx $9c
  261. #cmd event_wwait $9d
  262.  
  263.  
  264. #cmd fvset $9e
  265. #cmd fvseti $9e
  266. #cmd fvadd $9f
  267. #cmd fvsub $a0
  268. #cmd fvmul $a1
  269. #cmd fvdiv $a2
  270. #cmd fvdir $a3
  271. #cmd fvmin $a4
  272. #cmd fvmax $a5
  273. #cmd fvunit $a6
  274. #cmd fvouter $a7
  275. #cmd fvinner $a8
  276. #cmd fvface $a9
  277.  
  278. #define fsin(%1,%2) %1=sin(%2)
  279. #define fcos(%1,%2) %1=cos(%2)
  280. #define fsqr(%1,%2) %1=sqrt(%2)
  281. #define froti(%1,%2) %1=%2/6433.98175455188992
  282.  
  283. #cmd fv2str $aa
  284. #cmd f2str $ab
  285. #cmd str2fv $ac
  286. #cmd str2f $ad
  287.  
  288. #cmd objgetstr $ae
  289. #cmd objgetfv $af
  290. #cmd objgetv $b0
  291. #cmd objsetfv $b1
  292. #cmd objsetv $b2
  293. #cmd objaddfv $b3
  294.  
  295. #cmd selmoc $b4
  296. #cmd setborder $b5
  297. #cmd findobj $b6
  298. #cmd nextobj $b7
  299. #cmd getcoli $b8
  300. #cmd addxanim $b9
  301. #cmd objact $ba
  302. #cmd objspeed $bb
  303. #cmd getanim $bc
  304. #cmd modelspeed $bd
  305. #cmd hgline $be
  306. #cmd hgcapture $bf
  307. #cmd reglight $c0
  308. #cmd objlight $c1
  309. #cmd getxinfo $c2
  310. #cmd setxinfo $c3
  311. #cmd getobjcoli $c4
  312. #cmd getobjmodel $c5
  313. #cmd setcolvec $c6
  314. #cmd setcolscale $c6
  315. #cmd modelcols $c7
  316. #cmd objexist $c8
  317. #cmd modelshade $c9
  318. #cmd modelorder $ca
  319. #cmd addeprim $cb
  320. #cmd seteprim $cc
  321. #cmd objproj $cd
  322. #cmd event_regobj $ce
  323. #cmd objchild $cf
  324. #cmd event_eprim $d0
  325. #cmd event_aim $d1
  326. #cmd objaim $d2
  327. #cmd hgprm $d3
  328. #cmd event_objact $d4
  329. #cmd texopt $d5
  330. #cmd hgview $d6
  331. #cmd hggettime $d7
  332. #cmd hgsettime $d8
  333. #cmd meshmap $d9
  334. #cmd getvarmap $da
  335. #cmd objwalk $db
  336. #cmd objfloor $dc
  337. #cmd getcolvec $dd
  338. #cmd getnearobj $de
  339. #cmd delmodel $df
  340.  
  341. #cmd dmmini $e0
  342. #cmd dmmbye $e1
  343. #cmd dmmreset $e2
  344. #cmd dmmdel $e3
  345. #cmd dmmvol $e4
  346. #cmd dmmpan $e5
  347. #cmd dmmloop $e6
  348. #cmd dmmload $e7
  349. #cmd dmmplay $e8
  350. #cmd dmmstop $e9
  351. #cmd dmmstat $ea
  352.  
  353. #cmd fire_init $100
  354. #cmd fire_exec $101
  355. #cmd fire_set $102
  356. #cmd wave_init $103
  357. #cmd wave_apply $104
  358. #cmd wave_set $105
  359. #cmd mosaic_draw $106
  360. #cmd mosaic_set $107
  361.  
  362.  
  363. #module "HGIMG"
  364. #define global WORKSCR 3
  365.  
  366. #deffunc hgini int p1,int p2
  367.  
  368.     ;    initalize
  369.     ;
  370.     mref bm,67
  371.     hgmode = bm.3
  372.     _hgini p1,p2
  373.     ;
  374.     hgsel=ginfo(3)
  375.     buffer WORKSCR,128,128,hgmode
  376.     gsel hgsel
  377.     return
  378.  
  379.  
  380. #deffunc texload str fn
  381.  
  382.     ;    texture reg
  383.     ;
  384.     gsel WORKSCR
  385.     picload fn
  386.     winx=ginfo(12):winy=ginfo(13)
  387.  
  388.     px=1:repeat 12
  389.     if px>=winx : break
  390.     px=px<<1:loop
  391.     py=1:repeat 12
  392.     if py>=winy : break
  393.     py=py<<1:loop
  394.     if ( px!=winx )|( py!=winy ) {    ; 2^nâTâCâYé┼é╚éóÄ₧é═òΓÉ│
  395.         buffer WORKSCR,px,py,hgmode
  396.         cls 4
  397.         picload fn,1
  398.     }
  399.     settex winx,winy
  400.     if stat<0 : dialog "Texture Error("+stat+")" { gsel hgsel : return }
  401.     i=stat
  402.     await 0
  403.     gsel hgsel
  404.     return i
  405.  
  406.  
  407. #deffunc loadtoon int p1,str fn
  408.  
  409.     ;    Apply Toon Texture
  410.     ;
  411.     gsel WORKSCR
  412.     if fn!="" : picload fn
  413.     winx=ginfo(12):winy=ginfo(13)
  414.     settex winx,winy
  415.     if stat<0 : dialog "Texture Error("+stat+")" : gsel hgsel : return
  416.     texid=stat
  417.  
  418.     dim coltable,256
  419.     maxcolor=(winy/8)
  420.     repeat maxcolor
  421.         y=cnt*8:pget 0,y
  422.         coltable.cnt=(ginfo(16)<<16)|(ginfo(17)<<8)|ginfo(18)
  423.         ;dialog strf("#%x",coltable.cnt)
  424.     loop
  425.     settoon p1,coltable,maxcolor,texid
  426.     gsel hgsel
  427.     return
  428.  
  429.  
  430. #deffunc preloadtoon str fn
  431.  
  432.     ;    Apply Toon Texture
  433.     ;
  434.     gsel WORKSCR
  435.     picload fn
  436.     winx=ginfo(12):winy=ginfo(13)
  437.     settex winx,winy
  438.     if stat<0 : dialog "Texture Error("+stat+")" : gsel hgsel : return
  439.     texid=stat
  440.     dim coltable,256
  441.     maxcolor=(winy/8)
  442.     repeat maxcolor
  443.         y=cnt*8:pget 0,y
  444.         coltable.cnt=(ginfo(16)<<16)|(ginfo(17)<<8)|ginfo(18)
  445.         ;dialog strf("#%x",coltable.cnt)
  446.     loop
  447.     gsel hgsel
  448.     return
  449.  
  450.  
  451. #deffunc presettoon int p1, int p2
  452.     setmonotoon p1, $ffffff, p2, texid
  453.     return
  454.  
  455.  
  456. #deffunc maketoon int p1,int p2
  457.  
  458.     ;    Make a Toon Texture
  459.     ;
  460.     dim coltable,1024
  461.     getmdiffuse coltable, p1
  462.     maxcolor=stat
  463.     i=maxcolor*8
  464.     py=1:repeat 12
  465.     if py>=i : break
  466.     py=py<<1:loop
  467.     if py<128 : py=128
  468.  
  469.     buffer WORKSCR,128,py,0
  470.     ;screen 2,128,py,0
  471.     cls 1
  472.  
  473.     i=0:x1=40:x2=128
  474.     repeat maxcolor
  475.         y=i*8:col=coltable.cnt
  476.         repeat cnt
  477.         if col=coltable.cnt : y=-1
  478.         loop
  479.         if y>=0 {
  480.             ;cstr=0:cstr=col:str cstr,8+16
  481.             ;wbuf+="#"+i+":"+cstr+"\n"
  482.             c1=col&255:c2=(col>>8)&255:c3=(col>>16)&255
  483.             color c3>>1,c2>>1,c1>>1
  484.             boxf 0,y+4,x1,y+8
  485.             color c3,c2,c1
  486.             boxf x1,y+4,x2,y+8
  487.             boxf 0,y,x2,y+3
  488.             i++
  489.         }
  490.     loop
  491.     ;bsave "a.txt",wbuf
  492.  
  493.     if p2&1 {
  494.         settex 128,py
  495.         if stat<0 : dialog "Texture Error("+stat+")" : gsel hgsel : return
  496.         texid=stat
  497.         maxcolor=(py/8)
  498.         repeat maxcolor
  499.             y=cnt*8:pget 0,y
  500.             coltable.cnt=(ginfo(16)<<16)|(ginfo(17)<<8)|ginfo(18)
  501.         loop
  502.         settoon p1,coltable,maxcolor,texid
  503.     }
  504.     if p2&2 {
  505.         bmpsave "toon.bmp"
  506.     }
  507.  
  508.     gsel hgsel
  509.     return
  510.  
  511.  
  512.  
  513. #global
  514.  
  515.  
  516. #endif
  517.  
  518.