コード例 #1
0
ファイル: party.c プロジェクト: Tonetete/eathena
/// Invoked (from char-server) when a party is disbanded.
int party_broken(int party_id)
{
	struct party_data* p;
	int i;

	p = party_search(party_id);
	if( p == NULL )
		return 0;
		
	if( p->instance_id )
	{
		instance[p->instance_id].party_id = 0;
		instance_destroy( p->instance_id );
	}

	for( i = 0; i < MAX_PARTY; i++ )
	{
		if( p->data[i].sd!=NULL )
		{
			clif_party_withdraw(p,p->data[i].sd,p->party.member[i].account_id,p->party.member[i].name,0x10);
			p->data[i].sd->status.party_id=0;
		}
	}

	idb_remove(party_db,party_id);
	return 0;
}
コード例 #2
0
ファイル: instance.c プロジェクト: Anubiros/adhara-project
void do_final_instance(void)
{
	int i;

	for( i = 1; i < MAX_INSTANCE; i++ )
		instance_destroy(i);
}
コード例 #3
0
ファイル: primal.c プロジェクト: KayFane/uflp-solver
void primal_destroy (primal_t *primal)
{
	instance_destroy(primal->inst);
	RngStream_DeleteStream(primal->rng);
	free(primal->best_x);
	free(primal->improving_partial_x);
	free(primal->guiding_x);
	free(primal);
}
コード例 #4
0
ファイル: instance.c プロジェクト: segafan/bennugd-monolithic
void instance_destroy_all( INSTANCE * except )
{
    INSTANCE * i, * next ;

    i = first_instance ;
    while ( i )
    {
        next = i->next ;
        if ( i != except ) instance_destroy( i ) ;
        i = next ;
    }
}
コード例 #5
0
ファイル: cape.c プロジェクト: sdake/pacemaker-cloud
static void resource_recover_escalate(void * inst)
{
	struct resource *r = (struct resource *)inst;

	qb_enter();

	qb_log(LOG_NOTICE, "Escalating failure of service %s to node %s:%s",
	       r->name, r->assembly->uuid, r->assembly->name);

	qb_loop_timer_del(NULL, r->monitor_timer);

	instance_destroy(r->assembly);

	qb_leave();
}
コード例 #6
0
ファイル: lua.c プロジェクト: tecywiz121/plugins
int destroy(int id)
{
    khint_t key = kh_get(m32, states, id);
    if (key != kh_end(states)) // check thet key exists
    {
        struct instance* inst = kh_val(states, key);
        kh_del(m32, states, key);
        instance_destroy(inst);
        return 1;
    }
    else
    {
        return 0;
    }
}
コード例 #7
0
ファイル: FireBall.cpp プロジェクト: javieku/projectpgz
void FireBall::onStep() {
	switch (dir) {
		case UPLEFT:
			y -= sp; x -= sp;
			break;
		case DOWNRIGHT:
			y += sp; x += sp;
			break;
		case DOWNLEFT:
			y += sp; x -= sp;
			break;
		case UPRIGHT:
			y -= sp; x += sp;
			break;
	}
	((SpriteMap*) graphic)->playAnim("shake");

	if (!place_free(x, y)) instance_destroy();

	depth = y;
};
コード例 #8
0
ファイル: paxos_sync.c プロジェクト: motmotchat/libmotmot
/**
 * Truncate an ilist up to (but not including) a given inum.
 *
 * We also free all associated requests.
 */
