X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fgenericobject.h;h=878300fbf4f63278274c7524c4ce5334d1fd5f2e;hb=179476d8330ff0fd03c3c95bbb8ea0f55e5ad2ed;hp=1ab7e26a668fe8246b1b64460a0c61f019600ae8;hpb=92ae11bd3b5e95ff837f98463931e7772c455ad3;p=minetest.git diff --git a/src/genericobject.h b/src/genericobject.h index 1ab7e26a6..878300fbf 100644 --- a/src/genericobject.h +++ b/src/genericobject.h @@ -1,47 +1,48 @@ /* -Minetest-c55 -Copyright (C) 2012 celeron55, Perttu Ahola +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +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 General Public License for more details. +GNU Lesser General Public License for more details. -You should have received a copy of the GNU General Public License along +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. */ -#ifndef GENERICOBJECT_HEADER -#define GENERICOBJECT_HEADER +#pragma once #include -#include "irrlichttypes.h" - -#define GENERIC_CMD_SET_PROPERTIES 0 -#define GENERIC_CMD_UPDATE_POSITION 1 -#define GENERIC_CMD_SET_TEXTURE_MOD 2 -#define GENERIC_CMD_SET_SPRITE 3 -#define GENERIC_CMD_PUNCHED 4 -#define GENERIC_CMD_UPDATE_ARMOR_GROUPS 5 - -std::string gob_cmd_set_properties( - s16 hp_max, - bool physical, - float weight, - core::aabbox3d collisionbox, - std::string visual, - v2f visual_size, - core::array textures, - v2s16 spritediv, - bool is_visible, - bool makes_footstep_sound -); +#include "irrlichttypes_bloated.h" +#include +#include "itemgroup.h" + +enum GenericCMD { + GENERIC_CMD_SET_PROPERTIES, + GENERIC_CMD_UPDATE_POSITION, + GENERIC_CMD_SET_TEXTURE_MOD, + GENERIC_CMD_SET_SPRITE, + GENERIC_CMD_PUNCHED, + GENERIC_CMD_UPDATE_ARMOR_GROUPS, + GENERIC_CMD_SET_ANIMATION, + GENERIC_CMD_SET_BONE_POSITION, + GENERIC_CMD_ATTACH_TO, + GENERIC_CMD_SET_PHYSICS_OVERRIDE, + GENERIC_CMD_UPDATE_NAMETAG_ATTRIBUTES, + GENERIC_CMD_SPAWN_INFANT, + GENERIC_CMD_SET_ANIMATION_SPEED +}; + +#include "object_properties.h" +std::string gob_cmd_set_properties(const ObjectProperties &prop); +ObjectProperties gob_read_set_properties(std::istream &is); std::string gob_cmd_update_position( v3f position, @@ -64,8 +65,23 @@ std::string gob_cmd_set_sprite( std::string gob_cmd_punched(s16 damage, s16 result_hp); -#include "itemgroup.h" std::string gob_cmd_update_armor_groups(const ItemGroupList &armor_groups); -#endif +std::string gob_cmd_update_physics_override(float physics_override_speed, + float physics_override_jump, float physics_override_gravity, + bool sneak, bool sneak_glitch, bool new_move); + +std::string gob_cmd_update_animation(v2f frames, float frame_speed, float frame_blend, bool frame_loop); + +std::string gob_cmd_update_animation_speed(float frame_speed); + +std::string gob_cmd_update_bone_position(const std::string &bone, v3f position, + v3f rotation); + +std::string gob_cmd_update_attachment(int parent_id, const std::string &bone, + v3f position, v3f rotation); + +std::string gob_cmd_update_nametag_attributes(video::SColor color); +std::string gob_cmd_update_infant(u16 id, u8 type, + const std::string &client_initialization_data);