diff --git a/assets/sounds/strings/strings_048.wav b/assets/sounds/strings/strings_048.wav index fd16492..5c65171 100644 Binary files a/assets/sounds/strings/strings_048.wav and b/assets/sounds/strings/strings_048.wav differ diff --git a/assets/sounds/strings/strings_049.wav b/assets/sounds/strings/strings_049.wav index 5376926..2743bbb 100644 Binary files a/assets/sounds/strings/strings_049.wav and b/assets/sounds/strings/strings_049.wav differ diff --git a/assets/sounds/strings/strings_050.wav b/assets/sounds/strings/strings_050.wav index 17c053e..9c99c38 100644 Binary files a/assets/sounds/strings/strings_050.wav and b/assets/sounds/strings/strings_050.wav differ diff --git a/assets/sounds/strings/strings_051.wav b/assets/sounds/strings/strings_051.wav index 95c7d75..d5e84e5 100644 Binary files a/assets/sounds/strings/strings_051.wav and b/assets/sounds/strings/strings_051.wav differ diff --git a/assets/sounds/strings/strings_052.wav b/assets/sounds/strings/strings_052.wav index 73def98..f42d9cf 100644 Binary files a/assets/sounds/strings/strings_052.wav and b/assets/sounds/strings/strings_052.wav differ diff --git a/assets/sounds/strings/strings_053.wav b/assets/sounds/strings/strings_053.wav index 36b8434..8923c5e 100644 Binary files a/assets/sounds/strings/strings_053.wav and b/assets/sounds/strings/strings_053.wav differ diff --git a/assets/sounds/strings/strings_054.wav b/assets/sounds/strings/strings_054.wav index 3922ebc..1ed156b 100644 Binary files a/assets/sounds/strings/strings_054.wav and b/assets/sounds/strings/strings_054.wav differ diff --git a/assets/sounds/strings/strings_055.wav b/assets/sounds/strings/strings_055.wav index ead4442..4a2bb56 100644 Binary files a/assets/sounds/strings/strings_055.wav and b/assets/sounds/strings/strings_055.wav differ diff --git a/assets/sounds/strings/strings_056.wav b/assets/sounds/strings/strings_056.wav index fe8bf78..245d408 100644 Binary files a/assets/sounds/strings/strings_056.wav and b/assets/sounds/strings/strings_056.wav differ diff --git a/assets/sounds/strings/strings_057.wav b/assets/sounds/strings/strings_057.wav index 8ff99d5..7045290 100644 Binary files a/assets/sounds/strings/strings_057.wav and b/assets/sounds/strings/strings_057.wav differ diff --git a/assets/sounds/strings/strings_058.wav b/assets/sounds/strings/strings_058.wav index db9ddb3..644ed1a 100644 Binary files a/assets/sounds/strings/strings_058.wav and b/assets/sounds/strings/strings_058.wav differ diff --git a/assets/sounds/strings/strings_059.wav b/assets/sounds/strings/strings_059.wav index ef2bf01..da151c6 100644 Binary files a/assets/sounds/strings/strings_059.wav and b/assets/sounds/strings/strings_059.wav differ diff --git a/assets/sounds/strings/strings_060.wav b/assets/sounds/strings/strings_060.wav index 1a6c399..ed6ff6d 100644 Binary files a/assets/sounds/strings/strings_060.wav and b/assets/sounds/strings/strings_060.wav differ diff --git a/assets/sounds/strings/strings_061.wav b/assets/sounds/strings/strings_061.wav index 7f60c2e..0af141c 100644 Binary files a/assets/sounds/strings/strings_061.wav and b/assets/sounds/strings/strings_061.wav differ diff --git a/assets/sounds/strings/strings_062.wav b/assets/sounds/strings/strings_062.wav index fadbbb5..e53896a 100644 Binary files a/assets/sounds/strings/strings_062.wav and b/assets/sounds/strings/strings_062.wav differ diff --git a/assets/sounds/strings/strings_063.wav b/assets/sounds/strings/strings_063.wav index fe6ba90..a6ff71d 100644 Binary files a/assets/sounds/strings/strings_063.wav and b/assets/sounds/strings/strings_063.wav differ diff --git a/assets/sounds/strings/strings_064.wav b/assets/sounds/strings/strings_064.wav index d6ba55b..28ef54c 100644 Binary files a/assets/sounds/strings/strings_064.wav and b/assets/sounds/strings/strings_064.wav differ diff --git a/assets/sounds/strings/strings_065.wav b/assets/sounds/strings/strings_065.wav index a6036a2..11ca35b 100644 Binary files a/assets/sounds/strings/strings_065.wav and b/assets/sounds/strings/strings_065.wav differ diff --git a/assets/sounds/strings/strings_066.wav b/assets/sounds/strings/strings_066.wav index 0400123..0d716ca 100644 Binary files a/assets/sounds/strings/strings_066.wav and b/assets/sounds/strings/strings_066.wav differ diff --git a/assets/sounds/strings/strings_067.wav b/assets/sounds/strings/strings_067.wav index f7ba7e7..440b450 100644 Binary files a/assets/sounds/strings/strings_067.wav and b/assets/sounds/strings/strings_067.wav differ diff --git a/assets/sounds/strings/strings_068.wav b/assets/sounds/strings/strings_068.wav index 8cefbbd..de739cb 100644 Binary files a/assets/sounds/strings/strings_068.wav and b/assets/sounds/strings/strings_068.wav differ diff --git a/assets/sounds/strings/strings_069.wav b/assets/sounds/strings/strings_069.wav index 8a2381b..a92a8c5 100644 Binary files a/assets/sounds/strings/strings_069.wav and b/assets/sounds/strings/strings_069.wav differ diff --git a/assets/sounds/strings/strings_070.wav b/assets/sounds/strings/strings_070.wav index 920a25f..d381701 100644 Binary files a/assets/sounds/strings/strings_070.wav and b/assets/sounds/strings/strings_070.wav differ diff --git a/assets/sounds/strings/strings_071.wav b/assets/sounds/strings/strings_071.wav index 6d3733e..d846967 100644 Binary files a/assets/sounds/strings/strings_071.wav and b/assets/sounds/strings/strings_071.wav differ diff --git a/assets/sounds/strings/strings_072.wav b/assets/sounds/strings/strings_072.wav index 11e0826..d76a73f 100644 Binary files a/assets/sounds/strings/strings_072.wav and b/assets/sounds/strings/strings_072.wav differ diff --git a/assets/sounds/strings/strings_073.wav b/assets/sounds/strings/strings_073.wav index fd60062..fb8ee0b 100644 Binary files a/assets/sounds/strings/strings_073.wav and b/assets/sounds/strings/strings_073.wav differ diff --git a/assets/sounds/strings/strings_074.wav b/assets/sounds/strings/strings_074.wav index 5da817f..4c6b687 100644 Binary files a/assets/sounds/strings/strings_074.wav and b/assets/sounds/strings/strings_074.wav differ diff --git a/assets/sounds/strings/strings_075.wav b/assets/sounds/strings/strings_075.wav index 697a225..039002e 100644 Binary files a/assets/sounds/strings/strings_075.wav and b/assets/sounds/strings/strings_075.wav differ diff --git a/assets/sounds/strings/strings_076.wav b/assets/sounds/strings/strings_076.wav index 32c2089..5cf26d8 100644 Binary files a/assets/sounds/strings/strings_076.wav and b/assets/sounds/strings/strings_076.wav differ diff --git a/assets/sounds/strings/strings_077.wav b/assets/sounds/strings/strings_077.wav index d43e81e..5074a0d 100644 Binary files a/assets/sounds/strings/strings_077.wav and b/assets/sounds/strings/strings_077.wav differ diff --git a/assets/sounds/strings/strings_078.wav b/assets/sounds/strings/strings_078.wav index 3333706..e66c95d 100644 Binary files a/assets/sounds/strings/strings_078.wav and b/assets/sounds/strings/strings_078.wav differ diff --git a/assets/sounds/strings/strings_079.wav b/assets/sounds/strings/strings_079.wav index 9777029..0a30155 100644 Binary files a/assets/sounds/strings/strings_079.wav and b/assets/sounds/strings/strings_079.wav differ diff --git a/assets/sounds/strings/strings_080.wav b/assets/sounds/strings/strings_080.wav index 1adc448..748bff7 100644 Binary files a/assets/sounds/strings/strings_080.wav and b/assets/sounds/strings/strings_080.wav differ diff --git a/assets/sounds/strings/strings_081.wav b/assets/sounds/strings/strings_081.wav index 7da0c89..c087ba7 100644 Binary files a/assets/sounds/strings/strings_081.wav and b/assets/sounds/strings/strings_081.wav differ diff --git a/assets/sounds/strings/strings_082.wav b/assets/sounds/strings/strings_082.wav index 9c611af..daf14be 100644 Binary files a/assets/sounds/strings/strings_082.wav and b/assets/sounds/strings/strings_082.wav differ diff --git a/assets/sounds/strings/strings_083.wav b/assets/sounds/strings/strings_083.wav index ab480b8..efc9a1b 100644 Binary files a/assets/sounds/strings/strings_083.wav and b/assets/sounds/strings/strings_083.wav differ diff --git a/src/samples/ghhb_game.h b/src/samples/ghhb_game.h index b26024e..5c44ebb 100644 --- a/src/samples/ghhb_game.h +++ b/src/samples/ghhb_game.h @@ -83,10 +83,10 @@ const Color INSTRUMENT_COLORS[MAX_INSTRUMENT_TYPES] = { }; const float INSTRUMENT_VOLUME[MAX_INSTRUMENT_TYPES] = { - 0.4f, - 0.6f, + 0.3f, + 0.5f, 1.0f, - 0.7f + 0.6f }; /* Index i = MIDI note (48 + i); notes outside [48, 83] are not rendered. */ @@ -343,8 +343,10 @@ public: bool music_loaded = false; std::vector chart; std::vector spawned; + std::unordered_set completed_notes_history; std::unordered_set completed_notes; std::unordered_set missed_notes; + std::unordered_set missed_notes_history; std::vector pending_sounds; std::vector active_sustained; bool instrument_has_hits[MAX_INSTRUMENT_TYPES] = {false}; @@ -583,6 +585,7 @@ public: if (it != spawned.end()) { hit_flash_timer[n->lane] = PRESS_FLASH_DURATION; + completed_notes_history.insert(n); completed_notes.insert(n); // n.time is when the bottom should hit the line float bottom_hits_line_time = n->time + chart_time_offset; @@ -753,10 +756,14 @@ public: if (!has_hits) continue; float bottom_y = glyph_bottom_y(*n); - if (bottom_y > hit_line_y + HIT_ZONE_MARGIN) + if (bottom_y > hit_line_y + HIT_ZONE_MARGIN && + std::find(completed_notes_history.begin(), completed_notes_history.end(), n) == completed_notes_history.end() && + std::find(missed_notes_history.begin(), missed_notes_history.end(), n) == missed_notes_history.end() + ) { + missed_notes_history.insert(n); missed_notes.insert(n); - TraceLog(LOG_WARNING, "COMBO RESET -> 0 (missed note: lane %d, inst %d, is_auto=%d, has_hits=%d, PHYSICAL_GP[%d]=%d)", + TraceLog(LOG_WARNING, "COMBO RESET0 -> 0 (missed note: lane %d, inst %d, is_auto=%d, has_hits=%d, PHYSICAL_GP[%d]=%d)", n->lane, n->instrument_slot, is_auto, has_hits, n->instrument_slot, INSTRUMENT_PHYSICAL_GAMEPAD[n->instrument_slot]); combo = 0; } @@ -843,7 +850,7 @@ public: } else { - TraceLog(LOG_WARNING, "COMBO RESET -> 0 (lane %d pressed but no valid note found)", lane); + TraceLog(LOG_WARNING, "COMBO RESET2 -> 0 (lane %d pressed but no valid note found)", lane); combo = 0; score = std::max(0, score - 25); }