/* ================================================ */ void LastBoss::ReduceDamage( Common::CMN_EVENT &eventId ) { float levelReduce = static_cast<float>( GetEnemyLevel()*0.02f ); switch( eventId.m_event ){ case Common::EVENT_HIT_BULLET_PLAYER: // マシンガン攻撃は効きにくい( 0.9~4.5 ) eventId.m_eventValue *= 0.7f - levelReduce; break; case Common::EVENT_HIT_BLADE_PLAYER: // 斬撃はダメージを増やす eventId.m_eventValue *= 1.0f - levelReduce; break; } // 現存しているユニークモンスターの数で変化 EnemyManager *pEnemyManager = GameRegister::GetInstance()->UpdateManagerEnemy(); // 敵の生成 if( pEnemyManager ){ uint32_t countEnemy = 0; for( uint32_t i = 0; i < NUMBEROF(Common::s_uniqueEnemyKind) ; ++i ){ countEnemy += pEnemyManager->CountEnemy( Common::s_uniqueEnemyKind[i] ); } if( countEnemy == 1 ){ eventId.m_eventValue *= 0.5f; } else if( countEnemy >= 2 ){ eventId.m_eventValue = 0; // ダメージ無効エフェクト GameEffect::CreateEffect( GameEffect::EFFECT_INVALID_DAMAGE, GetDrawInfo().m_posOrigin ); // 無効SE SoundManager::GetInstance()->PlaySE( "invalidDamage" ); } } }
void AvHOverviewControl::HandleMouseClick(int inMouseX, int inMouseY) { AvHOverviewMap& theOverviewMap = gHUD.GetOverviewMap(); AvHOverviewMap::DrawInfo theDrawInfo; GetDrawInfo(theDrawInfo); float theWorldX; float theWorldY; theOverviewMap.GetWorldPosFromMouse(theDrawInfo, inMouseX, inMouseY, theWorldX, theWorldY); // Search for a player at the world position. int theEntity = theOverviewMap.GetEntityAtWorldPosition(theWorldX, theWorldY, 150); if (theEntity > 0 && theEntity <= 32) { char command[256]; sprintf(command, "follow %d", theEntity); gEngfuncs.pfnClientCmd(command); } }
// Constructor Magick::Options::Options( void ) : _imageInfo(static_cast<ImageInfo*>(AcquireMagickMemory(sizeof(ImageInfo)))), _quantizeInfo(static_cast<QuantizeInfo*>(AcquireMagickMemory(sizeof(QuantizeInfo)))), _drawInfo(static_cast<DrawInfo*>(AcquireMagickMemory( sizeof(DrawInfo)))) { // Initialize image info with defaults GetImageInfo( _imageInfo ); // Initialize quantization info GetQuantizeInfo( _quantizeInfo ); // Initialize drawing info GetDrawInfo( _imageInfo, _drawInfo ); }
/* Method: Draw#marshal_load Purpose: Support Marsal.load Notes: On entry all fields are all-bits-0 */ VALUE Draw_marshal_load(VALUE self, VALUE ddraw) { Draw *draw; Pixel *pixel; volatile VALUE val; Data_Get_Struct(self, Draw, draw); draw->info = magick_malloc(sizeof(DrawInfo)); if (!draw->info) { rb_raise(rb_eNoMemError, "not enough memory to continue"); } GetDrawInfo(NULL, draw->info); OBJ_TO_MAGICK_STRING(draw->info->geometry, rb_hash_aref(ddraw, CSTR2SYM("geometry"))); //val = rb_hash_aref(ddraw, CSTR2SYM("viewbox")); //Export_RectangleInfo(&draw->info->viewbox, val); val = rb_hash_aref(ddraw, CSTR2SYM("affine")); Export_AffineMatrix(&draw->info->affine, val); draw->info->gravity = (GravityType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("gravity"))); val = rb_hash_aref(ddraw, CSTR2SYM("fill")); Data_Get_Struct(val, Pixel, pixel); draw->info->fill = *pixel; val = rb_hash_aref(ddraw, CSTR2SYM("stroke")); Data_Get_Struct(val, Pixel, pixel); draw->info->stroke = *pixel; draw->info->stroke_width = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("stroke_width"))); draw->info->fill_pattern = str_to_image(rb_hash_aref(ddraw, CSTR2SYM("fill_pattern"))); draw->info->stroke_pattern = str_to_image(rb_hash_aref(ddraw, CSTR2SYM("stroke_pattern"))); draw->info->stroke_antialias = RTEST(rb_hash_aref(ddraw, CSTR2SYM("stroke_antialias"))); draw->info->text_antialias = RTEST(rb_hash_aref(ddraw, CSTR2SYM("text_antialias"))); draw->info->decorate = (DecorationType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("decorate"))); OBJ_TO_MAGICK_STRING(draw->info->font, rb_hash_aref(ddraw, CSTR2SYM("font"))); OBJ_TO_MAGICK_STRING(draw->info->family, rb_hash_aref(ddraw, CSTR2SYM("family"))); draw->info->style = (StyleType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("style"))); draw->info->stretch = (StretchType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("stretch"))); draw->info->weight = NUM2ULONG(rb_hash_aref(ddraw, CSTR2SYM("weight"))); OBJ_TO_MAGICK_STRING(draw->info->encoding, rb_hash_aref(ddraw, CSTR2SYM("encoding"))); draw->info->pointsize = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("pointsize"))); OBJ_TO_MAGICK_STRING(draw->info->density, rb_hash_aref(ddraw, CSTR2SYM("density"))); draw->info->align = (AlignType) FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("align"))); val = rb_hash_aref(ddraw, CSTR2SYM("undercolor")); Data_Get_Struct(val, Pixel, pixel); draw->info->undercolor = *pixel; draw->info->clip_units = FIX2INT(rb_hash_aref(ddraw, CSTR2SYM("clip_units"))); draw->info->opacity = NUM2QUANTUM(rb_hash_aref(ddraw, CSTR2SYM("opacity"))); #if defined(HAVE_ST_KERNING) draw->info->kerning = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("kerning"))); #endif #if defined(HAVE_ST_INTERWORD_SPACING) draw->info->interword_spacing = NUM2DBL(rb_hash_aref(ddraw, CSTR2SYM("interword_spacing"))); #endif draw->primitives = rb_hash_aref(ddraw, CSTR2SYM("primitives")); return self; }
void AvHOverviewControl::paint() { AvHOverviewMap& theOverviewMap = gHUD.GetOverviewMap(); AvHOverviewMap::DrawInfo theDrawInfo; GetDrawInfo(theDrawInfo); if (m_hsprWhite != NULL) { float bgColor[] = { 0.1, 0.1, 0.1, 1 }; float borderColor[] = { 1, 1, 1, 1 }; gEngfuncs.pTriAPI->RenderMode(kRenderNormal); gEngfuncs.pTriAPI->CullFace(TRI_NONE); gEngfuncs.pTriAPI->SpriteTexture((struct model_s*)(gEngfuncs.GetSpritePointer(m_hsprWhite)), 0); float gammaScale = 1.0f / gHUD.GetGammaSlope(); // Draw the background. gEngfuncs.pTriAPI->Color4f(gammaScale * bgColor[0], gammaScale * bgColor[1], gammaScale * bgColor[2], bgColor[3]); gEngfuncs.pTriAPI->Begin(TRI_QUADS); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX, theDrawInfo.mY, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX, theDrawInfo.mY + theDrawInfo.mHeight, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX + theDrawInfo.mWidth, theDrawInfo.mY + theDrawInfo.mHeight, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX + theDrawInfo.mWidth, theDrawInfo.mY, 1); gEngfuncs.pTriAPI->End(); // Draw the overview map. theOverviewMap.Draw(theDrawInfo); // Draw the border on the overview map and the inset view. gEngfuncs.pTriAPI->RenderMode(kRenderNormal); gEngfuncs.pTriAPI->CullFace(TRI_NONE); gEngfuncs.pTriAPI->SpriteTexture((struct model_s*)(gEngfuncs.GetSpritePointer(m_hsprWhite)), 0); gEngfuncs.pTriAPI->Color4f(gammaScale * borderColor[0], gammaScale * borderColor[1], gammaScale * borderColor[2], borderColor[3]); gEngfuncs.pTriAPI->Begin(TRI_LINES); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX, theDrawInfo.mY, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX, theDrawInfo.mY + theDrawInfo.mHeight, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX, theDrawInfo.mY + theDrawInfo.mHeight, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX + theDrawInfo.mWidth, theDrawInfo.mY + theDrawInfo.mHeight, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX + theDrawInfo.mWidth, theDrawInfo.mY + theDrawInfo.mHeight, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX + theDrawInfo.mWidth, theDrawInfo.mY, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX + theDrawInfo.mWidth, theDrawInfo.mY, 1); gEngfuncs.pTriAPI->Vertex3f(theDrawInfo.mX, theDrawInfo.mY, 1); gEngfuncs.pTriAPI->End(); } }