static void
ilist_truncate_prefix(instance_container *ilist, paxid_t inum)
{
  struct paxos_instance *it;
  struct paxos_request *req;

  for (it = LIST_FIRST(ilist); it != (void *)ilist; it = LIST_FIRST(ilist)) {
    // Break if we've hit the desired stopping point.
    if (it->pi_hdr.ph_inum >= inum) {
      break;
    }

    // Free the instance and its associated request.
    req = request_find(&pax->rcache, it->pi_val.pv_reqid);
    if (req != NULL) {
      LIST_REMOVE(&pax->rcache, req, pr_le);
      request_destroy(req);
    }
    LIST_REMOVE(ilist, it, pi_le);
    instance_destroy(it);
  }
}
コード例 #9
0
ファイル: party.cpp プロジェクト: AlmasB/rathena
/// Invoked (from char-server) when a party is disbanded.
int party_broken(int party_id)
{
	struct party_data* p;
	int i;

	p = party_search(party_id);

	if( p == NULL )
		return 0;

	if( p->instance_id )
		instance_destroy( p->instance_id );

	for( i = 0; i < MAX_PARTY; i++ ) {
		if( p->data[i].sd != NULL ) {
			clif_party_withdraw(p->data[i].sd,p->party.member[i].account_id,p->party.member[i].name,PARTY_MEMBER_WITHDRAW_EXPEL,SELF);
			p->data[i].sd->status.party_id=0;
		}
	}

	idb_remove(party_db,party_id);

	return 1;
}
コード例 #10
0
ファイル: instance.c プロジェクト: Anubiros/adhara-project
/*--------------------------------------
 * Timer to destroy instance by process or idle
 *--------------------------------------*/
int instance_destroy_timer(int tid, unsigned int tick, int id, intptr_t data)
{
	instance_destroy(id);
	return 0;
}
コード例 #11
0
ファイル: roomsystem.cpp プロジェクト: tyrovc/enigma-dev
  void roomstruct::gotome(bool gamestart)
  {
    //Destroy all objects
    for (enigma::iterator it = enigma::instance_list_first(); it; ++it)
    {
      it->myevent_roomend();
      if (!((object_planar*)*it)->persistent)
      instance_destroy(it->id, false);
    }

    // Set the index to self
    room.rval.d = id;

    room_caption = cap;
    room_width   = width;
    room_height  = height;
    room_speed   = spd;

    background_color = backcolor;
    background_showcolor = drawbackcolor;

    //Backgrounds start
    for (int i=0;i<8;i++)
    {
      background_visible[i] = backs[i].visible;
      background_foreground[i] = backs[i].foreground;
      background_index[i] = backs[i].background;
      background_x[i] = backs[i].area_x; background_y[i] = backs[i].area_y;
      background_hspeed[i] = backs[i].horSpeed; background_vspeed[i] = backs[i].verSpeed;
      background_htiled[i] = backs[i].tileHor; background_vtiled[i] = backs[i].tileVert;
      //background_stretch? = backs[i].stretch;
    }
    //Backgrounds end

      //Tiles start
      drawing_depths.clear();
      for (int tilei=0; tilei<tilecount; tilei++) {
          tile t = tiles[tilei];
          drawing_depths[t.depth].tiles.push_back(tiles[tilei]);
      }
      //Tiles end

    view_enabled = views_enabled;

    for (int i=0;i<8;i++)
    {
      view_xview[i] = views[i].area_x; view_yview[i] = views[i].area_y; view_wview[i] = views[i].area_w; view_hview[i] = views[i].area_h;
      view_xport[i] = views[i].port_x; view_yport[i] = views[i].port_y; view_wport[i] = views[i].port_w; view_hport[i] = views[i].port_h;
      view_object[i] = views[i].object2follow;
      view_hborder[i] = views[i].hborder; view_vborder[i] = views[i].vborder; view_hspeed[i] = views[i].hspd; view_vspeed[i] = views[i].vspd;
      view_visible[i] = (bool)views[i].start_vis;
    }

    window_default();
    io_clear();
    screen_init();
    screen_refresh();

    object_basic* is[instancecount];
    for (int i = 0; i<instancecount; i++) {
      inst *obj = &instances[i];
      is[i] = instance_create_id(obj->x,obj->y,obj->obj,obj->id);
    }

    if (gamestart)
    for (int i = 0; i<instancecount; i++)
      is[i]->myevent_gamestart();

    for (int i = 0; i<instancecount; i++)
      is[i]->myevent_create();

    createcode();
  }