;
; HSP3.0 Default define and macros
;
#ifdef __hsp30__
#ifndef __hspdef__
#define __hspdef__
#addition "userdef.as"

#define global and &
#define global or |
#define global xor ^
#define global not !

#define global screen_normal (0)
#define global screen_palette (1)
#define global screen_hide (2)
#define global screen_fixedsize (4)
#define global screen_tool (8)
#define global screen_frame (16)

#define global gmode_gdi (0)
#define global gmode_mem (1)
#define global gmode_rgb0 (2)
#define global gmode_alpha (3)
#define global gmode_rgb0alpha (4)
#define global gmode_add (5)
#define global gmode_sub (6)
#define global gmode_pixela (7)

#define global ginfo_mx ginfo(0)
#define global ginfo_my ginfo(1)
#define global ginfo_act ginfo(2)
#define global ginfo_sel ginfo(3)
#define global ginfo_wx1 ginfo(4)
#define global ginfo_wy1 ginfo(5)
#define global ginfo_wx2 ginfo(6)
#define global ginfo_wy2 ginfo(7)
#define global ginfo_vx ginfo(8)
#define global ginfo_vy ginfo(9)
#define global ginfo_sizex ginfo(10)
#define global ginfo_sizey ginfo(11)
#define global ginfo_winx ginfo(12)
#define global ginfo_winy ginfo(13)
#define global ginfo_mesx ginfo(14)
#define global ginfo_mesy ginfo(15)
#define global ginfo_r ginfo(16)
#define global ginfo_g ginfo(17)
#define global ginfo_b ginfo(18)
#define global ginfo_paluse ginfo(19)
#define global ginfo_dispx ginfo(20)
#define global ginfo_dispy ginfo(21)
#define global ginfo_cx ginfo(22)
#define global ginfo_cy ginfo(23)
#define global ginfo_intid ginfo(24)
#define global ginfo_newid ginfo(25)
#define global ginfo_sx ginfo(26)
#define global ginfo_sy ginfo(27)

#define global ctype objinfo_mode(%1) objinfo(%1,0)
#define global ctype objinfo_bmscr(%1) objinfo(%1,1)
#define global ctype objinfo_hwnd(%1) objinfo(%1,2)

#define global notemax noteinfo(0)
#define global notesize noteinfo(1)

#define global dir_cur dirinfo(0)
#define global dir_exe dirinfo(1)
#define global dir_win dirinfo(2)
#define global dir_sys dirinfo(3)
#define global dir_cmdline dirinfo(4)
#define global dir_desktop dirinfo($10000)
#define global dir_mydoc dirinfo($10005)

#define global font_normal (0)
#define global font_bold (1)
#define global font_italic (2)
#define global font_underline (4)
#define global font_strikeout (8)
#define global font_antialias (16)

#define global objmode_normal (0)
#define global objmode_guifont (1)
#define global objmode_usefont (2)

#define global gsquare_grad (-257)

#define global msgothic "‚l‚r ƒSƒVƒbƒN"
#define global msmincho "‚l‚r –¾’©"

#define global do  %tbreak %i0 %tcontinue %i0 %tdo *%i
#define global until(%1=1) %tcontinue *%o : %tdo if (%1)=0 { goto *%o } %tbreak *%o
#define global while(%1=1) %tcontinue %i0 %twhile *%i :%tbreak if (%1)=0 { goto *%i }
#define global wend %tcontinue *%o : %twhile goto *%o: %tbreak *%o
#define global for(%1,%2=0,%3=0,%4=1) %tcontinue %i0 %tfor %1=%2:*%i %s4 %s1 :%tbreak exgoto %1,%4,%3,*%i
#define global next %tcontinue *%o :%tfor %o +=%o :goto *%o :%tbreak *%o
#define global _break %tbreak goto *%p
#define global _continue %tcontinue goto *%p

#define global switch(%1) %tswitch %i0 %s1 _switch_val=%p : if 0 {
#define global case(%1) %tswitch _switch_sw++} if _switch_val == (%1) | _switch_sw { _switch_sw = 0

#define global default %tswitch } if 1 {
#define global swbreak %tswitch goto *%p1
#define global swend %tswitch %o0 } *%o

#define global ddim(%1,%2,%3=0,%4=0,%5=0) dimtype %1,3,%2,%3,%4,%5
#define global ldim(%1,%2,%3=0,%4=0,%5=0) dimtype %1,1,%2,%3,%4,%5
#define global alloc sdim

#define global M_PI	3.14159265358979323846
#define global ctype rad2deg(%1)       (57.295779513082320877*(%1))
#define global ctype deg2rad(%1)       (0.017453292519943295769*(%1))
#define global ctype powf(%1,%2)        expf(logf(%1)*(%2))


#ifndef _DEBUG
#undef assert
#define global assert(%1) :
#undef logmes
#define global logmes(%1) :
#endif

#endif

#else
#addition "hsp261cmp.as"

#endif
