Start the patient rooms, resample and mix down sounds, add placeholder

door sounds
This commit is contained in:
blitzdoughnuts 2025-02-05 20:54:19 -05:00
parent a848fcc542
commit 0821267905
18 changed files with 33 additions and 27 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -83,9 +83,13 @@
- Going near the Pedestal will engage a cutscene
- After having a talk with The Motherfucker, exit the dark room.
SDL2:
- Figure out where the door SFX came from. They definitely weren't self-made, and while I remember they're CC0, I need to be able to prove it. As far as I know, I recall getting both door sounds from the same audio. All I know is that the audio is potentiall 44100 KHz, as the doorclose.wav sound is not resampled like dooropen.wav is. Some candidates:
- Figure out where the door SFX came from. They definitely weren't self-made, and while I remember they're CC0, I need to be able to prove it. As far as I know, I recall getting both door sounds from the same audio. All I know is that the audio is potentiall 44100 KHz, as the doorclose.wav sound is not resampled like dooropen.wav is. The earliest instance of these door sounds is June 12th, 2023. Some candidates:
- https://freesound.org/people/babuhr/sounds/513335/ (not it, but sounds akin to dooropen.wav)
- https://freesound.org/people/Pfannkuchn/sounds/342873/ (sounds similar to doorclose.wav, has different pitch)
- https://freesound.org/people/HECKFRICKER/sounds/669374/
- https://freesound.org/people/kyles/sounds/407311/ (has similar doorknob sounds, but too much reverb)
- https://freesound.org/people/SpliceSound/sounds/369888/ (peculiarly similar, not quite it though)a
- https://freesound.org/people/florianreichelt/sounds/451757/ (don't think this is it but DAMN it sounds very akin)
- Make font properly spaced (DONE)
- Remake Lucid Nightmares as a tracker module? It'll sound consistent across many platforms and won't be as expensive as WAV, OGG nor MIDI if on Fluidsynth (TRYING)
- Try using Fluidsynth directly instead of SDL2 Mixer? It may remove some bloat

View file

@ -24,13 +24,12 @@ Made by blitzdoughnuts
#define ROOM_HOUSE 0
#define ROOM_OUTDOORS 1
#define ROOM_STREETS 2
#define ROOM_H_ENT 3
#define ROOM_HOSPITAL 4
#define ROOM_H_PATIENTS 5
#define ROOM_H_HAMIE 6
#define ROOM_H_RICHIE 7
#define ROOM_H_DARK 8
#define ROOM_YOU 9
#define ROOM_HOSPITAL 3
#define ROOM_H_PATIENTS 4
#define ROOM_H_HAMIE 5
#define ROOM_H_RICHIE 6
#define ROOM_H_DARK 7
#define ROOM_YOU 8
#define ROOM_BAR 63
// artifacts
@ -92,7 +91,7 @@ Made by blitzdoughnuts
#define FADE_IN 2
// sprite numbers and lengths
#define WTH_PLR_SPRCOUNT 9
#define WTH_PLR_SPRCOUNT 10
#define WTH_PLR_IDLE_SPR 0
#define WTH_PLR_IDLE_LEN 1
#define WTH_PLR_IDLE1_SPR 4
@ -111,6 +110,8 @@ Made by blitzdoughnuts
#define WTH_PLR_DNSTAIR1_LEN 2
#define WTH_PLR_DNSTAIR2_SPR 8
#define WTH_PLR_DNSTAIR2_LEN 3
#define WTH_PLR_SPOOKED_SPR 9
#define WTH_PLR_SPOOKED_LEN 30
// player sprites
#define WTH_SPRCOUNT 27

24
game.h
View file

