ENIGMA Progress
Keep track of ENIGMA's development here. If you wish to report a bug please go to the
forums.
Currently completed (functional) major systems:
- Objects/instances
- Sprites
- Surfaces
- Datatype "var"
Currently completed functions:
Key:
Not Started
Claimed (in progress or soon to be)Finished
Computing things
REAL-VALUED FUNCTIONS
[+]
random(x)
random_set_seed(seed)
random_get_seed()
randomize()
choose(val1,val2,val3,...)
abs(x)
sign(x)
round(x)
floor(x)
ceil(x)
frac(x)
sqrt(x)
sqr(x)
power(x,n)
exp(x)
ln(x)
log2(x)
log10(x)
logn(n,x)
sin(x)
cos(x)
tan(x)
arcsin(x)
arccos(x)
arctan(x)
arctan2(y,x)
degtorad(x)
radtodeg(x)
min(val1,val2,val3,...)
max(val1,val2,val3,...)
mean(val1,val2,val3,...)
median(val1,val2,val3,...)
point_distance(x1,y1,x2,y2)
point_direction(x1,y1,x2,y2)
lengthdir_x(len,dir)
lengthdir_y(len,dir)
is_real(x)
is_string(x)
STRING HANDLING FUNCTIONS
[+]
chr(val)
ord(str)
real(str)
string(val)
string_format(val,tot,dec)
string_length(str)
string_pos(substr,str)
string_copy(str,index,count)
string_char_at(str,index)
string_delete(str,index,count)
string_insert(substr,str,index)
string_replace(str,substr,newstr)
string_replace_all(str,substr,newstr)
string_count(substr,str)
string_lower(str)
string_upper(str)
string_repeat(str,count)
string_letters(str)
string_digits(str)
clipboard_has_text()
clipboard_get_text()
clipboard_set_text(str)
DEALING WITH DATES AND TIME
[+]
date_current_datetime()
date_current_date()
date_current_time()
date_create_datetime(year,month,day,hour,minute,second)
date_create_date(year,month,day)
date_create_time(hour,minute,second)
date_valid_datetime(year,month,day,hour,minute,second)
date_valid_date(year,month,day)
date_valid_time(hour,minute,second)
date_inc_year(date,amount)
date_inc_month(date,amount)
date_inc_week(date,amount)
date_inc_day(date,amount)
date_inc_hour(date,amount)
date_inc_minute(date,amount)
date_inc_second(date,amount)
date_get_year(date)
date_get_month(date)
date_get_week(date)
date_get_day(date)
date_get_hour(date)
date_get_minute(date)
date_get_second(date)
date_get_weekday(date)
date_get_day_of_year(date)
date_get_hour_of_year(date)
date_get_minute_of_year(date)
date_get_second_of_year(date)
date_year_span(date1,date2)
date_month_span(date1,date2)
date_week_span(date1,date2)
date_day_span(date1,date2)
date_hour_span(date1,date2)
date_minute_span(date1,date2)
date_second_span(date1,date2)
date_compare_datetime(date1,date2)
date_compare_date(date1,date2)
date_compare_time(date1,date2)
date_date_of(date)
date_time_of(date)
date_datetime_string(date)
date_date_string(date)
date_time_string(date)
date_days_in_month(date)
date_days_in_year(date)
date_leap_year(date)
date_is_today(date)
Game play
MOVING AROUND
[+]
place_free(x,y)
place_empty(x,y)
place_meeting(x,y,obj)
place_snapped(hsnap,vsnap)
move_random(hsnap,vsnap)
move_snap(hsnap,vsnap)
move_wrap(hor,vert,margin)
move_towards_point(x,y,sp)
move_bounce_solid(adv)
move_bounce_all(adv)
move_contact_solid(dir,maxdist)
move_contact_all(dir,maxdist)
move_outside_solid(dir,maxdist)
move_outside_all(dir,maxdist)
distance_to_point(x,y)
distance_to_object(obj)
position_empty(x,y)
position_meeting(x,y,obj)
PATHS
[+]
path_start(path,speed,endaction,absolute)
path_end()
MOTION PLANNING
[+]
mp_linear_step(x,y,stepsize,checkall)
mp_potential_step(x,y,stepsize,checkall)
mp_potential_step_object(x,y,stepsize,obj)
mp_potential_settings(maxrot,rotstep,ahead,onspot)
mp_linear_path(path,xg,yg,stepsize,checkall)
mp_linear_path_object(path,xg,yg,stepsize,obj)
mp_potential_path(path,xg,yg,stepsize,factor,checkall)
mp_potential_path_object(path,xg,yg,stepsize,factor,obj)
mp_grid_create(left,top,hcells,vcells,cellwidth,cellheight)
mp_grid_destroy(id)
mp_grid_clear_all(id)
mp_grid_clear_cell(id,h,v)
mp_grid_clear_rectangle(id,left,top,right,bottom)
mp_grid_add_cell(id,h,v)
mp_grid_add_rectangle(id,left,top,right,bottom)
mp_grid_add_instances(id,obj,prec)
mp_grid_path(id,path,xstart,ystart,xgoal,ygoal,allowdiag)
mp_grid_draw(id)
COLLISION CHECKING
[+]
collision_point(x,y,obj,prec,notme)
collision_rectangle(x1,y1,x2,y2,obj,prec,notme)
collision_circle(xc,yc,radius,obj,prec,notme)
collision_ellipse(x1,y1,x2,y2,obj,prec,notme)
collision_line(x1,y1,x2,y2,obj,prec,notme)
INSTANCES
[+]
instance_find(obj,n)
instance_exists(obj)
instance_number(obj)
instance_position(x,y,obj)
instance_nearest(x,y,obj)
instance_furthest(x,y,obj)
instance_place(x,y,obj)
instance_create(x,y,obj)
instance_copy(performevent)
instance_destroy()
instance_change(obj,perf)
position_destroy(x,y)
position_change(x,y,obj,perf)
DEACTIVATING INSTANCES
[+]
instance_deactivate_all(notme)
instance_deactivate_object(obj)
instance_deactivate_region(left,top,width,height,inside,notme)
instance_activate_all()
instance_activate_object(obj)
instance_activate_region(left,top,width,height,inside)
TIMING
[+]
sleep(numb)
ROOMS
[+]
room_goto(numb)
room_goto_previous()
room_goto_next()
room_restart()
room_previous(numb)
room_next(numb)
game_end()
game_restart()
game_save(string)
game_load(string)
transition_define(kind,name)
transition_exists(kind)
GENERATING EVENTS
[+]
event_perform(type,numb)
event_perform_object(obj,type,numb)
event_user(numb)
event_inherited()
MISCELLANEOUS VARIABLES AND FUNCTIONS
[+]
show_debug_message(str)
variable_global_exists(name)
variable_local_exists(name)
variable_global_get(name)
variable_global_array_get(name,ind)
variable_global_array2_get(name,ind1,ind2)
variable_local_get(name)
variable_local_array_get(name,ind)
variable_local_array2_get(name,ind1,ind2)
variable_global_set(name,value)
variable_global_array_set(name,ind,value)
variable_global_array2_set(name,ind1,ind2,value)
variable_local_set(name,value)
variable_local_array_set(name,ind,value)
set_program_priority(priority)
User Interaction
THE KEYBOARD
[+]
keyboard_set_map(key1,key2)
keyboard_get_map(key)
keyboard_unset_map()
keyboard_check(key)
keyboard_check_pressed(key)
keyboard_check_released(key)
keyboard_check_direct(key)
keyboard_get_numlock()
keyboard_set_numlock(on)
keyboard_key_press(key)
keyboard_key_release(key)
keyboard_clear(key)
io_clear() // What the heck does
io_handle() // Mark think these do?
keyboard_wait()
THE MOUSE
[+]
mouse_check_button(numb)
mouse_check_button_pressed(numb)
mouse_check_button_released(numb)
mouse_clear(button)
THE JOYSTICK
[+]
joystick_exists(id)
joystick_name(id)
joystick_axes(id)
joystick_buttons(id)
joystick_has_pov(id)
joystick_direction(id)
joystick_check_button(id,numb)
joystick_xpos(id)
joystick_ypos(id)
joystick_zpos(id)
joystick_rpos(id)
joystick_upos(id)
joystick_vpos(id)
joystick_pov(id)
Game Graphics
DRAWING SPRITES AND BACKGROUNDS
[+]
draw_sprite(sprite,subimg,x,y)
draw_sprite_stretched(sprite,subimg,x,y,w,h)
draw_sprite_tiled(sprite,subimg,x,y)
draw_sprite_part(sprite,subimg,left,top,width,height,x,y)
draw_background(back,x,y)
draw_background_stretched(back,x,y,w,h)
draw_background_tiled(back,x,y)
draw_background_part(back,left,top,width,height,x,y)
draw_sprite_ext(sprite,subimg,x,y,xscale,yscale,rot,color,alpha)
draw_sprite_stretched_ext(sprite,subimg,x,y,w,h,color,alpha)
draw_sprite_tiled_ext(sprite,subimg,x,y,xscale,yscale,color,alpha)
draw_sprite_part_ext(sprite,subimg,left,top,width,height,x,y,xscale,yscale,color,alpha)
draw_sprite_general(sprite,subimg,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha)
draw_background_ext(back,x,y,xscale,yscale,rot,color,alpha)
draw_background_stretched_ext(back,x,y,w,h,color,alpha)
draw_background_tiled_ext(back,x,y,xscale,yscale,color,alpha)
draw_background_part_ext(back,left,top,width,height,x,y,xscale,yscale,color,alpha)
draw_background_general(back,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha)
DRAWING SHAPES
[+]
draw_clear(col)
draw_clear_alpha(col,alpha)
draw_point(x,y)
draw_line(x1,y1,x2,y2)
draw_line_width(x1,y1,x2,y2,w)
draw_rectangle(x1,y1,x2,y2,outline)
draw_roundrect(x1,y1,x2,y2,outline)
draw_triangle(x1,y1,x2,y2,x3,y3,outline)
draw_circle(x,y,r,outline)
draw_ellipse(x1,y1,x2,y2,outline)
draw_set_circle_precision(precision)
draw_arrow(x1,y1,x2,y2,size)
draw_button(x1,y1,x2,y2,up)
draw_path(path,x,y,absolute)
draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder)
draw_set_color(col)
draw_set_alpha(alpha)
draw_get_color()
draw_get_alpha()
make_color_rgb(red,green,blue)
make_color_hsv(hue,saturation,value)
color_get_red(col)
color_get_green(col)
color_get_blue(col)
color_get_hue(col)
color_get_saturation(col)
color_get_value(col)
merge_color(col1,col2,amount)
draw_getpixel(x,y)
screen_save(fname)
screen_save_part(fname,x,y,w,h)
FONTS AND TEXT
[+]
draw_set_font(font)
draw_set_halign(halign)
draw_set_valign(valign)
draw_text(x,y,string)
draw_text_ext(x,y,string,sep,w)
string_width(string)
string_height(string)
string_width_ext(string,sep,w)
string_height_ext(string,sep,w)
draw_text_transformed(x,y,string,xscale,yscale,angle)
draw_text_ext_transformed(x,y,string,sep,w,xscale,yscale,angle)
draw_text_color(x,y,string,c1,c2,c3,c4,alpha)
draw_text_ext_color(x,y,string,sep,w,c1,c2,c3,c4,alpha)
draw_text_transformed_color(x,y,string,xscale,yscale,angle,c1,c2,c3,c4,alpha)
draw_text_ext_transformed_color(x,y,string,sep,w,xscale,yscale,angle,c1,c2,c3,c4,alpha)
ADVANCED DRAWING FUNCTIONS
[+]
draw_point_color(x,y,col1)
draw_line_color(x1,y1,x2,y2,col1,col2)
draw_line_width_color(x1,y1,x2,y2,w,col1,col2)
draw_rectangle_color(x1,y1,x2,y2,col1,col2,col3,col4,outline)
draw_roundrect_color(x1,y1,x2,y2,col1,col2,outline)
draw_triangle_color(x1,y1,x2,y2,x3,y3,col1,col2,col3,outline)
draw_circle_color(x,y,r,col1,col2,outline)
draw_ellipse_color(x1,y1,x2,y2,col1,col2,outline)
draw_primitive_begin(kind)
draw_vertex(x,y)
draw_vertex_color(x,y,col,alpha)
draw_primitive_end()
sprite_get_texture(spr,subimg)
background_get_texture(back)
texture_preload(texid)
texture_set_priority(texid,prio)
texture_get_width(texid)
texture_get_height(texid)
draw_primitive_begin_texture(kind,texid)
draw_vertex_texture(x,y,xtex,ytex)
draw_vertex_texture_color(x,y,xtex,ytex,col,alpha)
draw_primitive_end()
texture_set_interpolation(linear)
texture_set_blending(blend)
texture_set_repeat(repeat)
draw_set_blend_mode(mode)
draw_set_blend_mode_ext(src,dest)
DRAWING SURFACES
[+]
surface_create(w,h)
surface_free(id)
surface_exists(id)
surface_get_width(id)
surface_get_height(id)
surface_get_texture(id)
surface_set_target(id)
surface_reset_target()
surface_getpixel(id,x,y)
surface_save(id,fname)
surface_save_part(id,fname,x,y,w,h)
draw_surface(id,x,y)
draw_surface_stretched(id,x,y,w,h)
draw_surface_tiled(id,x,y)
draw_surface_part(id,left,top,width,height,x,y)
draw_surface_ext(id,x,y,xscale,yscale,rot,color,alpha)
draw_surface_stretched_ext(id,x,y,w,h,color,alpha)
draw_surface_tiled_ext(id,x,y,xscale,yscale,color,alpha)
draw_surface_part_ext(id,left,top,width,height,x,y,xscale,yscale,color,alpha)
draw_surface_general(id,left,top,width,height,x,y,xscale,yscale,rot,c1,c2,c3,c4,alpha)
surface_copy(destination,x,y,source)
surface_copy_part(destination,x,y,source,xs,ys,ws,hs)
TILES
[+]
tile_add(background,left,top,width,height,x,y,depth)
tile_delete(id)
tile_exists(id)
tile_get_x(id)
tile_get_y(id)
tile_get_left(id)
tile_get_top(id)
tile_get_width(id)
tile_get_height(id)
tile_get_depth(id)
tile_get_visible(id)
tile_get_xscale(id)
tile_get_yscale(id)
tile_get_background(id)
tile_get_blend(id)
tile_get_alpha(id)
tile_set_position(id,x,y)
tile_set_region(id,left,right,width,height) S
tile_set_background(id,background)
tile_set_visible(id,visible)
tile_set_depth(id,depth)
tile_set_scale(id,xscale,yscale)
tile_set_blend(id,color)
tile_set_alpha(id,alpha)
tile_layer_hide(depth)
tile_layer_show(depth)
tile_layer_delete(depth)
tile_layer_shift(depth,x,y)
tile_layer_find(depth,x,y)
tile_layer_delete_at(depth,x,y)
tile_layer_depth(depth,newdepth)
THE DISPLAY
[+]
display_get_width()
display_get_height()
display_get_colordepth()
display_get_frequency()
display_set_size(w,h)
display_set_colordepth(coldepth)
display_set_frequency(frequency)
display_set_all(w,h,frequency,coldepth)
display_test_all(w,h,frequency,coldepth)
display_reset()
display_mouse_get_x()
display_mouse_get_y()
display_mouse_set(x,y)
THE WINDOW
[+]
window_set_visible(visible)
window_get_visible()
window_set_fullscreen(full)
window_get_fullscreen()
window_set_showborder(show)
window_get_showborder()
window_set_showicons(show)
window_get_showicons()
window_set_stayontop(stay)
window_get_stayontop()
window_set_sizeable(sizeable)
window_get_sizeable()
window_set_caption(caption)
window_get_caption()
window_set_cursor(curs)
window_get_cursor()
window_set_color(color)
window_get_color()
window_set_region_scale(scale,adaptwindow)
window_get_region_scale()
window_set_position(x,y)
window_set_size(w,h)
window_set_rectangle(x,y,w,h)
window_center()
window_default()
window_get_x()
window_get_y()
window_get_width()
window_get_height()
window_mouse_get_x()
window_mouse_get_y()
window_mouse_set(x,y)
window_set_region_size(w,h,adaptwindow)
window_get_region_width()
window_get_region_height()
window_view_mouse_get_x(id)
window_view_mouse_get_y(id)
window_view_mouse_set(id,x,y)
window_views_mouse_get_x()
window_views_mouse_get_y()
window_views_mouse_set(x,y)
REPAINTING THE SCREEN
[+]
screen_redraw()
screen_refresh()
set_automatic_draw(value)
set_synchronization(value)
screen_wait_vsync()
Sound and music
BASIC SOUND FUNCTIONS
[+]
sound_play(index)
sound_loop(index)
sound_stop(index)
sound_stop_all()
sound_isplaying(index)
sound_volume(index,value)
sound_global_volume(value)
sound_fade(index,value,time)
sound_pan(index,value)
sound_background_tempo(factor)
sound_set_search_directory(dir)
SOUND EFFECTS
[+]
sound_effect_set(snd,effect)
sound_effect_chorus(snd,wetdry,depth,feedback,frequency,wave,delay,phase)
sound_effect_echo(snd,wetdry,feedback,leftdelay,rightdelay,pandelay)
sound_effect_flanger(snd,wetdry,depth,feedback,frequency,wave,delay,phase)
sound_effect_gargle(snd,rate,wave)
sound_effect_reverb(snd,gain,mix,time,ratio)
sound_effect_compressor(snd,gain,attack,release,threshold,ratio,delay)
sound_effect_equalizer(snd,center,bandwidth,gain)
3D SOUND
[+]
sound_3d_set_sound_position(snd,x,y,z)
sound_3d_set_sound_velocity(snd,x,y,z)
sound_3d_set_sound_distance(snd,mindist,maxdist)
sound_3d_set_sound_cone(snd,x,y,z,anglein,angleout,voloutside)
CD MUSIC
[+]
cd_init()
cd_present()
cd_number()
cd_playing()
cd_paused()
cd_track()
cd_length()
cd_track_length(n)
cd_position()
cd_track_position()
cd_play(first,last)
cd_stop()
cd_pause()
cd_resume()
cd_set_position(pos)
cd_set_track_position(pos)
cd_open_door()
cd_close_door()
MCI_command(str)
SPLASH SCREENS
[+]
splash_show_video(fname,loop)
splash_show_text(fname,delay)
splash_show_image(fname,delay)
POP-UP MESSAGES AND QUESTIONS
[+]
show_message(str)
show_message_ext(str,but1,but2,but3)
show_question(str)
get_integer(str,def)
get_string(str,def)
message_alpha(alpha)
message_button(spr)
message_text_font(name,size,color,style)
message_button_font(name,size,color,style)
message_input_font(name,size,color,style)
message_mouse_color(col)
message_input_color(col)
message_caption(show,str)
message_position(x,y)
message_size(w,h)
show_menu(str,def)
show_menu_pos(x,y,str,def)
get_color(defcol)
get_open_filename(filter,fname)
get_save_filename(filter,fname)
get_directory(dname)
get_directory_alt(capt,root)
show_error(str,abort)
HIGHSCORE LIST
[+]
highscore_show(numb)
highscore_set_background(back)
highscore_set_border(show)
highscore_set_font(name,size,style)
highscore_set_colors(back,new,other)
highscore_set_strings(caption,nobody,escape)
highscore_show_ext(numb,back,border,col1,col2,name,size)
highscore_clear()
highscore_add(str,numb)
highscore_add_current()
highscore_value(place)
highscore_name(place)
draw_highscore(x1,y1,x2,y2)
Resources
SPRITES
[+]
sprite_exists(ind)
sprite_get_name(ind)
sprite_get_number(ind)
sprite_get_width(ind)
sprite_get_height(ind)
sprite_get_transparent(ind)
sprite_get_smooth(ind)
sprite_get_preload(ind)
sprite_get_xoffset(ind)
sprite_get_yoffset(ind)
sprite_get_bbox_left(ind)
sprite_get_bbox_right(ind)
sprite_get_bbox_top(ind)
sprite_get_bbox_bottom(ind)
sprite_get_bbox_mode(ind)
sprite_get_precise(ind)
sprite_save(ind,subimg,fname)
SOUNDS
[+]
sound_exists(ind)
sound_get_name(ind)
sound_get_kind(ind)
sound_get_preload(ind)
sound_discard(index)
sound_restore(index)
BACKGROUNDS
[+]
background_exists(ind)
background_get_name(ind)
background_get_width(ind)
background_get_height(ind)
background_get_transparent(ind)
background_get_smooth(ind)
background_get_preload(ind)
background_save(ind,fname)
PATHS
[+]
path_exists(ind)
path_get_name(ind)
path_get_length(ind)
path_get_kind(ind)
path_get_closed(ind)
path_get_precision(ind)
path_get_number(ind)
path_get_point_x(ind,n)
path_get_point_y(ind,n)
path_get_point_speed(ind,n)
path_get_x(ind,pos)
path_get_y(ind,pos)
path_get_speed(ind,pos)
SCRIPTS
[+]
script_exists(ind)
script_get_name(ind)
script_get_text(ind)
TIMELINES
[+]
timeline_exists(ind)
timeline_get_name(ind)
OBJECTS
[+]
object_exists(ind)
object_get_name(ind)
object_get_sprite(ind)
object_get_solid(ind)
object_get_visible(ind)
object_get_depth(ind)
object_get_persistent(ind)
object_get_mask(ind)
object_get_parent(ind)
object_is_ancestor(ind1,ind2)
ROOMS
[+]
room_exists(ind)
room_get_name(ind)
Changing Resources
CHANGING SPRITES
[+]
sprite_set_offset(ind,xoff,yoff)
sprite_set_bbox_mode(ind,mode)
sprite_set_bbox(ind,left,top,right,bottom)
sprite_set_precise(ind,mode)
sprite_duplicate(ind)
sprite_assign(ind,spr)
sprite_merge(ind1,ind2)
sprite_add(fname,imgnumb,precise,transparent,smooth,preload,xorig,yorig)
sprite_add_alpha(fname,imgnumb,precise,preload,xorig,yorig)
sprite_replace(ind,fname,imgnumb,precise,transparent,smooth,preload,xorig,yorig)
sprite_replace_alpha(ind,fname,imgnumb,precise,preload,xorig,yorig)
sprite_create_from_screen(x,y,w,h,precice)
sprite_add_from_screen(ind,x,y,w,h)
sprite_create_from_surface(id,x,y,w,h,p)
sprite_add_from_surface(ind,id,x,y,w,h)
sprite_delete(ind)
sprite_set_alpha_from_sprite(ind,spr)
CHANGING SOUNDS
[+]
sound_add(fname,kind,preload)
sound_replace(index,fname,kind,preload)
sound_delete(index)
CHANGING BACKGROUNDS
[+]
background_duplicate(ind)
background_assign(ind,back)
background_add(fname,transparent,smooth,preload)
background_add_alpha(fname,preload)
background_replace(ind,fname,transparent,smooth,preload)
background_replace_alpha(ind,fname,preload)
background_create_color(w,h,col,preload)
background_create_gradient(w,h,col1,col2,kind,preload)
background_create_from_screen(x,y,w,h,transparent,smooth,preload)
background_create_from_surface(id,x,y,w,h,transparent,smooth,preload)
background_delete(ind)
background_set_alpha_from_background(ind,back)
CHANGING FONTS
[+]
font_exists(ind)
font_get_name(ind)
font_get_fontname(ind)
font_get_bold(ind)
font_get_italic(ind)
font_get_first(ind)
font_get_last(ind)
font_add(name,size,bold,italic,first,last)
font_add_sprite(spr,first,prop,sep)
font_replace(ind,name,size,bold,italic,first,last)
font_replace_sprite(ind,spr,first,prop,sep)
font_delete(ind)
CHANGING PATHS
[+]
path_set_kind(ind,val)
path_set_closed(ind,closed)
path_set_precision(ind,prec)
path_add()
path_delete(ind)
path_duplicate(ind)
path_assign(ind,path)
path_append(ind,path)
path_add_point(ind,x,y,speed)
path_insert_point(ind,n,x,y,speed)
path_change_point(ind,n,x,y,speed)
path_delete_point(ind,n)
path_clear_points(ind)
path_reverse(ind)
path_mirror(ind)
path_flip(ind)
path_rotate(ind,angle)
path_scale(ind,xscale,yscale)
path_shift(ind,xshift,yshift)
CHANGING SCRIPTS
[+]
execute_string(str,arg0,arg1,...)
execute_file(fname,arg0,arg1,...)
script_execute(scr,arg0,arg1,...)
CHANGING TIME LINES
[+]
timeline_add()
timeline_delete(ind)
timeline_moment_add(ind,step,codestr)
timeline_moment_clear(ind,step)
CHANGING OBJECTS
[+]
object_set_sprite(ind,spr)
object_set_solid(ind,solid)
object_set_visible(ind,vis)
object_set_depth(ind,depth)
object_set_persistent(ind,pers)
object_set_mask(ind,spr)
object_set_parent(ind,obj)
object_add()
object_delete(ind)
object_event_add(ind,evtype,evnumb,codestr)
object_event_clear(ind,evtype,evnumb)
CHANGING ROOMS
[+]
room_set_width(ind,w)
room_set_height(ind,h)
room_set_caption(ind,str)
room_set_persistent(ind,val)
room_set_code(ind,str)
room_set_background_color(ind,col,show)
room_set_background(ind,bind,vis,fore,back,x,y,htiled,vtiled,hspeed,vspeed,alpha)
room_set_view(ind,vind,vis,xview,yview,wview,hview,xport,yport,wport,hport,hborder,vborder,hspeed,vspeed,obj)
room_set_view_enabled(ind,val)
room_add()
room_duplicate(ind)
room_assign(ind,room)
room_instance_add(ind,x,y,obj)
room_instance_clear(ind)
room_tile_add(ind,back,left,top,width,height,x,y,depth)
room_tile_add_ext(ind,back,left,top,width,height,x,y,depth,xscale,yscale,alpha)
room_tile_clear(ind)
Files, registry and executing programs
FILES
[+]
file_text_open_read(fname)
file_text_open_write(fname)
file_text_open_append(fname)
file_text_close(fileid)
file_text_write_string(fileid,str)
file_text_write_real(fileid,x)
file_text_writeln(fileid)
file_text_read_string(fileid)
file_text_read_real(fileid)
file_text_readln(fileid)
file_text_eof(fileid)
file_exists(fname)
file_delete(fname)
file_rename(oldname,newname)
file_copy(fname,newname)
directory_exists(dname)
directory_create(dname)
file_find_first(mask,attr)
file_find_next()
file_find_close()
file_attributes(fname,attr)
filename_name(fname)
filename_path(fname)
filename_dir(fname)
filename_drive(fname)
filename_ext(fname)
filename_change_ext(fname,newext)
file_bin_open(fname,mod)
file_bin_rewrite(fileid)
file_bin_close(fileid)
file_bin_size(fileid)
file_bin_position(fileid)
file_bin_seek(fileid,pos)
file_bin_write_byte(fileid,byte)
file_bin_read_byte(fileid)
export_include_file(fname)
export_include_file_location(fname,location)
discard_include_file(fname)
parameter_count()
parameter_string(n)
environment_get_variable(name)
REGISTRY
[+]
registry_write_string(name,str)
registry_write_real(name,x)
registry_read_string(name)
registry_read_real(name)
registry_exists(name)
registry_write_string_ext(key,name,str)
registry_write_real_ext(key,name,x)
registry_read_string_ext(key,name)
registry_read_real_ext(key,name)
registry_exists_ext(key,name)
registry_set_root(root)
INI FILES
[+]
ini_open(name)
ini_close()
ini_read_string(section,key,default)
ini_read_real(section,key,default)
ini_write_string(section,key,value)
ini_write_real(section,key,value)
ini_key_exists(section,key)
ini_section_exists(section)
ini_key_delete(section,key)
ini_section_delete(section)
EXECUTING PROGRAMS
[+]
execute_program(prog,arg,wait)
execute_shell(prog,arg)
Data Structures
STACKS
[+]
ds_stack_create()
ds_stack_destroy(id)
ds_stack_clear(id)
ds_stack_copy(id,source)
ds_stack_size(id)
ds_stack_empty(id)
ds_stack_push(id,val)
ds_stack_pop(id)
ds_stack_top(id)
ds_stack_write(id)
ds_stack_read(id,str)
QUEUES
[+]
ds_queue_create()
ds_queue_destroy(id)
ds_queue_clear(id)
ds_queue_copy(id,source)
ds_queue_size(id)
ds_queue_empty(id)
ds_queue_enqueue(id,val)
ds_queue_dequeue(id)
ds_queue_head(id)
ds_queue_tail(id)
ds_queue_write(id)
ds_queue_read(id,str)
LISTS
[+]
ds_list_create()
ds_list_destroy(id)
ds_list_clear(id)
ds_list_copy(id,source)
ds_list_size(id)
ds_list_empty(id)
ds_list_add(id,val)
ds_list_insert(id,pos,val)
ds_list_replace(id,pos,val)
ds_list_delete(id,pos)
ds_list_find_index(id,val)
ds_list_find_value(id,pos)
ds_list_sort(id,ascend)
ds_list_shuffle(id)
ds_list_write(id)
ds_list_read(id,str)
MAPS
[+]
ds_map_create()
ds_map_destroy(id)
ds_map_clear(id)
ds_map_copy(id,source)
ds_map_size(id)
ds_map_empty(id)
ds_map_add(id,key,val)
ds_map_replace(id,key,val)
ds_map_delete(id,key)
ds_map_exists(id,key)
ds_map_find_value(id,key)
ds_map_find_previous(id,key)
ds_map_find_next(id,key)
ds_map_find_first(id)
ds_map_find_last(id)
ds_map_write(id)
ds_map_read(id,str)
PRIORITY QUEUES
[+]
ds_priority_create()
ds_priority_destroy(id)
ds_priority_clear(id)
ds_priority_copy(id,source)
ds_priority_size(id)
ds_priority_empty(id)
ds_priority_add(id,val,prio)
ds_priority_change_priority(id,val,prio)
ds_priority_find_priority(id,val)
ds_priority_delete_value(id,val)
ds_priority_delete_min(id)
ds_priority_find_min(id)
ds_priority_delete_max(id)
ds_priority_find_max(id)
ds_priority_write(id)
ds_priority_read(id,str)
GRIDS
[+]
ds_grid_create(w,h)
ds_grid_destroy(id)
ds_grid_copy(id,source)
ds_grid_resize(id,w,h)
ds_grid_width(id)
ds_grid_height(id)
ds_grid_clear(id,val)
ds_grid_set(id,x,y,val)
ds_grid_add(id,x,y,val)
ds_grid_multiply(id,x,y,val)
ds_grid_set_region(id,x1,y1,x2,y2,val)
ds_grid_add_region(id,x1,y1,x2,y2,val)
ds_grid_multiply_region(id,x1,y1,x2,y2,val)
ds_grid_set_disk(id,xm,ym,r,val)
ds_grid_add_disk(id,xm,ym,r,val)
ds_grid_multiply_disk(id,xm,ym,r,val)
ds_grid_set_grid_region(id,source,x1,y1,x2,y2,xpos,ypos)
ds_grid_add_grid_region(id,source,x1,y1,x2,y2,xpos,ypos)
ds_grid_multiply_grid_region(id,source,x1,y1,x2,y2,xpos,ypos)
ds_grid_get(id,x,y)
ds_grid_get_sum(id,x1,y1,x2,y2)
ds_grid_get_max(id,x1,y1,x2,y2)
ds_grid_get_min(id,x1,y1,x2,y2)
ds_grid_get_mean(id,x1,y1,x2,y2)
ds_grid_get_disk_sum(id,xm,ym,r)
ds_grid_get_disk_min(id,xm,ym,r)
ds_grid_get_disk_max(id,xm,ym,r)
ds_grid_get_disk_mean(id,xm,ym,r)
ds_grid_value_exists(id,x1,y1,x2,y2,val)
ds_grid_value_x(id,x1,y1,x2,y2,val)
ds_grid_value_y(id,x1,y1,x2,y2,val)
ds_grid_value_disk_exists(id,xm,ym,r,val)
ds_grid_value_disk_x(id,xm,ym,r,val)
ds_grid_value_disk_y(id,xm,ym,r,val)
ds_grid_shuffle(id)
ds_grid_write(id)
ds_grid_read(id,str)
Creating particles
SIMPLE EFFECTS
[+]
effect_create_below(kind,x,y,size,color)
effect_create_above(kind,x,y,size,color)
effect_clear()
PARTICLE TYPES
[+]
part_type_create()
part_type_destroy(ind)
part_type_exists(ind)
part_type_clear(ind)
part_type_shape(ind,shape)
part_type_sprite(ind,sprite,animat,stretch,random)
part_type_size(ind,size_min,size_max,size_incr,size_wiggle)
part_type_scale(ind,xscale,yscale)
part_type_orientation(ind,ang_min,ang_max,ang_incr,ang_wiggle,ang_relative)
part_type_color1(ind,color1)
part_type_color2(ind,color1,color2)
part_type_color3(ind,color1,color2,color3)
part_type_color_mix(ind,color1,color2)
part_type_color_rgb(ind,rmin,rmax,gmin,gmax,bmin,bmax)
part_type_color_hsv(ind,hmin,hmax,smin,smax,vmin,vmax)
part_type_alpha1(ind,alpha1)
part_type_alpha2(ind,alpha1,alpha2)
part_type_alpha3(ind,alpha1,alpha2,alpha3)
part_type_blend(ind,additive)
part_type_life(ind,life_min,life_max)
part_type_step(ind,step_number,step_type)
part_type_death(ind,death_number,death_type)
part_type_speed(ind,speed_min,speed_max,speed_incr,speed_wiggle)
part_type_direction(ind,dir_min,dir_max,dir_incr,dir_wiggle)
part_type_gravity(ind,grav_amount,grav_dir)
PARTICLE SYSTEMS
[+]
part_system_create()
part_system_destroy(ind)
part_system_exists(ind)
part_system_clear(ind)
part_system_draw_order(ind,oldtonew)
part_system_depth(ind,depth) Sets th
part_system_position(ind,x,y)
part_system_automatic_update(ind,automatic)
part_system_automatic_draw(ind,automatic)
part_system_update(ind)
part_system_drawit(ind)
part_particles_create(ind,x,y,parttype,number)
part_particles_create_color(ind,x,y,parttype,color,number)
part_particles_clear(ind)
part_particles_count(ind)
EMITTERS
[+]
part_emitter_create(ps)
part_emitter_destroy(ps,ind)
part_emitter_destroy_all(ps)
part_emitter_exists(ps,ind)
part_emitter_clear(ps,ind)
part_emitter_region(ps,ind,xmin,xmax,ymin,ymax,shape,distribution)
part_emitter_burst(ps,ind,parttype,number)
part_emitter_stream(ps,ind,parttype,number)
ATTRACTORS
[+]
part_attractor_create(ps)
part_attractor_destroy(ps,ind)
part_attractor_destroy_all(ps)
part_attractor_exists(ps,ind)
part_attractor_clear(ps,ind)
part_attractor_position(ps,ind,x,y)
part_attractor_force(ps,ind,force,dist,kind,aditive)
DESTROYERS
[+]
part_destroyer_create(ps)
part_destroyer_destroy(ps,ind)
part_destroyer_destroy_all(ps)
part_destroyer_exists(ps,ind)
part_destroyer_clear(ps,ind)
part_destroyer_region(ps,ind,xmin,xmax,ymin,ymax,shape)
DEFLECTORS
[+]
part_deflector_create(ps)
part_deflector_destroy(ps,ind)
part_deflector_destroy_all(ps)
part_deflector_exists(ps,ind)
part_deflector_clear(ps,ind)
part_deflector_region(ps,ind,xmin,xmax,ymin,ymax)
part_deflector_kind(ps,ind,kind)
part_deflector_friction(ps,ind,friction)
CHANGERS
[+]
part_changer_create(ps)
part_changer_destroy(ps,ind)
part_changer_destroy_all(ps)
part_changer_exists(ps,ind)
part_changer_clear(ps,ind)
part_changer_region(ps,ind,xmin,xmax,ymin,ymax,shape)
part_changer_types(ps,ind,parttype1,parttype2)
part_changer_kind(ps,ind,kind)
Multiplayer Games
SETTING UP A CONNECTION
[+]
mplay_init_ipx()
mplay_init_tcpip(addr)
mplay_init_modem(initstr,phonenr)
mplay_init_serial(portno,baudrate,stopbits,parity,flow)
mplay_connect_status()
mplay_end()
mplay_ipaddress()
CREATING AND JOINING SESSIONS
[+]
mplay_session_create(sesname,playnumb,playername)
mplay_session_find()
mplay_session_name(numb)
mplay_session_join(numb,playername)
mplay_session_mode(move)
mplay_session_status()
mplay_session_end()
PLAYERS
[+]
mplay_player_find()
mplay_player_name(numb)
mplay_player_id(numb)
SHARED DATA
[+]
mplay_data_write(ind,val)
mplay_data_read(ind)
mplay_data_mode(guar)
MESSAGES
[+]
mplay_message_send(player,id,val)
mplay_message_send_guaranteed(player,id,val)
mplay_message_receive(player)
mplay_message_id()
mplay_message_value()
mplay_message_player()
mplay_message_name()
mplay_message_count(player)
mplay_message_clear(player)
Using DLL's
USING DLL'S
[+]
external_define(dll,name,calltype,restype,argnumb,arg1type,arg2type, ...)
external_call(id,arg1,arg2,...)
external_free(dll)
execute_string(str,arg0,arg1,...)
execute_file(fname)
window_handle()
3D Graphics
GOING TO 3D MODE
[+]
d3d_start()
d3d_end()
d3d_set_hidden(enable)
d3d_set_perspective(enable)
EASY DRAWING
[+]
d3d_set_depth(depth)
DRAWING POLYGONS IN 3D
[+]
d3d_primitive_begin(kind)
d3d_vertex(x,y,z)
d3d_vertex_color(x,y,z,col,alpha)
d3d_primitive_end()
d3d_primitive_begin_texture(kind,texid)
d3d_vertex_texture(x,y,z,xtex,ytex)
d3d_vertex_texture_color(x,y,z,xtex,ytex,col,alpha)
d3d_primitive_end()
d3d_set_culling(cull)
DRAWING BASIC SHAPES
[+]
d3d_draw_block(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)
d3d_draw_cylinder(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)
d3d_draw_cone(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)
d3d_draw_ellipsoid(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,steps)
d3d_draw_wall(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)
d3d_draw_floor(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat)
VIEWING THE WORLD
[+]
d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup)
d3d_set_projection_ext(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup,angle,aspect,znear,zfar)
d3d_set_projection_ortho(x,y,w,h,angle)
d3d_set_projection_perspective(x,y,w,h,angle)
TRANSFORMATIONS
[+]
d3d_transform_set_identity()
d3d_transform_set_translation(xt,yt,zt)
d3d_transform_set_scaling(xs,ys,zs)
d3d_transform_set_rotation_x(angle)
d3d_transform_set_rotation_y(angle)
d3d_transform_set_rotation_z(angle)
d3d_transform_set_rotation_axis(xa,ya,za,angle)
d3d_transform_add_translation(xt,yt,zt)
d3d_transform_add_scaling(xs,ys,zs)
d3d_transform_add_rotation_x(angle)
d3d_transform_add_rotation_y(angle)
d3d_transform_add_rotation_z(angle)
d3d_transform_add_rotation_axis(xa,ya,za,angle)
d3d_transform_stack_clear()
d3d_transform_stack_empty()
d3d_transform_stack_push()
d3d_transform_stack_pop()
d3d_transform_stack_top()
d3d_transform_stack_discard()
FOG
[+]
d3d_set_fog(enable,color,start,end)
LIGHTING
[+]
d3d_set_lighting(enable)
d3d_set_shading(smooth)
d3d_light_define_direction(ind,dx,dy,dz,col)
d3d_light_define_point(ind,x,y,z,range,col)
d3d_light_enable(ind,enable)
d3d_vertex_normal(x,y,z,nx,ny,nz) Add vertex (x,y,z)
d3d_vertex_normal_color(x,y,z,nx,ny,nz,col,alpha)
d3d_vertex_normal_texture(x,y,z,nx,ny,nz,xtex,ytex)
d3d_vertex_normal_texture_color(x,y,z,nx,ny,nz,xtex,ytex,col,alpha)
CREATING MODELS
[+]
d3d_model_create()
d3d_model_destroy(ind)
d3d_model_clear(ind)
d3d_model_save(ind,fname)
d3d_model_load(ind,fname)
d3d_model_draw(ind,x,y,z,texid)
d3d_model_primitive_begin(ind,kind)
d3d_model_vertex(ind,x,y,z)
d3d_model_vertex_color(ind,x,y,z,col,alpha)
d3d_model_vertex_texture(ind,x,y,z,xtex,ytex)
d3d_model_vertex_texture_color(ind,x,y,z,xtex,ytex,col,alpha)
d3d_model_vertex_normal(ind,x,y,z,nx,ny,nz)
d3d_model_vertex_normal_color(ind,x,y,z,nx,ny,nz,col,alpha)
d3d_model_vertex_normal_texture(ind,x,y,z,nx,ny,nz,xtex,ytex)
d3d_model_vertex_normal_texture_color(ind,x,y,z,nx,ny,nz,xtex,ytex,col,alpha)
d3d_model_block(ind,x1,y1,z1,x2,y2,z2,hrepeat,vrepeat)
d3d_model_cylinder(ind,x1,y1,z1,x2,y2,z2,hrepeat,vrepeat,closed,steps)
d3d_model_cone(ind,x1,y1,z1,x2,y2,z2,hrepeat,vrepeat,closed,steps)
d3d_model_ellipsoid(ind,x1,y1,z1,x2,y2,z2,hrepeat,vrepeat,steps)
d3d_model_wall(ind,x1,y1,z1,x2,y2,z2,hrepeat,vrepeat)
d3d_model_floor(ind,x1,y1,z1,x2,y2,z2,hrepeat,vrepeat)
Todo
Hello all you happy people.
(And the handfull of people who come here to look for bad things to say about me)
As you are probably aware, R3 is out. A couple users have had decent success with it, and have posted some small proof-of-concept games on the EDC.
(I strongly encourage this, by the way)
However, this release was a little confusing for many, and as we scrambled to help people out, we actually managed to make things worse.
In light of this, I decided to keep more public with the updates for a while here, at least until all the bugs are out. As is the purpose of an
alpha, which I take the opportunity to remind you all that R3 is.
(Alpha is Latin for "Doesn't work.")
I know this release was totally hectic, but the best I can do is promise a better one next time.
As well as release some updates along the way.
Thank you to a couple people who posted bug reports. I'm doing my best to deal with those, but I decided to spring for some organization and figured I'd make it public so you all know what is going on.
below is a list of what's currently being worked on. It contains all the bugs I am aware of, and a couple I'm not.
All known bugs (and maybe a couple unknown ones)
Variables don't declare themselves in scripts, which hinders using "global." as well as using scripts without declaring its local variables as "var," or one of ENIGMA's newer datatypes. [High priority/Big problem]
ENIGMA's operator. may cause segfault on parse. [High priority/Big problem]
Window functions are not added into the syntax file, and only resize child window.
Room background color is written in little endian, read as big endian. (Inverted)
draw_point() was not added to the syntax file.
Compile time is huge, as are outputted executables. [milage may vary]
draw_text messes up the projection. [fixed]
Views don't work. [not confirmed]