mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 05:40:00 +00:00
Original screen grabber
This commit is contained in:
parent
489743da41
commit
e7945625b5
|
@ -19,4 +19,5 @@ public:
|
||||||
static bool ReadLine(int fd, char *buf, int len);
|
static bool ReadLine(int fd, char *buf, int len);
|
||||||
static int CloseFile(int fd);
|
static int CloseFile(int fd);
|
||||||
static int GetErrorReadWrite(int fd);
|
static int GetErrorReadWrite(int fd);
|
||||||
|
static char *GetRootDirName() { return ms_rootDirName; }
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "rpmatfx.h"
|
#include "rpmatfx.h"
|
||||||
#include "rphanim.h"
|
#include "rphanim.h"
|
||||||
#include "rpskin.h"
|
#include "rpskin.h"
|
||||||
|
#include "rtbmp.h"
|
||||||
|
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "CdStream.h"
|
#include "CdStream.h"
|
||||||
|
@ -61,6 +62,7 @@
|
||||||
#include "MemoryCard.h"
|
#include "MemoryCard.h"
|
||||||
#include "SceneEdit.h"
|
#include "SceneEdit.h"
|
||||||
#include "debugmenu.h"
|
#include "debugmenu.h"
|
||||||
|
#include "Clock.h"
|
||||||
|
|
||||||
GlobalScene Scene;
|
GlobalScene Scene;
|
||||||
|
|
||||||
|
@ -288,6 +290,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
|
void
|
||||||
DoRWStuffEndOfFrame(void)
|
DoRWStuffEndOfFrame(void)
|
||||||
{
|
{
|
||||||
|
@ -296,6 +320,20 @@ DoRWStuffEndOfFrame(void)
|
||||||
FlushObrsPrintfs();
|
FlushObrsPrintfs();
|
||||||
RwCameraEndUpdate(Scene.camera);
|
RwCameraEndUpdate(Scene.camera);
|
||||||
RsCameraShowRaster(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
|
static RwBool
|
||||||
|
|
|
@ -181,6 +181,22 @@ psCameraShowRaster(RwCamera *camera)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*****************************************************************************
|
||||||
|
*/
|
||||||
|
RwImage *
|
||||||
|
psGrabScreen(RwCamera *pCamera)
|
||||||
|
{
|
||||||
|
#ifndef LIBRW
|
||||||
|
RwRaster *pRaster = RwCameraGetRaster(pCamera);
|
||||||
|
if (RwImage *pImage = RwImageCreate(pRaster->width, pRaster->height, 32)) {
|
||||||
|
RwImageAllocatePixels(pImage);
|
||||||
|
RwImageSetFromRaster(pImage, pRaster);
|
||||||
|
return pImage;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
|
|
|
@ -22,6 +22,7 @@ extern void psTerminate(void);
|
||||||
|
|
||||||
extern void psCameraShowRaster(RwCamera *camera);
|
extern void psCameraShowRaster(RwCamera *camera);
|
||||||
extern RwBool psCameraBeginUpdate(RwCamera *camera);
|
extern RwBool psCameraBeginUpdate(RwCamera *camera);
|
||||||
|
extern RwImage *psGrabScreen(RwCamera *camera);
|
||||||
|
|
||||||
extern void psMouseSetPos(RwV2d *pos);
|
extern void psMouseSetPos(RwV2d *pos);
|
||||||
|
|
||||||
|
|
|
@ -50,6 +50,15 @@ RsCameraBeginUpdate(RwCamera * camera)
|
||||||
return psCameraBeginUpdate(camera);
|
return psCameraBeginUpdate(camera);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*****************************************************************************
|
||||||
|
*/
|
||||||
|
RwImage*
|
||||||
|
RsGrabScreen(RwCamera *camera)
|
||||||
|
{
|
||||||
|
return psGrabScreen(camera);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -274,6 +274,9 @@ RsCameraBeginUpdate(RwCamera *camera);
|
||||||
//extern void
|
//extern void
|
||||||
//RsMouseSetVisibility(RwBool visible);
|
//RsMouseSetVisibility(RwBool visible);
|
||||||
|
|
||||||
|
extern RwImage*
|
||||||
|
RsGrabScreen(RwCamera *camera);
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
RsMouseSetPos(RwV2d *pos);
|
RsMouseSetPos(RwV2d *pos);
|
||||||
|
|
||||||
|
|
|
@ -238,6 +238,23 @@ psCameraShowRaster(RwCamera *camera)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*****************************************************************************
|
||||||
|
*/
|
||||||
|
RwImage *
|
||||||
|
psGrabScreen(RwCamera *pCamera)
|
||||||
|
{
|
||||||
|
#ifndef LIBRW
|
||||||
|
RwRaster *pRaster = RwCameraGetRaster(pCamera);
|
||||||
|
if (RwImage *pImage = RwImageCreate(pRaster->width, pRaster->height, 32)) {
|
||||||
|
RwImageAllocatePixels(pImage);
|
||||||
|
RwImageSetFromRaster(pImage, pRaster);
|
||||||
|
return pImage;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue