dsda: wipe wip

This commit is contained in:
feos 2025-03-16 16:21:44 +03:00
parent 28498da7c1
commit 93ebd91971
5 changed files with 23 additions and 13 deletions

Binary file not shown.

View File

@ -84,7 +84,7 @@ namespace BizHawk.Emulation.Cores.Computers.Doom
+ "render_stretch_hud 0\n"
+ "render_stretchsky 0\n"
+ "render_doom_lightmaps 1\n"
+ "render_wipescreen 0\n"
+ "render_wipescreen 1\n"
+ "map_coordinates 0\n"
+ "map_totals 0\n"
);

View File

@ -1,6 +1,7 @@
#include "BizhawkInterface.h"
bool foundIWAD = false;
bool wipeDone = true;
ECL_EXPORT void dsda_get_audio(int *n, void **buffer)
{
@ -116,11 +117,19 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
if (!renderInfo->RenderAudio) headlessDisableAudioRendering();
if (renderInfo->RenderAudio) headlessEnableAudioRendering();
// Running a single tick
headlessRunSingleTick();
if ((wipe_Pending() || !wipeDone) && dsda_RenderWipeScreen())
{
wipeDone = wipe_ScreenWipe(1);
I_FinishUpdate();
}
else
{
// Running a single tick
headlessRunSingleTick();
// Move positional sounds
headlessUpdateSounds();
// Move positional sounds
headlessUpdateSounds();
}
// Updating video
if (renderInfo->RenderVideo)

View File

@ -2,12 +2,16 @@
#define __BIZHAWK_INTERFACE__
#include "emulibc.h"
#include "d_main.h"
#include "d_player.h"
#include "doomstat.h"
#include "f_wipe.h"
#include "g_game.h"
#include "i_sound.h"
#include "i_video.h"
#include "p_mobj.h"
#include "w_wad.h"
#include "dsda/args.h"
#include "dsda/settings.h"
extern int headlessMain(int argc, char **argv);
extern void headlessRunSingleTick();
@ -16,10 +20,6 @@ extern void headlessSetTickCommand(int playerId, int forwardSpeed, int strafingS
extern void headlessGetMapName(char *outString);
extern void headlessSetSaveStatePointer(void *savePtr, int saveStateSize);
extern size_t headlessGetEffectiveSaveSize();
extern void dsda_ArchiveAll(void);
extern void dsda_UnArchiveAll(void);
extern void D_AddFile (const char *file, wad_source_t source, void *const buffer, const size_t size);
extern void AddIWAD(const char *iwad, void *const buffer, const size_t size);
// Video
extern void headlessUpdateVideo(void);
@ -35,8 +35,6 @@ extern uint32_t* headlessGetPallette();
extern void headlessUpdateSounds(void);
extern void headlessEnableAudioRendering();
extern void headlessDisableAudioRendering();
extern void I_InitSound(void);
extern void I_SetSoundCap (void);
extern uint8_t *I_CaptureAudio (int *nsamples);
// Players information
@ -49,6 +47,9 @@ extern int numthings;
extern mobj_t **mobj_ptrs;
extern dsda_arg_t arg_value[dsda_arg_count];
#ifdef PALETTE_SIZE
#undef PALETTE_SIZE
#endif
#define PALETTE_SIZE 256
uint32_t _convertedPaletteBuffer[PALETTE_SIZE];

@ -1 +1 @@
Subproject commit 2f1f11a633b504f79adc7670a97e17ba0c2adb77
Subproject commit 3bb375388836ac6187cce61cc39ca50ae8b06a98