aboutsummaryrefslogtreecommitdiff
path: root/advtrains/models/trackplane.b3d
blob: b4728c35e04661d11d1a4e61d19e2f821ab64761 (plain)
ofshex dumpascii
0000 42 42 33 44 fe 00 00 00 01 00 00 00 4e 4f 44 45 f2 00 00 00 50 6c 61 6e 65 00 00 00 00 00 00 00 BB3D........NODE....Plane.......
0020 00 00 00 00 00 00 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 80 3f 00 00 00 00 00 00 00 00 00 00 .........?...?...?...?..........
0040 00 00 4d 45 53 48 bc 00 00 00 ff ff ff ff 56 52 54 53 8c 00 00 00 01 00 00 00 01 00 00 00 02 00 ..MESH........VRTS..............
0060 00 00 00 00 80 bf 58 81 f0 be 00 00 80 bf 00 00 00 00 00 00 80 3f 00 00 00 00 5a ac d1 38 70 f9 ......X..............?....Z..8p.
0080 7f 3f 00 00 80 3f 58 81 f0 be 00 00 80 bf 00 00 00 00 00 00 80 3f 00 00 00 00 6f f9 7f 3f 73 f9 .?...?X..............?....o..?s.
00a0 7f 3f 00 00 80 3f 58 81 f0 be 00 00 80 3f 00 00 00 00 00 00 80 3f 00 00 00 00 6f f9 7f 3f 00 c0 .?...?X......?.......?....o..?..
00c0 d1 38 00 00 80 bf 58 81 f0 be 00 00 80 3f 00 00 00 00 00 00 80 3f 00 00 00 00 5a ac d1 38 00 c0 .8....X......?.......?....Z..8..
00e0 d1 38 54 52 49 53 1c 00 00 00 ff ff ff ff 02 00 00 00 01 00 00 00 00 00 00 00 03 00 00 00 02 00 .8TRIS..........................
0100 00 00 00 00 00 00 ......
83 84 85 86 87 88 89 90 91
/*
Minetest
Copyright (C) 2010-2013 celeron55, Perttu Ahola <celeron55@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#include "serveractiveobject.h"
#include <fstream>
#include "inventory.h"
#include "constants.h" // BS
#include "log.h"

ServerActiveObject::ServerActiveObject(ServerEnvironment *env, v3f pos):
	ActiveObject(0),
	m_env(env),
	m_base_position(pos)
{
}

float ServerActiveObject::getMinimumSavedMovement()
{
	return 2.0*BS;
}

ItemStack ServerActiveObject::getWieldedItem(ItemStack *selected, ItemStack *hand) const
{
	*selected = ItemStack();
	if (hand)
		*hand = ItemStack();

	return ItemStack();
}

bool ServerActiveObject::setWieldedItem(const ItemStack &item)
{
	return false;
}

std::string ServerActiveObject::generateUpdateInfantCommand(u16 infant_id, u16 protocol_version)
{
	std::ostringstream os(std::ios::binary);
	// command
	writeU8(os, AO_CMD_SPAWN_INFANT);
	// parameters
	writeU16(os, infant_id);
	writeU8(os, getSendType());
	if (protocol_version < 38) {
		// Clients since 4aa9a66 so no longer need this data
		// Version 38 is the first bump after that commit.
		// See also: ClientEnvironment::addActiveObject
		os << serializeString32(getClientInitializationData(protocol_version));
	}
	return os.str();
}

void ServerActiveObject::dumpAOMessagesToQueue(std::queue<ActiveObjectMessage> &queue)
{
	while (!m_messages_out.empty()) {
		queue.push(std::move(m_messages_out.front()));
		m_messages_out.pop();
	}
}

void ServerActiveObject::markForRemoval()
{
	if (!m_pending_removal) {
		onMarkedForRemoval();
		m_pending_removal = true;
	}
}

void ServerActiveObject::markForDeactivation()
{
	if (!m_pending_deactivation) {
		onMarkedForDeactivation();
		m_pending_deactivation = true;
	}
}