22 #ifndef STARK_RESOURCES_LOCATION_H 23 #define STARK_RESOURCES_LOCATION_H 25 #include "common/hashmap.h" 26 #include "common/rect.h" 27 #include "common/str.h" 29 #include "engines/stark/gfx/renderentry.h" 30 #include "engines/stark/resources/object.h" 53 static const Type::ResourceType TYPE = Type::kLocation;
59 void onAllLoaded()
override;
60 void onEnterLocation()
override;
61 void onGameLoop()
override;
83 bool scrollToCoordinateSmooth(uint32 coordinate);
86 void scrollToCharacterImmediate();
89 void goToLayer(
Layer *layer);
96 void setHasActiveScroll();
101 void stopAllScrolls();
104 void startFollowingCharacter();
107 void stopFollowingCharacter();
109 void scrollToCoordinateImmediate(uint32 coordinate);
112 ItemVisual *getCharacterItem(int32 character)
const;
115 void registerCharacterItem(int32 character,
ItemVisual *item);
121 void resetAnimationBlending();
124 Sound *findStockSound(uint32 stockSoundType)
const;
127 void startRumble(int32 rumbleDurationRemaining);
130 void fadeInInit(int32 fadeDuration);
131 void fadeOutInit(int32 fadeDuration);
134 void swayScene(int32 periodMs,
const Math::Angle &angle,
float amplitude,
float offset);
137 void floatScene(int32 periodMs,
float amplitude,
float offset);
152 void printData()
override;
155 bool scrollToSmooth(
const Common::Point &position,
bool followCharacter);
158 uint getScrollStepFollow();
159 Common::Point getScrollPointFromCoordinate(uint32 coordinate)
const;
161 Sound *findStockSound(
const Object *parent, uint32 stockSoundType)
const;
164 Layer *_currentLayer;
167 bool _hasActiveScroll;
168 bool _scrollFollowCharacter;
172 uint getScrollStep();
175 CharacterMap _characterItemMap;
179 int32 _rumbleDurationRemaining;
186 Math::Angle _swayAngle;
187 float _swayAmplitude;
191 int32 _idleActionWaitMs;
193 int32 _floatPeriodMs;
194 float _floatAmplitude;
195 float _floatPosition;
201 #endif // STARK_RESOURCES_LOCATION_H
Definition: location.h:51
Definition: renderentry.h:67
Definition: stateprovider.h:51
Common::Array< Layer * > listLayers()
Definition: location.h:146