Commit graph

139 commits

Author SHA1 Message Date
Eidolon
be021baa02 Add extern "C" in C++ to all headers 2022-12-30 19:26:16 -06:00
toaster
ac423b3461 Further changes to musicdef based on discussion with Gunla
- Add "author" and "originalcomposers" fields
    - "author" is for remixes and original compositions, can be ommitted
    - "originalcomposers" will not be visible mid-game, but will be visible in music test. Stores original sound team info
- Store all strings as Zone memory instead of static arrays, since not every field will be relevant for every track
2022-12-17 17:36:44 +00:00
toaster
81fec17bb4 First Musicdef changes in preparation for music test
- Add `title` field, to permit seperation from `source`
- Store current displayed string as zone memory, to prevent repeated recalculation
2022-12-17 16:39:10 +00:00
James R
479f9e4d57 S_ReducedVFXSoundAtVolume: use player_t* 2022-11-27 17:27:22 -08:00
James R
051b4f8935 Always use typedef name instead of struct name
mobj_t instead of struct mobj_s
2022-11-27 17:21:40 -08:00
James R
b5310a1f68 Add typedef.h
All typedefs for structs that were present in other header
files have been moved to here. (Except node_t because the
renderer and netcode both define node_t LOL.)
2022-11-27 17:21:40 -08:00
Sally Coolatta
e331910fe3 Reduce VFX toggle
Can be used to disable VFX, so it can only appear if its owner is a display player. If no owner is provided, then it will be removed entirely.

Applied to most things that Ivo asked for
2022-11-26 20:12:00 -05:00
James R
ceeda5c826 Lua hooklib refactor squash
commit 8d382e49fb3411cad1a3ef5ee1e546030c3a9d93
Author: James R <justsomejames2@gmail.com>
Date:   Tue Nov 17 04:14:45 2020 -0800

    Big Large Lua Hooklib Refactor

    * Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
      to, at the most basic level, only two calls.
    * Lua tables (the array part) are used to index hooks. Such tables contain only
      hooks of the same type.
    * Hook types are defined in one place so you no longer need to sync up the enum
      and name array.

commit 3f7c2ae0b0c450cb8993ffe7664ead05fd9f5000
Author: James R <justsomejames2@gmail.com>
Date:   Thu Dec 10 05:39:53 2020 -0800

    Avoid using multiple tables to fetch hook

    String hooks still use a table to fetch the id, but the id indexes a C array.

    Also I fixed a missing call in the MusicChange hook.

commit dbd8903a538e7b87061795ce27ec5c72c26743af
Author: James R <justsomejames2@gmail.com>
Date:   Thu Dec 10 08:50:23 2020 -0800

    Use ref for pushing error handler

commit 9ddeb5f5896de0407b2b6fce8c949295a9e6d5e4
Author: James R <justsomejames2@gmail.com>
Date:   Sat Dec 12 02:05:21 2020 -0800

    Resolve GameQuit hook conflicts

commit 93e4f43e4b3a24fc2d8032e8730cbf427e75b297
Author: James R <justsomejames2@gmail.com>
Date:   Sat Dec 12 03:06:57 2020 -0800

    Hooklib macros names -> uppercase + documentation

commit 80fe39bbd1433c91131d2cdb36ba709f37d3b5f3
Author: Steel Titanium <steeltitanium1@gmail.com>
Date:   Mon May 3 01:40:02 2021 -0400

    Fix MusicChange hook not returning some values correctly

commit 46ca9613c68422a26910cbb034a9f3e004a967c3
Author: James R <justsomejames2@gmail.com>
Date:   Thu Jun 10 18:09:39 2021 -0700

    Pop hook id fetched from table

commit a75d4a1c360874a3c301a494e38ea49cd89b6616
Author: James R <justsomejames2@gmail.com>
Date:   Tue Jul 6 18:42:08 2021 -0700

    Automatically count hook values

commit 331329306cad257d52f84e47a92d9214d9eaa8d3
Author: James R <justsomejames2@gmail.com>
Date:   Tue Jul 6 19:12:47 2021 -0700

    Refactor hook ref allocation

commit ae57b6ca8664e00ff4d9544339dbf29a41138040
Author: James R <justsomejames2@gmail.com>
Date:   Tue Jul 6 20:23:38 2021 -0700

    MORE MACROS

    I just can't stop myself!

commit b4fa98d2fbab180f487ce3efedb8ab715e5f3390
Author: James R <justsomejames2@gmail.com>
Date:   Wed Jul 7 00:23:51 2021 -0700

    Refactor hudlib hooks to hooklib

    HUD hooks now meet the standard of hooklib. HUD registry
    magic numbers are gone.

    HUD hooks may also be added using addHook.

        addHook('HUD', fn[, type])

    hud.add still exists, but the intention is to remove it
    eventually.

commit cb619fad5d762ba8d8dd20e9a979a04ced7c943f
Author: SMS Alfredo <65426124+SMS-Alfredo@users.noreply.github.com>
Date:   Wed Jul 7 19:57:28 2021 -0500

    Rebase on !1307

commit f271f88c7f3084523a03ca7f47060d6527724796
Author: LJ Sonic <lamr@free.fr>
Date:   Sun Dec 5 17:59:33 2021 +0100

    Fix MusicChange hook crashing when called

    BRUH MOMENT BRUH MOMENT
    PREPARE THE HALL OF SHAME

commit 0a0c17da7c793ec29e80c5bdaa66b02da0884078
Author: James R <justsomejames2@gmail.com>
Date:   Tue Feb 1 02:27:27 2022 -0800

    PARANOIA: I_Error if mobj hook is called with MT_NULL

commit 86336d6bed80bee6f8168078aa8856109091e50f
Author: katsy <katmint@live.com>
Date:   Mon Mar 7 18:33:15 2022 -0600

    remove MODID check from hooklib to fix compile issue
2022-09-05 11:56:04 -07:00
toaster
bf6b9c6fed Remove music slot compatibility
# Conflicts:
#	src/deh_lua.c
#	src/lua_baselib.c
2022-03-18 13:54:03 +00:00
Sally Coolatta
fcc5c8e0c4 Interpolate music credits 2021-12-25 04:57:35 -05:00
James R
e82bba18f6 Use volume field of sound, access with SOC/lua
Volumes may be defined on a 0-100 scale, but any number is
accepted.

If the volume is negative then the sound will play at
normal volume (therefore the info table won't need to be
modified.)
2021-11-08 18:50:19 -08:00
Sally Coolatta
fda698a290 Merge master 2020-10-24 18:34:07 -04:00
Sally Coolatta
b5fcd74ef9 Merge master
Slopes in a few maps are really broken ... think it's anchors, I'm gonna leave that to jart :V
2020-09-25 12:00:50 -04:00
Sally Coolatta
7d095060cf Makes it past s_sound.o and sounds.o 2020-08-15 02:15:08 -04:00
Sally Coolatta
9b9ab8a2d5 Get up to p_user 2020-08-14 23:23:14 -04:00
Sally Coolatta
68f95f2244 Fix musicdefs 2020-08-10 16:48:40 -04:00
Sally Coolatta
9e7ed8f649 Merge s_sound.c/h 2020-08-10 15:09:24 -04:00
Sally Coolatta
e296e1309a YAY, round 2 2020-08-09 21:02:56 -04:00
James R
8bef076b83 Merge branch 'audio-cleanup' into 'next'
Audio cleanup

See merge request STJr/SRB2!1101
2020-08-09 20:49:28 -04:00
Steel Titanium
913c07959e Kill CD support 2020-08-07 17:06:19 -04:00
Steel Titanium
1c588cef63 Remove all this unused playlist related code 2020-08-07 16:44:16 -04:00
Steel Titanium
e302f17bbb Remove every musserv and sndserv def'd code 2020-08-07 16:40:46 -04:00
James R
aedc5ae7af Kill MIDI more >:) 2020-08-07 13:00:04 -07:00
James R
9077a4ff03 Kill MIDI 2020-08-07 12:39:08 -07:00
James R
374d032a6b Clean up stuff, make volume work again 2020-08-07 12:29:37 -07:00
James R
7adf2159f6 Reduce songs and sounds to 1/4 volume, add a musicdef option for volume 2020-08-06 21:24:41 -07:00
SteelT
9a75d397d6 Merge src/s_sound.c/h 2020-08-06 16:56:41 -04:00
kaysrishaq
9916f468a7 Fix formatting
PREFAVAILABLE -> S_PrefAvailable
move declarations to top of blocks
2020-07-13 15:16:49 -04:00
James R
3162a203be Merge remote-tracking branch 'pub/master' into wtf 2020-06-03 15:57:09 -07:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Monster Iestyn
166b06b589 turn all non-extern variables in s_sound.h into externs (and put their real definitions in the .c file)
(cherry picked from commit dab212dc56936dd92a935d0c81003ff1d35ee2ee)
2020-05-15 09:58:28 -07:00
kaysrishaq
828e85b452 Minor reorganization 2020-05-14 07:17:58 -04:00
kaysrishaq
f6addb956e musicpref console variable
Adds musicpref to console and sound options menu, which allows users to select whether to prioritize MIDI or Digital music.
Functions GameMIDIMusic_OnChange and GameDigiMusic_OnChange updated to not assume digital music priority, and to have more consistent behavior between the two.
Positive side effect of using P_RestoreMusic in these functions means that powerup music (speed shoes, invincibility) will restore in the correct position when reenabling the original MusicType they loaded in with.
2020-05-13 19:20:21 -04:00
Monster Iestyn
6878220a1b turn all non-extern variables in s_sound.h into externs (and put their real definitions in the .c file) 2020-05-12 18:40:51 +01:00
James R
dc37cdf2a6 Merge branch 'loop-patch' into 'next'
Let MUSICDEF set loop point

See merge request STJr/SRB2!762
2020-04-09 19:47:43 -04:00
James R
7e0aa16e70 Reset Invincibility (and Grow) music to the start if stacked
Toggleable via the resetspecialmusic cvar.
2020-03-21 22:28:55 -07:00
James R
dd1715aa15 Optionally only resync Invincibility and Grow music 2020-03-21 22:28:55 -07:00
James R
15e8291903 Reset the music fade in cvar pointer too
This fixes a bug with death fades.
2020-03-21 22:28:55 -07:00
James R
8524c3749d Fade level music back in after Invincibility and Grow
Cvars are invincibilitymusicfade and growmusicfade. Both measure milliseconds.
2020-03-21 22:28:54 -07:00
James R
530cac8673 Hey it's audio- ....resynching... 2020-03-21 22:28:54 -07:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
James R
e620758aa0 Let MUSICDEF set loop point 2020-02-07 12:47:41 -08:00
James R
f2445b27b5 1upsound always plays a sound instead of jingle 2020-01-10 12:55:03 -08:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
Jaime Passos
9178660d34 Fix stuck closed captioning 2019-11-25 20:16:17 -03:00
MascaraSnake
d648a2ad87 Merge branch 'radiomode' into 'master'
Radio mode

See merge request STJr/SRB2Internal!443
2019-11-13 04:16:38 -05:00
toaster
1082b3d7a4 Better comments for musicdef struct 2019-11-05 19:50:49 +00:00
toaster
a8169e3844 Sound test is cool now!
https://cdn.discordapp.com/attachments/405336003239477249/641295998395613224/srb20042.gif

* Port MUSICDEFs from Kart.
    * Safe to modify without modifying game, so we can put it in music.dta eventually.
    * "Title", "AltTitle", "Authors" fields are self-evident.
    * "Soundtestpage" and "Soundtestcond" are used to determine which sound test unlockable can play them (set with Unlockable's variable, just like Level Select).
    * "Stoppingtime" and "BPM" both accept floats, and are used for presentation stuff on the sound test.
    * Ironically, we don't share a single field name with them. Such is the case of differing foci, though, and I expect they'll change their implementation to match (since this is necessary for a sound test).
* Change how S_AddSoundFx works to avoid iterating through all of them, and to allow cv_soundtest to only scroll through defined slots (instead of the infinite wall of thok sounds when scrolling to the left).
* Change V_DrawFixedPatch to allow scaling on two seperate axes.
    * Now called "V_DrawStretchyFixedPatch".
    * "V_DrawFixedPatch" is a macro to V_DrawStretchyFixedPatch now (same scale on both axes).
    * Available to Lua under v.drawStretched!
    * Even works in GL!
* Bugfix: Add SR_PLAYER to SOC's menutypes_list.

Stay tuned for the merge request, where I put the onus on the Music Team to finish this off...
2019-11-05 16:23:46 +00:00
mazmazz
a23cc44d93 Fix some jingle resuming behavior with boss music switching 2019-10-26 15:02:45 -04:00
James R
cd1ad44539 Console variables to toggle music/sound playing when the window is unfocused
Playsoundsifunfocused and playmusicifunfocused. "No" by default.
2019-10-23 17:21:09 -07:00