Skip to content

Commit 93ebd91

Browse files
committed
dsda: wipe wip
1 parent 28498da commit 93ebd91

File tree

5 files changed

+23
-13
lines changed

5 files changed

+23
-13
lines changed

Assets/dll/dsda.wbx.zst

664 Bytes
Binary file not shown.

src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public DSDA(CoreLoadParameters<DoomSettings, DoomSyncSettings> lp)
8484
+ "render_stretch_hud 0\n"
8585
+ "render_stretchsky 0\n"
8686
+ "render_doom_lightmaps 1\n"
87-
+ "render_wipescreen 0\n"
87+
+ "render_wipescreen 1\n"
8888
+ "map_coordinates 0\n"
8989
+ "map_totals 0\n"
9090
);

waterbox/dsda/BizhawkInterface.c

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "BizhawkInterface.h"
22

33
bool foundIWAD = false;
4+
bool wipeDone = true;
45

56
ECL_EXPORT void dsda_get_audio(int *n, void **buffer)
67
{
@@ -116,11 +117,19 @@ ECL_EXPORT void dsda_frame_advance(struct PackedPlayerInput *player1Inputs, stru
116117
if (!renderInfo->RenderAudio) headlessDisableAudioRendering();
117118
if (renderInfo->RenderAudio) headlessEnableAudioRendering();
118119

119-
// Running a single tick
120-
headlessRunSingleTick();
120+
if ((wipe_Pending() || !wipeDone) && dsda_RenderWipeScreen())
121+
{
122+
wipeDone = wipe_ScreenWipe(1);
123+
I_FinishUpdate();
124+
}
125+
else
126+
{
127+
// Running a single tick
128+
headlessRunSingleTick();
121129

122-
// Move positional sounds
123-
headlessUpdateSounds();
130+
// Move positional sounds
131+
headlessUpdateSounds();
132+
}
124133

125134
// Updating video
126135
if (renderInfo->RenderVideo)

waterbox/dsda/BizhawkInterface.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,16 @@
22
#define __BIZHAWK_INTERFACE__
33

44
#include "emulibc.h"
5+
#include "d_main.h"
56
#include "d_player.h"
67
#include "doomstat.h"
8+
#include "f_wipe.h"
79
#include "g_game.h"
10+
#include "i_sound.h"
11+
#include "i_video.h"
812
#include "p_mobj.h"
9-
#include "w_wad.h"
1013
#include "dsda/args.h"
14+
#include "dsda/settings.h"
1115

1216
extern int headlessMain(int argc, char **argv);
1317
extern void headlessRunSingleTick();
@@ -16,10 +20,6 @@ extern void headlessSetTickCommand(int playerId, int forwardSpeed, int strafingS
1620
extern void headlessGetMapName(char *outString);
1721
extern void headlessSetSaveStatePointer(void *savePtr, int saveStateSize);
1822
extern size_t headlessGetEffectiveSaveSize();
19-
extern void dsda_ArchiveAll(void);
20-
extern void dsda_UnArchiveAll(void);
21-
extern void D_AddFile (const char *file, wad_source_t source, void *const buffer, const size_t size);
22-
extern void AddIWAD(const char *iwad, void *const buffer, const size_t size);
2323

2424
// Video
2525
extern void headlessUpdateVideo(void);
@@ -35,8 +35,6 @@ extern uint32_t* headlessGetPallette();
3535
extern void headlessUpdateSounds(void);
3636
extern void headlessEnableAudioRendering();
3737
extern void headlessDisableAudioRendering();
38-
extern void I_InitSound(void);
39-
extern void I_SetSoundCap (void);
4038
extern uint8_t *I_CaptureAudio (int *nsamples);
4139

4240
// Players information
@@ -49,6 +47,9 @@ extern int numthings;
4947
extern mobj_t **mobj_ptrs;
5048
extern dsda_arg_t arg_value[dsda_arg_count];
5149

50+
#ifdef PALETTE_SIZE
51+
#undef PALETTE_SIZE
52+
#endif
5253
#define PALETTE_SIZE 256
5354
uint32_t _convertedPaletteBuffer[PALETTE_SIZE];
5455

0 commit comments

Comments
 (0)