diff options
author | Sergeanur <s.anureev@yandex.ua> | 2020-08-15 14:13:46 +0200 |
---|---|---|
committer | Sergeanur <s.anureev@yandex.ua> | 2020-08-15 14:13:46 +0200 |
commit | 9956b277674563015816e1695f05c6bc4a507fda (patch) | |
tree | e0b513c635c57e74aca0346c0bab5eba748f1186 /src/core | |
parent | Merge pull request #686 from erorcun/miami (diff) | |
parent | Don't react if player's targeting with melee (diff) | |
download | re3-9956b277674563015816e1695f05c6bc4a507fda.tar re3-9956b277674563015816e1695f05c6bc4a507fda.tar.gz re3-9956b277674563015816e1695f05c6bc4a507fda.tar.bz2 re3-9956b277674563015816e1695f05c6bc4a507fda.tar.lz re3-9956b277674563015816e1695f05c6bc4a507fda.tar.xz re3-9956b277674563015816e1695f05c6bc4a507fda.tar.zst re3-9956b277674563015816e1695f05c6bc4a507fda.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/FileMgr.h | 1 | ||||
-rw-r--r-- | src/core/main.cpp | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/core/FileMgr.h b/src/core/FileMgr.h index 51e30694..8278953b 100644 --- a/src/core/FileMgr.h +++ b/src/core/FileMgr.h @@ -19,4 +19,5 @@ public: static bool ReadLine(int fd, char *buf, int len); static int CloseFile(int fd); static int GetErrorReadWrite(int fd); + static char *GetRootDirName() { return ms_rootDirName; } }; diff --git a/src/core/main.cpp b/src/core/main.cpp index 83d4b66e..533ab446 100644 --- a/src/core/main.cpp +++ b/src/core/main.cpp @@ -2,6 +2,7 @@ #include "rpmatfx.h" #include "rphanim.h" #include "rpskin.h" +#include "rtbmp.h" #include "main.h" #include "CdStream.h" @@ -61,6 +62,7 @@ #include "MemoryCard.h" #include "SceneEdit.h" #include "debugmenu.h" +#include "Clock.h" #include "Occlusion.h" #include "Ropes.h" @@ -279,6 +281,28 @@ DoFade(void) } } +bool +RwGrabScreen(RwCamera *camera, RwChar *filename) +{ + char temp[255]; + RwImage *pImage = RsGrabScreen(camera); + bool result = true; + + if (pImage == nil) + return false; + + strcpy(temp, CFileMgr::GetRootDirName()); + strcat(temp, filename); + + if (RtBMPImageWrite(pImage, &temp[0]) == nil) + result = false; + RwImageDestroy(pImage); + return result; +} + +#define TILE_WIDTH 576 +#define TILE_HEIGHT 432 + void DoRWStuffEndOfFrame(void) { @@ -287,6 +311,20 @@ DoRWStuffEndOfFrame(void) FlushObrsPrintfs(); RwCameraEndUpdate(Scene.camera); RsCameraShowRaster(Scene.camera); +#ifndef MASTER + char s[48]; + if (CPad::GetPad(1)->GetLeftShockJustDown()) { + // try using both controllers for this thing... crazy bastards + if (CPad::GetPad(0)->GetRightStickY() > 0) { + sprintf(s, "screen%d%d.ras", CClock::ms_nGameClockHours, CClock::ms_nGameClockMinutes); + // TODO + //RtTileRender(Scene.camera, TILE_WIDTH * 2, TILE_HEIGHT * 2, TILE_WIDTH, TILE_HEIGHT, &NewTileRendererCB, nil, s); + } else { + sprintf(s, "screen%d%d.bmp", CClock::ms_nGameClockHours, CClock::ms_nGameClockMinutes); + RwGrabScreen(Scene.camera, s); + } + } +#endif // !MASTER } static RwBool |