1#include "Sequence/HakoniwaSequence.h"
2
3#include <common/aglDrawContext.h>
4#include <common/aglRenderBuffer.h>
5#include <gfx/seadViewport.h>
6
7#include "Library/Layout/LayoutUtil.h"
8#include "Library/Screen/ScreenFunction.h"
9#include "Library/Sequence/Sequence.h"
10#include "Library/System/GameSystemInfo.h"
11
12void HakoniwaSequence::drawMain() const {
13 al::Sequence::drawMain();
14 al::DrawSystemInfo* info = getDrawInfo();
15 agl::DrawContext* context = info->drawContext;
16 const agl::RenderBuffer* buffer = info->dockedRenderBuffer;
17 if (!info->isDocked)
18 buffer = info->handheldRenderBuffer;
19
20 mScreenCaptureExecutor->tryCaptureAndDraw(context, buffer, 0);
21 sead::Viewport viewport = sead::Viewport(*buffer);
22 viewport.apply(context, buffer: *buffer);
23 buffer->bind(draw_context: context);
24 al::setRenderBuffer(mLayoutKit, buffer);
25 al::executeDraw(mLayoutKit, "2Dバック(メイン画面)");
26 al::executeDraw(mLayoutKit, "2Dベース(メイン画面)");
27 al::executeDraw(mLayoutKit, "2Dオーバー(メイン画面)");
28}
29