supertux
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
GranitoBig Class Referencefinal

A ""GranitoBig"" that was given a name can be controlled by scripts. More...

#include <granito_big.hpp>

Inheritance diagram for GranitoBig:
Inheritance graph
[legend]
Collaboration diagram for GranitoBig:
Collaboration graph
[legend]

Public Member Functions

 GranitoBig (const ReaderMapping &reader)
 
virtual HitResponse collision_player (Player &player, const CollisionHit &hit) override
 Called when the badguy collided with a player.
 
virtual void active_update (float dt_sec) override
 called each frame when the badguy is activated. More...
 
virtual std::string get_class_name () const override
 
virtual std::string get_exposed_class_name () const override
 
virtual std::string get_display_name () const override
 Returns the display name of the object, translated to the user's locale.
 
virtual GameObjectClasses get_class_types () const override
 List notable classes in inheritance hierarchy of class. More...
 
virtual ObjectSettings get_settings () override
 
virtual GameObjectTypes get_types () const override
 Get all types of the object, if available. More...
 
void carry (Granito *granito)
 
Granitoget_carrying () const
 
virtual void eject () override
 This function tells the Granito being carried to unglue itself from the Big Granito, by jumping and walking off.
 
std::string get_carrying_name () const
 Gets the name of the Granito being carried by the Big Granito.
 
virtual void wave () override
 Makes the Granito wave.
 
virtual void jump () override
 Makes the Granito jump.
 
virtual void sit () override
 Makes the Granito sit.
 
virtual GranitoBigget_carrier () const override
 
- Public Member Functions inherited from Granito
 Granito (const ReaderMapping &reader, const std::string &sprite_name="images/creatures/granito/granito.sprite", int layer=LAYER_OBJECTS)
 
virtual HitResponse collision (GameObject &other, const CollisionHit &hit) override
 Called when a collision with another object occurred. More...
 
virtual bool is_snipable () const override
 Can enemy be sniped by sliding or swimboosting Tux? Returns false if enemy is spiky or too large.
 
virtual bool is_freezable () const override
 
virtual bool is_flammable () const override
 Returns whether to call ignite() when a badguy gets hit by a fire bullet.
 
virtual void kill_fall () override
 Set the badguy to kill/falling state, which makes him falling of the screen (his sprite is turned upside-down)
 
virtual void after_editor_set () override
 
void turn (const Direction &direction)
 
void turn (const std::string &direction)
 Makes the Granito sit. More...
 
void set_walking (bool walking)
 Sets the walking state for the Granito. More...
 
void walk ()
 Makes the Granito walk.
 
void walk_for (float seconds)
 Makes the Granito walk for a specified amount of seconds. More...
 
void stand ()
 Makes the Granito stand, or stop if walking.
 
int get_state () const
 Gets the current Granito state. More...
 
std::string get_carrier_name () const
 Gets the name of the Big Granito that is carrying the Granito.
 
void reset_detection ()
 Resets the player detection used for waving, allowing the Detect Script to be ran again. More...
 
