LeviLamina
Loading...
Searching...
No Matches
InGamePlayScreen.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/client/gui/screens/BaseScreen.h"
7#include "mc/client/renderer/game/OnCameraEffectRenderer.h"
8#include "mc/deps/core/math/Vec2.h"
9#include "mc/deps/core/math/Vec3.h"
10#include "mc/deps/core/utility/NonOwnerPointer.h"
11#include "mc/deps/input/InputMode.h"
12#include "mc/deps/input/enums/DirectionId.h"
13#include "mc/deps/input/enums/FocusImpact.h"
14
15// auto generated forward declare list
16// clang-format off
17class Actor;
18class Frustum;
19class HitResult;
20class IClientInstance;
21class IMinecraftGame;
22class LevelRenderer;
23class Player;
24class RectangleArea;
25class ScreenContext;
28struct ScreenSizeData;
29namespace mce { class Camera; }
30// clang-format on
31
32class InGamePlayScreen : public ::BaseScreen {
33public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<4, 12, ::Vec3> mPickDirection;
37 ::ll::TypedStorage<4, 8, ::Vec2> mTurnDelta;
38 ::ll::TypedStorage<4, 8, ::Vec2> mLastPlayerRotation;
39 ::ll::TypedStorage<4, 8, ::Vec2> mLastPlayerAngleVel;
40 ::ll::TypedStorage<4, 8, ::Vec2> mLastHandRotation;
41 ::ll::TypedStorage<4, 8, ::Vec2> mLastHandVel;
42 ::ll::TypedStorage<8, 8, double> mLastTime;
43 ::ll::TypedStorage<8, 8, double> mLastVRStepSoundTime;
44 ::ll::TypedStorage<4, 12, ::Vec3> mPreviousDirectTurnVector;
45 ::ll::TypedStorage<4, 4, float> mTapTurnAmountRadians;
46 ::ll::TypedStorage<4, 4, float> mLastDirectTurnAmountRadians;
47 ::ll::TypedStorage<4, 4, float> mRotXTouch;
48 ::ll::TypedStorage<4, 4, float> mRotYTouch;
49 ::ll::TypedStorage<4, 4, float> mRotXTouchLast;
50 ::ll::TypedStorage<4, 4, float> mRotYTouchLast;
51 ::ll::TypedStorage<4, 4, float> mLastTickT;
52 ::ll::TypedStorage<4, 4, int> mTick;
53 ::ll::TypedStorage<1, 1, bool> mTapTurnActive;
54 ::ll::TypedStorage<1, 1, bool> mPrevTapTurnActive;
55 ::ll::TypedStorage<1, 1, bool> mPrevAtBorder;
56 ::ll::TypedStorage<1, 1, bool> mRollTurnTempActivation;
57 ::ll::TypedStorage<4, 4, float> mDXLast;
58 ::ll::TypedStorage<4, 4, float> mDYLast;
59 ::ll::TypedStorage<4, 12, ::Vec3> mLastHitLocation;
60 ::ll::TypedStorage<1, 1, bool> mbHitLocationRecorded;
61 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::FullScreenEffectRenderer>> mFullscreenEffectRenderer;
62 ::ll::TypedStorage<8, 176, ::OnCameraEffectRenderer> mOnCameraEffectRenderer;
63 ::ll::TypedStorage<8, 8, ::IMinecraftGame&> mMinecraft;
64 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance>> mClient;
65 // NOLINTEND
66
67public:
68 // prevent constructor by default
69 InGamePlayScreen& operator=(InGamePlayScreen const&);
70 InGamePlayScreen(InGamePlayScreen const&);
71 InGamePlayScreen();
72
73public:
74 // virtual functions
75 // NOLINTBEGIN
76 virtual ~InGamePlayScreen() /*override*/;
77
78 virtual void applyInput(float a) /*override*/;
79
80 virtual void prepareFrame(::ScreenContext& screenContext) /*override*/;
81
82 virtual void render(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj) /*override*/;
83
84 virtual void postRenderUpdate(::ScreenContext&) /*override*/;
85
86 virtual void onFocusGained() /*override*/;
87
88 virtual bool renderGameBehind() const /*override*/;
89
90 virtual void tick(int nTick, int maxTick) /*override*/;
91
92 virtual bool isShowingMenu() const /*override*/;
93
94 virtual bool isModal() const /*override*/;
95
96 virtual bool renderOnlyWhenTopMost() const /*override*/;
97
98 virtual bool shouldStealMouse() const /*override*/;
99
100 virtual void handleDirection(::DirectionId directionId, float dx, float dy, ::FocusImpact) /*override*/;
101
102 virtual void handlePointerPressed(bool pressed) /*override*/;
103
104 virtual void init(::ScreenSizeData const& screenSizeData) /*override*/;
105
106 virtual ::std::string getScreenName() const /*override*/;
107
108 virtual bool equalsScreenName(::std::string_view comparison) const /*override*/;
109
110 virtual bool containsScreenNameSubstring(::std::string_view substring) const /*override*/;
111
112 virtual bool isPlayScreen() const /*override*/;
113
114 virtual ::RectangleArea getAreaOfControlByName(::std::string const&) const /*override*/;
115
116 virtual bool forceUpdateActiveSceneStackWhenPushed() const /*override*/;
117
118 virtual bool _isPlayerSuspended() const;
119
120 virtual void
121 _renderLevelPrep(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer, ::Actor& cameraEntity);
122
123 virtual void _renderLevel(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj);
124
125 virtual void _preLevelRender(::ScreenContext& screenContext);
126
127 virtual void _postLevelRender(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer);
128
129 virtual bool _shouldRenderFirstPersonObjects(::LevelRenderer& levelRenderer) const;
130
131 virtual bool _updateFreeformPickDirection(
132 float,
133 ::Vec3& outSrc,
134 ::Vec3& outDir,
135 ::HitResult& outHitResult,
136 ::HitResult& outLiquidHit
137 );
138
139 virtual void _saveMatrices(::mce::Camera& camera);
140
141 virtual void _renderTransparentFirstPerson3DObjects(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer);
142
143 virtual void _renderItemInHand(::ScreenContext& screenContext, ::Player& player);
144
145 virtual void _prepareCuller(::mce::Camera& camera, ::Frustum& frustumData);
146
147 virtual void _localPlayerTurned(float yawDegrees);
148
149 virtual float _getPickRange();
150
151 virtual bool _shouldPushHUD();
152
153 virtual void _updateInGameCursor();
154 // NOLINTEND
155
156public:
157 // member functions
158 // NOLINTBEGIN
159 MCAPI
160 InGamePlayScreen(::IMinecraftGame& minecraftGame, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client);
161
162 MCAPI void _applyInput_Standard(::InputMode const& inputMode, float xo, float yo, float a);
163
164 MCAPI void _pick(float a);
165
166 MCAPI bool _showHand() const;
167
168 MCAPI void _tryTickRelativeStrafeRotation();
169 // NOLINTEND
170
171public:
172 // static functions
173 // NOLINTBEGIN
174 MCAPI static ::Vec2
175 calculateTurnDelta(::IClientInstance const& client, ::Vec2 const& newDelta, ::Vec2 const& currentDelta);
176 // NOLINTEND
177
178public:
179 // constructor thunks
180 // NOLINTBEGIN
181 MCAPI void* $ctor(::IMinecraftGame& minecraftGame, ::Bedrock::NotNullNonOwnerPtr<::IClientInstance> const& client);
182 // NOLINTEND
183
184public:
185 // destructor thunk
186 // NOLINTBEGIN
187 MCAPI void $dtor();
188 // NOLINTEND
189
190public:
191 // virtual function thunks
192 // NOLINTBEGIN
193 MCAPI void $applyInput(float a);
194
195 MCAPI void $prepareFrame(::ScreenContext& screenContext);
196
197 MCAPI void $render(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj);
198
199 MCFOLD void $postRenderUpdate(::ScreenContext&);
200
201 MCFOLD void $onFocusGained();
202
203 MCFOLD bool $renderGameBehind() const;
204
205 MCAPI void $tick(int nTick, int maxTick);
206
207 MCFOLD bool $isShowingMenu() const;
208
209 MCFOLD bool $isModal() const;
210
211 MCFOLD bool $renderOnlyWhenTopMost() const;
212
213 MCAPI bool $shouldStealMouse() const;
214
215 MCAPI void $handleDirection(::DirectionId directionId, float dx, float dy, ::FocusImpact);
216
217 MCAPI void $handlePointerPressed(bool pressed);
218
219 MCAPI void $init(::ScreenSizeData const& screenSizeData);
220
221 MCAPI ::std::string $getScreenName() const;
222
223 MCAPI bool $equalsScreenName(::std::string_view comparison) const;
224
225 MCAPI bool $containsScreenNameSubstring(::std::string_view substring) const;
226
227 MCFOLD bool $isPlayScreen() const;
228
229 MCFOLD ::RectangleArea $getAreaOfControlByName(::std::string const&) const;
230
231 MCFOLD bool $forceUpdateActiveSceneStackWhenPushed() const;
232
233 MCAPI bool $_isPlayerSuspended() const;
234
235 MCAPI void $_renderLevelPrep(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer, ::Actor& cameraEntity);
236
237 MCAPI void $_renderLevel(::ScreenContext& screenContext, ::FrameRenderObject const& renderObj);
238
239 MCFOLD void $_preLevelRender(::ScreenContext& screenContext);
240
241 MCAPI void $_postLevelRender(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer);
242
243 MCAPI bool $_shouldRenderFirstPersonObjects(::LevelRenderer& levelRenderer) const;
244
245 MCAPI bool $_updateFreeformPickDirection(
246 float,
247 ::Vec3& outSrc,
248 ::Vec3& outDir,
249 ::HitResult& outHitResult,
250 ::HitResult& outLiquidHit
251 );
252
253 MCAPI void $_saveMatrices(::mce::Camera& camera);
254
255 MCAPI void $_renderTransparentFirstPerson3DObjects(::ScreenContext& screenContext, ::LevelRenderer& levelRenderer);
256
257 MCAPI void $_renderItemInHand(::ScreenContext& screenContext, ::Player& player);
258
259 MCAPI void $_prepareCuller(::mce::Camera& camera, ::Frustum& frustumData);
260
261 MCFOLD void $_localPlayerTurned(float yawDegrees);
262
263 MCAPI float $_getPickRange();
264
265 MCFOLD bool $_shouldPushHUD();
266
267 MCFOLD void $_updateInGameCursor();
268 // NOLINTEND
269
270public:
271 // vftables
272 // NOLINTBEGIN
273 MCNAPI static void** $vftable();
274 // NOLINTEND
275};
Definition Actor.h:105
Definition BaseScreen.h:5
Definition Frustum.h:5
Definition HitResult.h:17
Definition IClientInstance.h:5
Definition IMinecraftGame.h:5
Definition InGamePlayScreen.h:5
static MCAPI void ** $vftable()
Definition LevelRenderer.h:5
Definition Player.h:125
Definition RectangleArea.h:5
Definition ScreenContext.h:5
Definition Camera.h:7
Definition FrameRenderObject.h:5
Definition FullScreenEffectRenderer.h:5
Definition ScreenSizeData.h:5