Skip to content

Commit 5b9ae33

Browse files
committed
fix sound emulation in doom; update to pause sound when doom is paused; update to have menu / game perform better (doom) by adding appropriate sleeps in the main loop and audio task; update pool to be able to query if pointer is in pool or not
1 parent 74e7b4d commit 5b9ae33

File tree

8 files changed

+366
-292
lines changed

8 files changed

+366
-292
lines changed

components/doom/include/doom.hpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77

88
void reset_doom();
99
void init_doom(const std::string& rom_filename, uint8_t *romdata, size_t rom_data_size);
10+
void doom_init_shared_memory();
11+
void pause_doom_tasks();
12+
void resume_doom_tasks();
1013
void load_doom(int save_slot);
1114
void save_doom(int save_slot);
1215
void run_doom_rom();

components/doom/prboom/z_zone.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,18 @@ void Z_Close(void)
179179

180180
static void* my_malloc(size_t size)
181181
{
182-
return pool_alloc(size);
182+
void * ptr = pool_alloc(size);
183+
if (!ptr) ptr = (malloc)(size);
184+
return ptr;
183185
}
184186

185187
static void my_free(void* p)
186188
{
187-
pool_free(p);
189+
if (pool_contains(p)) {
190+
pool_free(p);
191+
} else {
192+
(free)(p);
193+
}
188194
}
189195

190196
void Z_Init(void)

0 commit comments

Comments
 (0)