mirror of https://github.com/zeldaret/botw.git
commit
cef9c4a1b8
|
@ -88749,10 +88749,10 @@ Address,Quality,Size,Name
|
||||||
0x00000071010ba344,O,000596,_ZN4ksys13BasicProfiler3popEPKc
|
0x00000071010ba344,O,000596,_ZN4ksys13BasicProfiler3popEPKc
|
||||||
0x00000071010ba598,m,000176,_GLOBAL__sub_I_BasicProfiler.cpp
|
0x00000071010ba598,m,000176,_GLOBAL__sub_I_BasicProfiler.cpp
|
||||||
0x00000071010ba648,U,000212,
|
0x00000071010ba648,U,000212,
|
||||||
0x00000071010ba71c,U,000100,
|
0x00000071010ba71c,O,000100,_ZN4ksys13VideoRecorder18SingletonDisposer_D2Ev
|
||||||
0x00000071010ba780,U,000108,
|
0x00000071010ba780,O,000108,_ZN4ksys13VideoRecorder18SingletonDisposer_D0Ev
|
||||||
0x00000071010ba7ec,U,000240,VideoRecorder::createInstance
|
0x00000071010ba7ec,O,000240,_ZN4ksys13VideoRecorder14createInstanceEPN4sead4HeapE
|
||||||
0x00000071010ba8dc,U,000224,VideoRecorder::postCalc
|
0x00000071010ba8dc,O,000224,_ZN4ksys13VideoRecorder8postCalcEv
|
||||||
0x00000071010ba9bc,U,000004,nullsub_4499
|
0x00000071010ba9bc,U,000004,nullsub_4499
|
||||||
0x00000071010ba9c0,U,000004,j__ZdlPv_1189
|
0x00000071010ba9c0,U,000004,j__ZdlPv_1189
|
||||||
0x00000071010ba9c4,U,000004,nullsub_5565
|
0x00000071010ba9c4,U,000004,nullsub_5565
|
||||||
|
|
Can't render this file because it is too large.
|
2
lib/agl
2
lib/agl
|
@ -1 +1 @@
|
||||||
Subproject commit 62c3993c8ef9cd25b74281ad73d6f5f385048b9e
|
Subproject commit b31cfcd01e376e2fd4a2b45c2092a35c2c510847
|
2
lib/sead
2
lib/sead
|
@ -1 +1 @@
|
||||||
Subproject commit c51a95d08254765a9a4a9a799bb74be46fd51499
|
Subproject commit fe4018978ebc89f9b4df4cffc4b8af5c97bbcd74
|
|
@ -54,6 +54,8 @@ target_sources(uking PRIVATE
|
||||||
Timer.h
|
Timer.h
|
||||||
UIGlue.cpp
|
UIGlue.cpp
|
||||||
UIGlue.h
|
UIGlue.h
|
||||||
|
VideoRecorder.cpp
|
||||||
|
VideoRecorder.h
|
||||||
VFR.cpp
|
VFR.cpp
|
||||||
VFR.h
|
VFR.h
|
||||||
VFRValue.cpp
|
VFRValue.cpp
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
#include "KingSystem/System/VideoRecorder.h"
|
||||||
|
|
||||||
|
namespace ksys {
|
||||||
|
|
||||||
|
SEAD_SINGLETON_DISPOSER_IMPL(VideoRecorder)
|
||||||
|
|
||||||
|
void VideoRecorder::postCalc() {
|
||||||
|
if (!isCaptureEnabled())
|
||||||
|
return;
|
||||||
|
u32 framenum = mFrameNumber;
|
||||||
|
sead::FixedSafeString<0x100> output;
|
||||||
|
output.format("%s/%04d.tga", mFilename.cstr(), framenum);
|
||||||
|
agl::utl::ScreenShotMgr::instance()->reserveCaptureWithDebugHeap(
|
||||||
|
true, agl::TextureDataSerializerTGA::TGAFormat::_1, output, false);
|
||||||
|
mFrameNumber++;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace ksys
|
|
@ -0,0 +1,31 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <agl/utl/aglScreenShotMgr.h>
|
||||||
|
#include <basis/seadNew.h>
|
||||||
|
#include <heap/seadDisposer.h>
|
||||||
|
#include <prim/seadSafeString.h>
|
||||||
|
#include "KingSystem/Utils/Types.h"
|
||||||
|
|
||||||
|
namespace ksys {
|
||||||
|
|
||||||
|
class VideoRecorder {
|
||||||
|
SEAD_SINGLETON_DISPOSER(VideoRecorder)
|
||||||
|
VideoRecorder() = default;
|
||||||
|
virtual ~VideoRecorder();
|
||||||
|
|
||||||
|
public:
|
||||||
|
void postCalc();
|
||||||
|
bool isCaptureEnabled() const { return mCaptureEnabled; }
|
||||||
|
u32 getFrameNumber() const { return mFrameNumber; }
|
||||||
|
const sead::SafeString& getFileName() const { return mFilename; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool mCaptureEnabled = false;
|
||||||
|
bool _29 = true;
|
||||||
|
u32 mFrameNumber = 0;
|
||||||
|
sead::FixedSafeString<0x100> mFilename;
|
||||||
|
};
|
||||||
|
|
||||||
|
KSYS_CHECK_SIZE_NX150(VideoRecorder, 0x148);
|
||||||
|
|
||||||
|
} // namespace ksys
|
Loading…
Reference in New Issue