- Public Member Functions inherited from WalkingBadguy
 WalkingBadguy (const Vector &pos, const std::string &sprite_name, const std::string &walk_left_action, const std::string &walk_right_action, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite")
 
 WalkingBadguy (const Vector &pos, Direction direction, const std::string &sprite_name, const std::string &walk_left_action, const std::string &walk_right_action, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite")
 
 WalkingBadguy (const ReaderMapping &reader, const std::string &sprite_name, const std::string &walk_left_action, const std::string &walk_right_action, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite")
 
virtual void collision_solid (const CollisionHit &hit) override
 Called when the badguy collided with solid ground.
 
virtual HitResponse collision_badguy (BadGuy &badguy, const CollisionHit &hit) override
 Called when the badguy collided with another badguy.
 
virtual void freeze () override
 Called when hit by an ice bullet, and is_freezable() returns true. More...
 
virtual void unfreeze (bool melt=true) override
 Called to unfreeze the badguy. More...
 
void active_update (float dt_sec, float target_velocity, float modifier=1.f)
 
void override_stay_on_platform ()
 used by objects that should make badguys not turn around when they are walking on them
 
float get_velocity_x () const
 
float get_velocity_y () const
 
void set_velocity_y (float vy)
 
void add_velocity (const Vector &velocity)
 Adds velocity to the badguy (be careful when using this)
 
float get_walk_speed () const
 
void set_walk_speed (float)
 
bool is_active () const
 
void set_ledge_behavior (LedgeBehavior behavior)
 Set max_drop_height depending on the given behavior.
 
- Public Member Functions inherited from BadGuy
 BadGuy (const Vector &pos, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite")
 
 BadGuy (const Vector &pos, Direction direction, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite")
 
 BadGuy (const ReaderMapping &reader, const std::string &sprite_name, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite")
 
 BadGuy (const ReaderMapping &reader, const std::string &sprite_name, Direction default_direction, int layer=LAYER_OBJECTS, const std::string &light_sprite_name="images/objects/lightmap_light/lightmap_light-medium.sprite", const std::string &ice_sprite_name="images/creatures/overlays/iceoverlay/iceoverlay.sprite")
 
virtual void draw (DrawingContext &context) override
 Called when the badguy is drawn. More...
 
virtual void update (float dt_sec) override
 Called each frame. More...
 
virtual std::string get_overlay_size () const
 
virtual void collision_tile (uint32_t tile_attributes) override
 Called when a collision with tile with special attributes occurred.
 
virtual void run_dead_script ()
 Call this, if you use custom kill_fall() or kill_squashed(GameObject& object)
 
virtual bool can_break () const
 True if this badguy can break bricks or open bonusblocks in his current form. More...
 
Vector get_start_position () const
 
void set_start_position (const Vector &vec)
 
virtual void grab (MovingObject &object, const Vector &pos, Direction dir) override
 called each frame when the object has been grabbed. More...
 
virtual void ungrab (MovingObject &object, Direction dir) override
 
virtual bool is_portable () const override
 
virtual void ignite ()
 Kills the badguy by igniting it.
 
virtual void extinguish ()
 Called to revert a badguy when is_ignited() returns true.
 
bool is_ignited () const
 Returns whether this badguys is currently on fire.
 
virtual bool is_hurtable () const
 Return true if this badguy can be hurt by tiles with the attribute "hurts".
 
virtual bool always_active () const
 
bool is_frozen () const
 
bool is_in_water () const
 
virtual std::string get_water_sprite () const
 Get melting particle sprite filename.
 
virtual bool can_be_affected_by_wind () const
 Returns true if the badguy can currently be affected by wind.
 
virtual void add_wind_velocity (const Vector &velocity, const Vector &end_speed)
 Adds velocity from wind.
 
Physicget_physic ()
 
- Public Member Functions inherited from MovingSprite
 MovingSprite (const Vector &pos, const std::string &sprite_name, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
 MovingSprite (const ReaderMapping &reader, const Vector &pos, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
 MovingSprite (const ReaderMapping &reader, const std::string &sprite_name, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
 MovingSprite (const ReaderMapping &reader, int layer=LAYER_OBJECTS, CollisionGroup collision_group=COLGROUP_MOVING)
 
virtual void on_type_change (int old_type) override
 
virtual int get_layer () const override
 
bool has_found_sprite () const
 
const std::string & get_sprite_name () const
 
virtual std::string get_default_sprite_name () const
 
bool matches_sprite (const std::string &sprite_file) const
 
bool change_sprite (const std::string &new_sprite_name)
 
void spawn_explosion_sprites (int count, const std::string &sprite_path)
 
Spriteget_sprite () const
 Get various sprite properties. More...
 
std::string get_action () const
 Returns the name of the current action of the sprite.
 
void set_action (const std::string &name)
 Sets the current action of the sprite and resizes the bounding box. More...
 
void set_action_loops (const std::string &name, int loops)
 Sets the current action of the sprite, as well as the number of times it should loop, and resizes the bounding box. More...
 
void set_action (const std::string &name, int loops)
 Sets the action from an action name, as well as the number of times it should loop. More...
 
void set_action (const std::string &name, const Direction &dir, int loops=-1)
 Sets the action from an action name and a particular direction in the form of "name-direction", eg. More...
 
void set_action (const Direction &dir, const std::string &name, int loops=-1)
 Sets the action from an action name and a particular direction in the form of "direction-name", eg. More...
 
void set_action (const Direction &dir, int loops=-1)
 Sets the action from a string from a particular direction in the form of "direction", e.g. More...
 
void set_action_centered (const std::string &action, int loops=-1)
 Set new action for sprite and re-center bounding box. More...
 
void set_action (const std::string &action, int loops, AnchorPoint anchorPoint)
 Set new action for sprite and align bounding boxes at anchorPoint. More...
 
- Public Member Functions inherited from MovingObject
 MovingObject (const ReaderMapping &reader)
 
virtual bool collides (GameObject &, const CollisionHit &) const override
 when 2 objects collided, we will first call the collision functions of both objects that can decide on how to react to the collision. More...
 
virtual void set_pos (const Vector &pos)
 
virtual void move_to (const Vector &pos)
 
virtual void move (const Vector &dist)
 
virtual bool listener_is_valid () const override
 
Vector get_pos () const
 
const Rectfget_bbox () const
 
const Vector & get_movement () const
 
CollisionGroup get_group () const
 
CollisionObjectget_collision_object ()
 
const CollisionObjectget_collision_object () const
 
void set_parent_dispenser (Dispenser *dispenser)
 
Dispenserget_parent_dispenser () const
 
virtual void editor_select () override
 The user clicked on the object in the editor and selected it.
 
float get_x () const
 Returns the object's X coordinate.
 
float get_y () const
 Returns the object's Y coordinate.
 
void set_pos (float x, float y)
 Sets the position of the object. More...
 
void move (float x, float y)
 Moves the object by ""x"" units to the right and ""y"" down, relative to its current position. More...
 
float get_width () const
 Returns the object's hitbox width.
 
float get_height () const
 Returns the object's hitbox height.
 
- Public Member Functions inherited from GameObject
 GameObject (const std::string &name)
 
 GameObject (const ReaderMapping &reader)
 
virtual void finish_construction ()
 Called after all objects have been added to the Sector and the Sector is fully constructed. More...
 
UID get_uid () const
 
virtual void save (Writer &writer)
 This function saves the object. More...
 
std::string save ()
 
virtual std::vector< std::string > get_patches () const
 Version checking/updating, patch information.
 
virtual void update_version ()
 
int get_version () const
 Returns the current version of the object.
 
int get_latest_version () const
 Returns the latest version of the object.
 
bool is_up_to_date () const
 Checks whether the object's current version is equal to its latest one.
 
virtual bool is_singleton () const
 If true only a single object of this type is allowed in a given GameObjectManager.
 
virtual bool has_variable_size () const
 Does this object have variable size (secret area trigger, wind, etc.)
 
virtual bool is_saveable () const
 Indicates if the object will be saved. More...
 
virtual bool track_state () const
 Indicates if the object's state should be tracked. More...
 
virtual bool has_object_manager_priority () const
 Indicates if the object should be added at the beginning of the object list. More...
 
virtual bool has_settings () const
 Indicates if get_settings() is implemented. More...
 
int get_type () const
 Returns the type index of the object.
 
virtual void remove_me ()
 schedules this object to be removed at the end of the frame
 
bool is_valid () const
 returns true if the object is not scheduled to be removed yet
 
void add_remove_listener (ObjectRemoveListener *listener)
 registers a remove listener which will be called if the object gets removed/destroyed
 
void del_remove_listener (ObjectRemoveListener *listener)
 unregisters a remove listener, so it will no longer be called if the object gets removed/destroyed
 
void set_name (const std::string &name)
 
const std::string & get_name () const
 Returns the name of the object.
 
virtual const std::string get_icon_path () const
 
virtual void stop_looping_sounds ()
 stops all looping sounds
 
virtual void play_looping_sounds ()
 continues all looping sounds
 
template<typename T >
T * get_component ()
 
void add_component (std::unique_ptr< GameObjectComponent > component)
 
void remove_component (GameObjectComponent *component)
 
virtual void save_state ()
 Save/check the current state of the object. More...
 
virtual void check_state ()
 
virtual void editor_delete ()
 The editor requested the deletion of the object.
 
virtual void editor_deselect ()
 The object got deselected.
 
virtual void editor_update ()
 Called each frame in the editor, used to keep linked objects together (e.g. More...
 
GameObjectManagerget_parent () const
 
- Public Member Functions inherited from Portable
virtual MovingObjectget_owner () const
 
virtual bool is_grabbed () const
 
virtual bool is_hampering () const
 Is the object so heavy/bulky/fragile that Tux can't run while carrying it?
 

Static Public Member Functions

static void register_class (ssq::VM &vm)
 
static std::string class_name ()
 
static std::string display_name ()
 
- Static Public Member Functions inherited from Granito
static void register_class (ssq::VM &vm)
 
static std::string class_name ()
 
static std::string display_name ()
 
- Static Public Member Functions inherited from BadGuy
static void register_class (ssq::VM &vm)
 
static std::string class_name ()
 
static std::string display_name ()
 
- Static Public Member Functions inherited from MovingSprite
static void register_class (ssq::VM &vm)
 
static std::string class_name ()
 
- Static Public Member Functions inherited from MovingObject
static void register_class (ssq::VM &vm)
 
static std::string class_name ()
 
- Static Public Member Functions inherited from GameObject
static void register_class (ssq::VM &vm)
 

Public Attributes

Granitom_carrying
 
- Public Attributes inherited from BadGuy
bool m_countMe
 Count this badguy to the statistics? This value should not be changed during runtime. More...
 

Protected Member Functions

bool try_wave () override
 
bool try_jump () override
 
- Protected Member Functions inherited from Granito
virtual void initialize () override
 called immediately before the first call to initialize
 
virtual void update_hitbox () override
 Update hitbox, based on sprite. More...
 
void activate () override
 called when the badguy has been activated. More...
 
void restore_original_state ()
 
- Protected Member Functions inherited from WalkingBadguy
void turn_around ()
 
- Protected Member Functions inherited from BadGuy
virtual void on_flip (float height) override
 When level is flipped vertically.
 
virtual bool collision_squished (GameObject &object)
 Called when the player hit the badguy from above. More...
 
virtual HitResponse collision_bullet (Bullet &bullet, const CollisionHit &hit)
 Called when the badguy collided with a bullet.
 
virtual void inactive_update (float dt_sec)
 called each frame when the badguy is not activated. More...
 
virtual void deactivate ()
 called when the badguy has been deactivated
 
virtual std::vector< Direction > get_allowed_directions () const
 Returns a vector of directions the badguy can be set to. More...
 
void kill_squished (GameObject &object)
 
void set_state (State state)
 
State get_state () const
 
bool check_state_timer ()
 
Playerget_nearest_player () const
 returns a pointer to the nearest player or 0 if no player is available
 
bool is_offscreen () const
 initial position of the enemy. More...
 
bool might_fall (int height=1) const
 Returns true if we might soon fall at least height pixels. More...
 
void update_on_ground_flag (const CollisionHit &hit)
 Update on_ground_flag judging by solid collision hit. More...
 
bool on_ground () const
 Returns true if we touched ground in the past frame This only works if update_on_ground_flag() gets called in collision_solid. More...
 
Vector get_floor_normal () const
 Returns floor normal stored the last time when update_on_ground_flag was called and we touched something solid from above. More...
 
bool is_active () const
 Returns true if we were in STATE_ACTIVE at the beginning of the last call to update()
 
void set_colgroup_active (CollisionGroup group)
 changes colgroup_active. More...
 
- Protected Member Functions inherited from MovingObject
void set_group (CollisionGroup group)
 
- Protected Member Functions inherited from GameObject
void parse_type (const ReaderMapping &reader)
 Parse object type. More...
 
int type_id_to_value (const std::string &id) const
 Conversion between type ID and value. More...
 
std::string type_value_to_id (int value) const
 

Additional Inherited Members

- Public Types inherited from WalkingBadguy
enum  LedgeBehavior { LedgeBehavior::STRICT, LedgeBehavior::SMART, LedgeBehavior::NORMAL, LedgeBehavior::FALL }
 
- Protected Types inherited from Granito
enum  Type {
  DEFAULT, STAND, WALK, SCRIPTABLE,
  SIT
}
 
enum  State {
  STATE_SIT = 0, STATE_STAND = 1, STATE_WALK = 2, STATE_WAVE = 3,
  STATE_LOOKUP = 4, STATE_JUMPING = 5
}
 NOTE: Make sure to expose any new enumerators to Squirrel. More...
 
- Protected Types inherited from BadGuy
enum  State {
  STATE_INIT, STATE_INACTIVE, STATE_ACTIVE, STATE_SQUISHED,
  STATE_FALLING, STATE_BURNING, STATE_MELTING, STATE_GROUND_MELTING,
  STATE_INSIDE_MELTING, STATE_GEAR
}
 
- Protected Types inherited from GameObject
enum  TypeChange { INITIAL = -1 }
 When the type has been changed from the editor. More...
 
- Protected Attributes inherited from Granito
Timer m_walk_interval
 
State m_state
 
State m_original_state
 
bool m_has_waved
 
bool m_stepped_on
 
bool m_airborne
 True if tux was on top of granito last frame. More...
 
std::string m_detect_script
 Unfortunately, on_ground() sucks. More...
 
std::string m_carried_script
 
- Protected Attributes inherited from WalkingBadguy
std::string walk_left_action
 
std::string walk_right_action
 
float walk_speed
 
int max_drop_height
 Maximum height of drop before we will turn around, or -1 to just drop from any ledge.
 
Timer turn_around_timer
 
int turn_around_counter
 counts number of turns since turn_around_timer was started
 
bool m_stay_on_platform_overridden
 
- Protected Attributes inherited from BadGuy
Physic m_physic
 
bool m_is_initialized
 true if initialize() has already been called
 
Vector m_start_position
 
Direction m_dir
 The direction we currently face in.
 
Direction m_start_dir
 The direction we initially faced in.
 
bool m_frozen
 
bool m_ignited
 true if this badguy is currently on fire
 
bool m_in_water
 
std::string m_dead_script
 < true if the badguy is currently in water More...
 
float m_melting_time
 
SpritePtr m_lightsprite
 
SpritePtr m_freezesprite
 
bool m_glowing
 
bool m_water_affected
 
Timer m_unfreeze_timer
 
- Protected Attributes inherited from MovingSprite
std::string m_sprite_name
 
std::string m_default_sprite_name
 The default sprite for this MovingObject. More...
 
SpritePtr m_sprite
 
int m_layer
 Sprite's z-position. More...
 
Flip m_flip
 
- Protected Attributes inherited from MovingObject
CollisionObject m_col
 
Dispenserm_parent_dispenser
 
- Protected Attributes inherited from GameObject
std::string m_name
 a name for the gameobject, this is mostly a hint for scripts and for debugging, don't rely on names being set or being unique
 
int m_type
 Type of the GameObject. More...
 
std::vector< std::unique_ptr< FadeHelper > > m_fade_helpers
 Fade Helpers are for easing/fading script functions.
 
bool m_track_undo
 Track the following creation/deletion of this object for undo. More...
 
- Protected Attributes inherited from Portable
MovingObjectm_owner = nullptr
 
- Static Protected Attributes inherited from WalkingBadguy
static const int s_normal_max_drop_height = 600
 

Detailed Description

A ""GranitoBig"" that was given a name can be controlled by scripts.

It has some features from its base class, ""Granito"", disabled. A ""GranitoBig"" is instantiated by placing a definition inside a level. It can then be accessed by its name from a script or via ""sector.name"" from the console.

Member Function Documentation

◆ active_update()

void GranitoBig::active_update ( float  dt_sec)
overridevirtual

called each frame when the badguy is activated.

Reimplemented from Granito.

◆ get_class_types()

virtual GameObjectClasses GranitoBig::get_class_types ( ) const
inlineoverridevirtual

List notable classes in inheritance hierarchy of class.

This makes it possible to efficiently look up all objects deriving from a particular intermediate class

Reimplemented from Granito.

◆ get_types()

GameObjectTypes GranitoBig::get_types ( ) const
overridevirtual

Get all types of the object, if available.

Reimplemented from Granito.


The documentation for this class was generated from the following files: