diff --git a/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib b/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib old mode 100644 new mode 100755 index ba3b0e34c..3a247d6ce Binary files a/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib and b/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib differ diff --git a/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib.meta b/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib.meta index 17b9f12ce..8c98b95c3 100644 --- a/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib.meta +++ b/Assets/Plugins/VorbisPlugin/Plugins/OSX/libVorbisPlugin.dylib.meta @@ -6,7 +6,7 @@ PluginImporter: iconMap: {} executionOrder: {} defineConstraints: [] - isPreloaded: 0 + isPreloaded: 1 isOverridable: 0 isExplicitlyReferenced: 0 validateReferences: 1 @@ -16,23 +16,23 @@ PluginImporter: second: enabled: 0 settings: - Exclude Android: 1 + Exclude Android: 0 Exclude Editor: 0 Exclude Linux64: 1 Exclude OSXUniversal: 0 Exclude Win: 1 Exclude Win64: 1 - Exclude iOS: 1 + Exclude iOS: 0 - first: Android: Android second: - enabled: 0 + enabled: 1 settings: CPU: ARMv7 - first: Any: second: - enabled: 0 + enabled: 1 settings: {} - first: Editor: Editor @@ -41,7 +41,7 @@ PluginImporter: settings: CPU: AnyCPU DefaultValueInitialized: true - OS: OSX + OS: AnyOS - first: Standalone: Linux64 second: @@ -69,7 +69,7 @@ PluginImporter: - first: iPhone: iOS second: - enabled: 0 + enabled: 1 settings: AddToEmbeddedBinaries: false CPU: AnyCPU diff --git a/Assets/Scripts/InputSystem/PlayerInput.cs b/Assets/Scripts/InputSystem/PlayerInput.cs index 9b6159531..265c112a4 100644 --- a/Assets/Scripts/InputSystem/PlayerInput.cs +++ b/Assets/Scripts/InputSystem/PlayerInput.cs @@ -14,17 +14,17 @@ namespace HeavenStudio public const int RIGHT = 1; public const int DOWN = 2; public const int LEFT = 3; - + /////////////////////////////// ////TEMPORARY JSL FUNCTIONS//// /////////////////////////////// - + static int jslDevicesFound = 0; static int jslDevicesConnected = 0; static int[] jslDeviceHandles; - + static List inputDevices; - + public static int InitInputControllers() { inputDevices = new List(); @@ -34,11 +34,11 @@ namespace HeavenStudio keyboard.InitializeController(); inputDevices.Add(keyboard); //end Keyboard setup - + //JoyShock setup Debug.Log("Flushing possible JoyShocks..."); DisconnectJoyshocks(); - + jslDevicesFound = JslConnectDevices(); if (jslDevicesFound > 0) { @@ -53,7 +53,7 @@ namespace HeavenStudio Debug.Log("Found " + jslDevicesFound + " JoyShocks."); Debug.Log("Connected " + jslDevicesConnected + " JoyShocks."); } - + foreach (int i in jslDeviceHandles) { Debug.Log("Setting up JoyShock: ( Handle " + i + ", type " + JslGetControllerType(i) + " )"); @@ -68,27 +68,27 @@ namespace HeavenStudio Debug.Log("No JoyShocks found."); } //end JoyShock setup - + //TODO: XInput setup (boo) //end XInput setup - + return inputDevices.Count; } - + public static int GetNumControllersConnected() { return inputDevices.Count; } - + public static List GetInputControllers() { return inputDevices; } - + public static InputController GetInputController(int player) { // Needed so Keyboard works on MacOS - #if UNITY_EDITOR_OSX + #if UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX inputDevices = new List(); if(inputDevices.Count < 1) { @@ -110,7 +110,7 @@ namespace HeavenStudio } return null; } - + public static int GetInputControllerId(int player) { //select input controller id that has player field set to player @@ -120,7 +120,7 @@ namespace HeavenStudio // Needed so Keyboard works on MacOS - #if UNITY_EDITOR_OSX + #if UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX inputDevices = new List(); if(inputDevices.Count < 1) { @@ -139,11 +139,11 @@ namespace HeavenStudio } return -1; } - + public static void UpdateInputControllers() { // Needed so Keyboard works on MacOS - #if UNITY_EDITOR_OSX + #if UNITY_STANDALONE_OSX || UNITY_EDITOR_OSX inputDevices = new List(); if(inputDevices.Count < 1) { @@ -158,7 +158,7 @@ namespace HeavenStudio i.UpdateState(); } } - + public static void DisconnectJoyshocks() { if (jslDeviceHandles != null && jslDevicesConnected > 0 && jslDeviceHandles.Length > 0) @@ -176,7 +176,7 @@ namespace HeavenStudio jslDevicesFound = 0; jslDevicesConnected = 0; } - + // The autoplay isn't activated AND // The song is actually playing AND // The GameManager allows you to Input @@ -184,96 +184,96 @@ namespace HeavenStudio { return !GameManager.instance.autoplay && Conductor.instance.isPlaying && GameManager.instance.canInput; } - + /*--------------------*/ /* MAIN INPUT METHODS */ /*--------------------*/ - + // BUTTONS //TODO: refactor for controller and custom binds, currently uses temporary button checks - + public static bool Pressed(bool includeDPad = false) { bool keyDown = GetInputController(1).GetButtonDown((int) InputController.ButtonsPad.PadE) || (includeDPad && GetAnyDirectionDown()); return keyDown && !GameManager.instance.autoplay && Conductor.instance.isPlaying && GameManager.instance.canInput ; } - + public static bool PressedUp(bool includeDPad = false) { bool keyUp = GetInputController(1).GetButtonUp((int) InputController.ButtonsPad.PadE) || (includeDPad && GetAnyDirectionUp()); return keyUp && !GameManager.instance.autoplay && Conductor.instance.isPlaying && GameManager.instance.canInput; } - + public static bool Pressing(bool includeDPad = false) { bool pressing = GetInputController(1).GetButton((int) InputController.ButtonsPad.PadE) || (includeDPad && GetAnyDirection()); return pressing && !GameManager.instance.autoplay && Conductor.instance.isPlaying && GameManager.instance.canInput; } - - + + public static bool AltPressed() { bool down = GetInputController(1).GetButtonDown((int) InputController.ButtonsPad.PadS); return down && playerHasControl(); } - + public static bool AltPressedUp() { bool up = GetInputController(1).GetButtonUp((int) InputController.ButtonsPad.PadS); return up && playerHasControl(); } - + public static bool AltPressing() { bool pressing = GetInputController(1).GetButton((int) InputController.ButtonsPad.PadS); return pressing && playerHasControl(); } - + //Directions - + public static bool GetAnyDirectionDown() { InputController c = GetInputController(1); return (c.GetHatDirectionDown((InputController.InputDirection) UP) - || c.GetHatDirectionDown((InputController.InputDirection) DOWN) - || c.GetHatDirectionDown((InputController.InputDirection) LEFT) - || c.GetHatDirectionDown((InputController.InputDirection) RIGHT) - ) && playerHasControl(); - + || c.GetHatDirectionDown((InputController.InputDirection) DOWN) + || c.GetHatDirectionDown((InputController.InputDirection) LEFT) + || c.GetHatDirectionDown((InputController.InputDirection) RIGHT) + ) && playerHasControl(); + } - + public static bool GetAnyDirectionUp() { InputController c = GetInputController(1); return (c.GetHatDirectionUp((InputController.InputDirection) UP) - || c.GetHatDirectionUp((InputController.InputDirection) DOWN) - || c.GetHatDirectionUp((InputController.InputDirection) LEFT) - || c.GetHatDirectionUp((InputController.InputDirection) RIGHT) - ) && playerHasControl(); - + || c.GetHatDirectionUp((InputController.InputDirection) DOWN) + || c.GetHatDirectionUp((InputController.InputDirection) LEFT) + || c.GetHatDirectionUp((InputController.InputDirection) RIGHT) + ) && playerHasControl(); + } - + public static bool GetAnyDirection() { InputController c = GetInputController(1); return (c.GetHatDirection((InputController.InputDirection) UP) - || c.GetHatDirection((InputController.InputDirection) DOWN) - || c.GetHatDirection((InputController.InputDirection) LEFT) - || c.GetHatDirection((InputController.InputDirection) RIGHT) - ) && playerHasControl(); - + || c.GetHatDirection((InputController.InputDirection) DOWN) + || c.GetHatDirection((InputController.InputDirection) LEFT) + || c.GetHatDirection((InputController.InputDirection) RIGHT) + ) && playerHasControl(); + } - + public static bool GetSpecificDirection(int direction) { return GetInputController(1).GetHatDirection((InputController.InputDirection) direction) && playerHasControl(); } - + public static bool GetSpecificDirectionDown(int direction) { return GetInputController(1).GetHatDirectionDown((InputController.InputDirection) direction) && playerHasControl(); } - + public static bool GetSpecificDirectionUp(int direction) { return GetInputController(1).GetHatDirectionUp((InputController.InputDirection) direction) && playerHasControl(); diff --git a/README.md b/README.md index 56e998b01..ce1e83d2e 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,8 @@ This project is still in development, so there are currently no release builds y - [MacOS](https://nightly.link/megaminerjenny/HeavenStudio/workflows/main/master/StandaloneOSX-build.zip) ## Self-Building -#### Note: Mac-OS and Linux-based builds are not fully tested, you may [experience bugs with audio-related tasks](https://github.com/megaminerjenny/HeavenStudio/issues/72). +#### Note: MacOS and Linux-based builds are not fully tested, you may [experience bugs with audio-related tasks](https://github.com/megaminerjenny/HeavenStudio/issues/72). +#### Note: on MacOS, You need to [set the app as executable by yourself](https://cdn.discordapp.com/attachments/954121092564402207/1060769484278861844/IMG_6336.jpg). Heaven Studio is made in [Unity 2020.3.25f1](https://unity3d.com/unity/whats-new/2020.3.25), and programmed with [Visual Studio Code](https://code.visualstudio.com/).