a_Id_List prepend_id_list( c_constr xid, a_Id_List list, int pos ) { a_Id_List a = new_id_list( xid, pos ); a->next = list; a->linepos = pos; return a; }
//----------------------------------------------------------------------------- // name: init_class_dude() // desc: ... //----------------------------------------------------------------------------- t_CKBOOL init_class_dude( Chuck_Env * env ) { Chuck_DL_Func * func = NULL; Chuck_Value * value = NULL; // log EM_log( CK_LOG_INFO, "class 'AudicleDude'" ); // import if( !type_engine_import_class_begin( env, "AudicleDude", "Object", env->global(), dude_ctor ) ) return FALSE; // add member dude_offset_data = type_engine_import_mvar( env, "int", "@data", FALSE ); if( dude_offset_data == CK_INVALID_OFFSET ) goto error; // add jump() func = make_new_mfun( "void", "jump", dude_jump ); if( !type_engine_import_mfun( env, func ) ) goto error; // add headbang() func = make_new_mfun( "void", "headbang", dude_headbang ); if( !type_engine_import_mfun( env, func ) ) goto error; // add leanback() func = make_new_mfun( "void", "leanback", dude_leanback ); if( !type_engine_import_mfun( env, func ) ) goto error; // add armsup() func = make_new_mfun( "int", "armsup", dude_armsup ); if( !type_engine_import_mfun( env, func ) ) goto error; // add setpos() func = make_new_mfun( "void", "pos", dude_pos ); func->add_arg( "float", "x" ); func->add_arg( "float", "y" ); func->add_arg( "float", "z" ); if( !type_engine_import_mfun( env, func ) ) goto error; // end the class import type_engine_import_class_end( env ); // keep the type around g_dude_type = type_engine_find_type( env, new_id_list("AudicleDude", 0 ) ); return TRUE; error: // end the class import type_engine_import_class_end( env ); return FALSE; }
//----------------------------------------------------------------------------- // name: init_class_pane() // desc: ... //----------------------------------------------------------------------------- t_CKBOOL init_class_pane( Chuck_Env * env ) { Chuck_DL_Func * func = NULL; Chuck_Value * value = NULL; // log EM_log( CK_LOG_INFO, "class 'AudiclePane'" ); // import if( !type_engine_import_class_begin( env, "AudiclePane", "Object", env->global(), pane_ctor ) ) return FALSE; // add member pane_offset_data = type_engine_import_mvar( env, "int", "@data", FALSE ); if( pane_offset_data == CK_INVALID_OFFSET ) goto error; // add width() func = make_new_mfun( "int", "width", pane_get_width ); if( !type_engine_import_mfun( env, func ) ) goto error; // add height() func = make_new_mfun( "int", "height", pane_get_height ); if( !type_engine_import_mfun( env, func ) ) goto error; // add setglow() func = make_new_mfun( "void", "setglow", pane_set_glow ); func->add_arg( "int", "x" ); func->add_arg( "int", "y" ); func->add_arg( "float", "val" ); if( !type_engine_import_mfun( env, func ) ) goto error; // add getvalue() func = make_new_mfun( "int", "getvalue", pane_get_value ); func->add_arg( "int", "x" ); func->add_arg( "int", "y" ); if( !type_engine_import_mfun( env, func ) ) goto error; // end the class import type_engine_import_class_end( env ); // keep the type around g_pane_type = type_engine_find_type( env, new_id_list("AudiclePane", 0 ) ); return TRUE; error: // end the class import type_engine_import_class_end( env ); return FALSE; }