void main(){ unsigned a = input("a"); assert(fget_float(a)==1); assert(fget_float(a)==2); assert(fget_float(a)==3); assert(fget_float(a)==4); assert(fget_float(a)==5); assert(fget_float(a)==6); assert(fget_float(a)==7); assert(fget_float(a)==8); assert(fget_float(a)==9); assert(fget_float(a)==10); report(1); }
void main(){ float sin_x, cos_x, new_sin, new_cos, si, sr, frequency; int i; cos_x = 1.0; sin_x = 0.0; sr = cos(2.0 * M_PI/N); si = sin(2.0 * M_PI/N); while(1){ frequency = fget_float(frequency_in); for(i=0; i<frequency; i++){ new_cos = cos_x*sr - sin_x*si; new_sin = cos_x*si + sin_x*sr; cos_x = new_cos; sin_x = new_sin; } fput_float(cos_x, sin_out); fput_float(sin_x, cos_out); } }
//-------------------------------------------------------------------------------------------- pip_t * load_one_pip_file_vfs( const char *szLoadName, pip_t * ppip ) { /// @details ZZ@> This function loads a particle template, returning bfalse if the file wasn't /// found vfs_FILE* fileread; IDSZ idsz; char cTmp; fileread = vfs_openRead( szLoadName ); if ( NULL == fileread ) { return NULL; } pip_init( ppip ); // set up the EGO_PROFILE_STUFF strncpy( ppip->name, szLoadName, SDL_arraysize( ppip->name ) ); ppip->loaded = btrue; // read the 1 line comment at the top of the file vfs_gets( ppip->comment, SDL_arraysize( ppip->comment ) - 1, fileread ); // rewind the file vfs_seek( fileread, 0 ); // General data ppip->force = fget_next_bool( fileread ); cTmp = fget_next_char( fileread ); if ( 'L' == toupper( cTmp ) ) ppip->type = SPRITE_LIGHT; else if ( 'S' == toupper( cTmp ) ) ppip->type = SPRITE_SOLID; else if ( 'T' == toupper( cTmp ) ) ppip->type = SPRITE_ALPHA; ppip->image_base = fget_next_int( fileread ); ppip->numframes = fget_next_int( fileread ); ppip->image_add.base = fget_next_int( fileread ); ppip->image_add.rand = fget_next_int( fileread ); ppip->rotate_pair.base = fget_next_int( fileread ); ppip->rotate_pair.rand = fget_next_int( fileread ); ppip->rotate_add = fget_next_int( fileread ); ppip->size_base = fget_next_int( fileread ); ppip->size_add = fget_next_int( fileread ); ppip->spdlimit = fget_next_float( fileread ); ppip->facingadd = fget_next_int( fileread ); // override the base rotation if ( ppip->image_base < 256 && prt_u != prt_direction[ ppip->image_base ] ) { ppip->rotate_pair.base = prt_direction[ ppip->image_base ]; }; // Ending conditions ppip->end_water = fget_next_bool( fileread ); ppip->end_bump = fget_next_bool( fileread ); ppip->end_ground = fget_next_bool( fileread ); ppip->end_lastframe = fget_next_bool( fileread ); ppip->end_time = fget_next_int( fileread ); // Collision data ppip->dampen = fget_next_float( fileread ); ppip->bump_money = fget_next_int( fileread ); ppip->bump_size = fget_next_int( fileread ); ppip->bump_height = fget_next_int( fileread ); fget_next_range( fileread, &( ppip->damage ) ); ppip->damagetype = fget_next_damage_type( fileread ); // Lighting data cTmp = fget_next_char( fileread ); if ( 'T' == toupper( cTmp ) ) ppip->dynalight.mode = DYNA_MODE_ON; else if ( 'L' == toupper( cTmp ) ) ppip->dynalight.mode = DYNA_MODE_LOCAL; else ppip->dynalight.mode = DYNA_MODE_OFF; ppip->dynalight.level = fget_next_float( fileread ); ppip->dynalight.falloff = fget_next_int( fileread ); // Initial spawning of this particle ppip->facing_pair.base = fget_next_int( fileread ); ppip->facing_pair.rand = fget_next_int( fileread ); ppip->spacing_hrz_pair.base = fget_next_int( fileread ); ppip->spacing_hrz_pair.rand = fget_next_int( fileread ); ppip->spacing_vrt_pair.base = fget_next_int( fileread ); ppip->spacing_vrt_pair.rand = fget_next_int( fileread ); ppip->vel_hrz_pair.base = fget_next_int( fileread ); ppip->vel_hrz_pair.rand = fget_next_int( fileread ); ppip->vel_vrt_pair.base = fget_next_int( fileread ); ppip->vel_vrt_pair.rand = fget_next_int( fileread ); // Continuous spawning of other particles ppip->contspawn_delay = fget_next_int( fileread ); ppip->contspawn_amount = fget_next_int( fileread ); ppip->contspawn_facingadd = fget_next_int( fileread ); ppip->contspawn_lpip = fget_next_int( fileread ); // End spawning of other particles ppip->endspawn_amount = fget_next_int( fileread ); ppip->endspawn_facingadd = fget_next_int( fileread ); ppip->endspawn_lpip = fget_next_int( fileread ); // Bump spawning of attached particles ppip->bumpspawn_amount = fget_next_int( fileread ); ppip->bumpspawn_lpip = fget_next_int( fileread ); // Random stuff !!!BAD!!! Not complete ppip->daze_time = fget_next_int( fileread ); ppip->grog_time = fget_next_int( fileread ); ppip->spawnenchant = fget_next_bool( fileread ); ppip->cause_roll = fget_next_bool( fileread ); // !!Cause roll ppip->cause_pancake = fget_next_bool( fileread ); ppip->needtarget = fget_next_bool( fileread ); ppip->targetcaster = fget_next_bool( fileread ); ppip->startontarget = fget_next_bool( fileread ); ppip->onlydamagefriendly = fget_next_bool( fileread ); ppip->soundspawn = fget_next_int( fileread ); ppip->end_sound = fget_next_int( fileread ); ppip->friendlyfire = fget_next_bool( fileread ); ppip->hateonly = fget_next_bool( fileread ); ppip->newtargetonspawn = fget_next_bool( fileread ); ppip->targetangle = fget_next_int( fileread ) >> 1; ppip->homing = fget_next_bool( fileread ); ppip->homingfriction = fget_next_float( fileread ); ppip->homingaccel = fget_next_float( fileread ); ppip->rotatetoface = fget_next_bool( fileread ); goto_colon( NULL, fileread, bfalse ); // !!Respawn on hit is unused ppip->manadrain = fget_next_int( fileread ) * 256; ppip->lifedrain = fget_next_int( fileread ) * 256; // assume default end_wall ppip->end_wall = ppip->end_ground; // assume default damfx if ( ppip->homing ) ppip->damfx = DAMFX_NONE; // Read expansions while ( goto_colon( NULL, fileread, btrue ) ) { idsz = fget_idsz( fileread ); if ( idsz == MAKE_IDSZ( 'T', 'U', 'R', 'N' ) ) SET_BIT( ppip->damfx, DAMFX_NONE ); //ZF> This line doesnt do anything? else if ( idsz == MAKE_IDSZ( 'A', 'R', 'M', 'O' ) ) SET_BIT( ppip->damfx, DAMFX_ARMO ); else if ( idsz == MAKE_IDSZ( 'B', 'L', 'O', 'C' ) ) SET_BIT( ppip->damfx, DAMFX_NBLOC ); else if ( idsz == MAKE_IDSZ( 'A', 'R', 'R', 'O' ) ) SET_BIT( ppip->damfx, DAMFX_ARRO ); else if ( idsz == MAKE_IDSZ( 'T', 'I', 'M', 'E' ) ) SET_BIT( ppip->damfx, DAMFX_TIME ); else if ( idsz == MAKE_IDSZ( 'Z', 'S', 'P', 'D' ) ) ppip->zaimspd = fget_float( fileread ); else if ( idsz == MAKE_IDSZ( 'F', 'S', 'N', 'D' ) ) ppip->end_sound_floor = fget_int( fileread ); else if ( idsz == MAKE_IDSZ( 'W', 'S', 'N', 'D' ) ) ppip->end_sound_wall = fget_int( fileread ); else if ( idsz == MAKE_IDSZ( 'W', 'E', 'N', 'D' ) ) ppip->end_wall = ( 0 != fget_int( fileread ) ); else if ( idsz == MAKE_IDSZ( 'P', 'U', 'S', 'H' ) ) ppip->allowpush = ( 0 != fget_int( fileread ) ); else if ( idsz == MAKE_IDSZ( 'D', 'L', 'E', 'V' ) ) ppip->dynalight.level_add = fget_int( fileread ) / 1000.0f; else if ( idsz == MAKE_IDSZ( 'D', 'R', 'A', 'D' ) ) ppip->dynalight.falloff_add = fget_int( fileread ) / 1000.0f; else if ( idsz == MAKE_IDSZ( 'I', 'D', 'A', 'M' ) ) ppip->intdamagebonus = ( 0 != fget_int( fileread ) ); else if ( idsz == MAKE_IDSZ( 'W', 'D', 'A', 'M' ) ) ppip->wisdamagebonus = ( 0 != fget_int( fileread ) ); else if ( idsz == MAKE_IDSZ( 'O', 'R', 'N', 'T' ) ) { char cTmp = fget_first_letter( fileread ); switch ( toupper( cTmp ) ) { case 'X': ppip->orientation = ORIENTATION_X; break; // put particle up along the world or body-fixed x-axis case 'Y': ppip->orientation = ORIENTATION_Y; break; // put particle up along the world or body-fixed y-axis case 'Z': ppip->orientation = ORIENTATION_Z; break; // put particle up along the world or body-fixed z-axis case 'V': ppip->orientation = ORIENTATION_V; break; // vertical, like a candle case 'H': ppip->orientation = ORIENTATION_H; break; // horizontal, like a plate case 'B': ppip->orientation = ORIENTATION_B; break; // billboard } } } vfs_close( fileread ); return ppip; }