@ -10,12 +10,6 @@ Made by blitzdoughnuts
#include "settings.h"
#include "constants.h"
#define ACHIEVE_BEATME 1
#define ACHIEVE_NOCOAT 1 << 1
#define ACHIEVE_RISQUE 1 << 2
#define ACHIEVE_MYBLUD 1 << 3
#define ACHIEVE_NOTIME 1 << 4
// draw calls
#define DRAW_PLRUPARROW 1
#define DRAW_PLRDNARROW 2
@ -200,9 +194,9 @@ static inline void LoadInRoom() {
interacts[0].vars[2] = 2;
addObject(368, 135, INTERTYPE_ARTIFACT);
interacts[1].vars[0] = ARTIFACT_BADGE;
if (plr.artifacts <= 15) {
if (plr.artifacts < (1 << ARTIFACT_BADGE) + (1 << ARTIFACT_KNIFE) + (1 << ARTIFACT_MIRROR) + (1 << ARTIFACT_DONUT)) {
addObject(-20, GROUNDLEVEL, INTERTYPE_DOOR);
interacts[2].vars[0] = ROOM_H_ENT;
interacts[2].vars[0] = ROOM_STREETS;
interacts[2].vars[2] = 1;
} else {
addObject(-20, GROUNDLEVEL, INTERTYPE_DOORSLAM);
@ -467,6 +461,10 @@ void interact_step(WTH_Interactible *REF) {
if (REF->flags & 1 << 1) break;
if (plr.x > REF->x + 320) {
plr.state = PSTATE_CUTSCENE;
plr.animindex = WTH_PLR_SPOOKED_SPR;
plr.animframe = 0;
plr.animtimer = 0;
plr.animflimit = WTH_PLR_SPOOKED_LEN;
REF->flags ^= 1 << 1;
//TODO: game flag for triggering the door slam cutscene?
};
@ -651,7 +649,9 @@ void step() {
switch (level)
{
case ROOM_HOSPITAL:
WTH_PRINT("Lukifer jumps as the door slams behind him.");
if (plr.animframe == WTH_PLR_SPOOKED_LEN) {
plr.state = PSTATE_NORMAL;
};
break;
};
break;
@ -719,10 +719,10 @@ void step() {
if (plr.animframe > plr.animflimit) plr.animframe = 0;
}
if (plr.flags & FLAG_GROUNDED) {
if (plr.animframe == 1 && plr.animflimit == WTH_PLR_WALK_LEN && !(plr.flags & FLAG_STEPDEBOUNCE)) {
if (plr.animindex == WTH_PLR_WALK_SPR && plr.animframe == 1 && plr.animflimit == WTH_PLR_WALK_LEN && !(plr.flags & FLAG_STEPDEBOUNCE)) {
signalPlaySFX(0);
plr.flags += FLAG_STEPDEBOUNCE;
} else if (plr.animframe != 1 && (plr.flags & FLAG_STEPDEBOUNCE)) plr.flags -= FLAG_STEPDEBOUNCE;
plr.flags ^= FLAG_STEPDEBOUNCE;
} else if ((plr.animframe != 1 || plr.animindex != WTH_PLR_WALK_SPR) && (plr.flags & FLAG_STEPDEBOUNCE)) plr.flags ^= FLAG_STEPDEBOUNCE;
};
if (keyPressed(KEY_MENU)) {

View file

@ -321,7 +321,7 @@ void draw() {
// draw background
switch (level)
{
case ROOM_TEST: case ROOM_STREETS: case ROOM_H_ENT:
case ROOM_TEST: case ROOM_STREETS:
drawRepeatingSprite(sprites[WTH_SPR_BG_STREET], -cam_x, -cam_y);
break;
case ROOM_HOUSE:
@ -392,7 +392,6 @@ void draw() {
case ROOM_HOUSE: drawTextString("House", 0, 0, 0); break;
case ROOM_OUTDOORS: drawTextString("Outside of House", 0, 0, 0); break;
case ROOM_STREETS: drawTextString("Endless Sidewalk", 0, 0, 0); break;
case ROOM_H_ENT: drawTextString("Hospital Entrance", 0, 0, 0); break;
case ROOM_HOSPITAL: drawTextString("Hospital Lobby", 0, 0, 0); break;
case ROOM_H_PATIENTS: drawTextString("Hospital Patient Lobby", 0, 0, 0); break;
case ROOM_H_HAMIE: drawTextString("Hamie's Room", 0, 0, 0); break;
@ -753,6 +752,7 @@ int main(int argc, char *argv[]) {
plrsprites[WTH_PLR_UPSTAIR2_SPR] = IMG_LoadTexture(render, "sprites/plr_upstairs2.png");
plrsprites[WTH_PLR_DNSTAIR1_SPR] = IMG_LoadTexture(render, "sprites/plr_idle1.png");
plrsprites[WTH_PLR_DNSTAIR2_SPR] = IMG_LoadTexture(render, "sprites/plr_walk.png");
plrsprites[WTH_PLR_SPOOKED_SPR] = IMG_LoadTexture(render, "sprites/plr_walk.png");
// NO COAT
plrsprites[WTH_PLR_SPRCOUNT + WTH_PLR_IDLE_SPR] = IMG_LoadTexture(render, "sprites/plr_idle_coatless.png");
plrsprites[WTH_PLR_SPRCOUNT + WTH_PLR_WALK_SPR] = IMG_LoadTexture(render, "sprites/plr_walk_coatless.png");
@ -763,6 +763,7 @@ int main(int argc, char *argv[]) {
plrsprites[WTH_PLR_SPRCOUNT + WTH_PLR_UPSTAIR2_SPR] = IMG_LoadTexture(render, "sprites/plr_upstairs2.png");
plrsprites[WTH_PLR_SPRCOUNT + WTH_PLR_DNSTAIR1_SPR] = IMG_LoadTexture(render, "sprites/plr_idle1.png");
plrsprites[WTH_PLR_SPRCOUNT + WTH_PLR_DNSTAIR2_SPR] = IMG_LoadTexture(render, "sprites/plr_walk_coatless.png");
plrsprites[WTH_PLR_SPRCOUNT + WTH_PLR_SPOOKED_SPR] = IMG_LoadTexture(render, "sprites/plr_walk_coatless.png");
sprites[WTH_SPR_MENU] = IMG_LoadTexture(render, "sprites/MENU.png");
sprites[WTH_SPR_FONTMAP] = IMG_LoadTexture(render, "sprites/fontmap.png");

View file

@ -3,14 +3,14 @@ A game made with love and hatred by blitzdoughnuts
This is an adventure-esque game where you play as Lukifer Dredd, a former surgeon at an old hospital. Today he's planning to head back and face what he hated to face most... although there are no faces other than his.
Go around and explore the streets of this unknown town in Florida. Find hints, gizmos, and other neat interactions among the many locations you'll cross on the way.
Go around and explore the streets of this unknown town in Florida. Find hints, gizmos, and other neat interactions among the many locations you'll cross on the way. You may also discover things you may not have wanted to find...
NOTE: If you got this game from anywhere other than https://git.coom.tech/blitzdoughnuts/WakeToHell, https://gitlab.com/ApplemunchFromDaDead/waketohell, https://git.disroot.org/blitzdoughnuts/WakeToHell. or https://blitzdoughnuts.itch.io/wake-to-hell, the version of the game you have may have unofficial changes.
CONTROLS:
[Z] - Gesture / Confirm / Exit book
[Left arrow] and [Right arrow] - Move horizontally
[Up arrow] and [Down arrow] - Interact
[Up arrow] and [Down arrow] - Interact / Enter Door
[WASD] - Move camera (NEEDS FREECAM ENABLED)
CMD PARAMETERS:
@ -19,7 +19,7 @@ CMD PARAMETERS:
See MANUAL.md for some gameplay tips and such.
This is *FREE SOFTWARE*, all licensed under the Creative Commons 0 with an additional waiver of any remaining rights, to be given to the *public domain*. You should have a copy of the Creative Commons 0 document packaged with this game. You may find the source code to the game in one of the following locations:
This is *FREE SOFTWARE*, all licensed under the Creative Commons 0 with an additional waiver of any remaining rights, to be given to the *public domain*. You should have a copy of the Creative Commons 0 document along with the source code packaged with this game. You may find the source code to the game in one of the following locations:
- https://git.coom.tech/blitzdoughnuts/WakeToHell
- https://gitlab.com/ApplemunchFromDaDead/waketohell
- https://git.disroot.org/blitzdoughnuts/WakeToHell

View file

@ -32,7 +32,7 @@
gameplay */
//#define WTH_LOOPOBJS
//#define WTH_DEBUG // Enable debugging options that show variables and other details
#define WTH_DEBUG // Enable debugging options that show variables and other details
//#define WTH_NOOPTIONS // Disable the Options menu and use the DEFAULT_OPTIONS macro
//#define WTH_DEMOS // Enable demo recording on frontends that support it
//#define WTH_NOSOUND // Disable audio on frontends that use it

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sfx/doorclose.wav Normal file

Binary file not shown.

BIN
sfx/dooropen.wav Normal file

Binary file not shown.

BIN
sprites/bg_hos_hamie.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
sprites/bg_hos_richie.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB