Ports media code from vgstation, updates it for this codebase and modernizes it.
* Changes jukeboxes to load songs using an embedded browser instead of sending over BYOND's sound channels. This means they load out of band without lagging the server. Also songs can be resumed mid-song, so leaving and returning to an area doesn't start the music over.
* The old WMP and VLC player modes from /vg are still supported, but adds a new default mode using HTML5 audio to play the music.
* WMP - The oldest, still works on IE on windows, but only there, and Microsoft could break it any second.
* VLC - Works on all platforms, but requires user to have VLC pre-installed on their computer. Uses a scary plugin.
* HTML5 - New default, It is cross platform but doesn't require you to have VLC installed to work. Also caches songs locally even between rounds.
* Changed jukebox.txt to be jukebox.json, now can include artist information as well. Must include the duration of songs as well.
* For HTML5 audio compatibility, use only MP3 files, its the only format supported on all browsers.
* Jukebox itself is also upgraded, instead of just repeating the same song over and over it can actually advance to the next song when one is done playing. Has a few modes including random, next, and single song.
* Jukeboxes have a UI improvement, and have a volume control.
* Three new settings are added to global settings in character setup
* Jukebox music on/off toggles jukebox music independently of normal station ambience. Now you can hear ambience but not music. (or vice versa if you wanted...)
* Jukebox music volume. Control the relative volume of jukebox music. Actual volume is player's configured volume * jukebox's configured volume.
* Media player type. Choose between WMP, VLC, and HTML5
* Fixes a few bugs in the /vg code.
* Added happy friend time mechanics working properly for fox and cat.
* Added vore mechanics and vore overrides
* No longer enable vore on simple animals by creating a "/vore" subtype. Instead we simply enable vore on the main type. Consensus being we don't need a type for non-vore versions of stuff.
* This allowed us to revert many path references throughout the codebase to the original non-vorestation back to their original values. In these cases the "Vorestation Edit" comment is removed.
* Moved the vore overrides for upstream simple animals into its own file zz_vore_overrides.dm
* Compound icon generator proc
Why didn't this exist before? Am I missing something? I need manipulatable icons of existing atoms including their overlays. Is there some easier way to get them than this...?
* Polaris Portion of AI Upgrade
* Merge two not-really conflicts
Thanks git, that whitespace conflict was super important?
* DME merge
* Added defines for mobs used by simple animals.
* Lost a slime along the way
* Disable debug settings
* HONK!!!
* Remove redundant hostile decls
* Replace loc= with forceMove in old SA code
I guess I should think of the children.
Only really works if you pick the option to put them in the mob, because the proc that spawns custom items is based on that, and I don't really want to rework the custom items system for such a small fix.
Only really works if you pick the option to put them in the mob, because the proc that spawns custom items is based on that, and I don't really want to rework the custom items system for such a small fix.