Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v2.0] Operator Interactions, Lights, & Sounds Update #2

Merged
merged 43 commits into from
Mar 24, 2024
Merged

Conversation

lilkingjr1
Copy link
Owner

No description provided.

- Remove unneeded branch checkout from CI
- Add .gitignore
- Temporarily removed .nl2park_backup
- Remove .nl2pkg
- Remove display shell
- Update Steam description
- Reorganize material and texture files and folders
- Remove new vanilla control panels from the demo park
- Update repo README to use local overview image
- Moved all Placard and Label images to the root directory to make them easier to access for the end user.
- Updated the demo park and NL2MATs to use these new file locations.
- Removed Placard Options from all SCOs.
- Removed all excess Placard NL2MATs.
- Removed OperatorPlacard class as it is no longer needed.
- Added User Texture to PanelView for the Panel Screen.
- Updated error handling for scripts and improved readability. Also prevented some scripts running after init. when they didn't need to.
- Replaced Texture Options from all relevant SCOs with new enumerated Texture parameter.
- Updated demo park to use new enumerated Texture parameter.
- Reduced pack size significantly by converting a few PNG textures to JPG.
- Made ElectricalPanel extend MainPanel, and improved scripting.
- Change date to be zero padded.
- Make sure all scripts are tab indented only.
Added interactions to the following PushButton.nlvm functions (previously called "Modes"):
- Advance Forward
- Dispatch
- Restraints Open/ Lock
- Platform Raise/Lower/Toggle
- Seats Unlock/Lock/Toggle
- Auto Dispatch
- Manual Dispatch
- E-Stop (Simple
- E-Stop (Advanced)
- E-Stop Reset

Added the following methods to OperatorButton.nlvm:
- `getAbsoluteTranslation()`
- `setLightState(int state)`
- `isAnimating()`
- `isPushedIn()`
- Depreciated `resetButtonState()`

Added the following methods to OperatorSwitch.nlvm:
- `getAbsoluteTranslation()`
- `getCurrentState()`
- `toggleSwitch()`

Other Changes:
- Add PLC Controller SCO to help facilitate the E-Stop (Advanced) and E-Stop Reset functions of buttons.
- Add Logger.nlvm util class to help facilitate easier log printing.
- Add SceneObjectTools.nlvm util class to help with getting various SCO handles.
- Add IndicatorLight.nlvm util class to help with pilot light operations (which includes NL2 lights for future use).
- Fix element origins in all button models.
- Change E-Stop Button default placard texture and color.
- Change E-Stop Button (Shielded) default placard texture and color.
- Fix pilot_side_user2.nl2mat description typo.
- Add TODO.txt to .gitignore
Major Changes:
- Made the button physically pressible at all times for all functions
- Made the button functionally pressible when able for all functions

Added the following PushButton.nlvm interaction functions:
- Block Advance (replaced Advance)
- Block Reverse
- Special Track Left
- Special Track Right
- Automatic Operation
- Manual Block Operation
- Full Manual Operation

Other Changes:
- Removed "Modes" from SCO and added "Functions" enum
- Renamed from "Mushroom Button" to "Push Button (Mushroom)".
- Fixed button element origin in model.
- Fix Pushbutton.nlvm Function enum naming convention.
Updated script parameters
- Updated script parameters.
- Removed unused overrides in script.
For custom button interaction radius.
- Updated script parameters.
- Fixed naming convention in script.
- Removed unused overrides in script.
Move OperatorButton, OperatorSwitch, and IndicatorLight object scripts to new "obj" package/folder.
- Overhauled SwitchOperator.nlvm to add interactions and add/update functions.
- Updated Switch.nl2sco script parameters.
- Added CoasterTools.nlvm class with public utility methods to help check coaster types.
- SpecialTrackModule.nlvm clean up & adjustment to scripts/SCOs that referenced it.
- PushButton.nlvm refactoring.
- Updated KeySwitch.nlvm to support new functions.
- Updated Key Switch.nl2sco script parameters and fixed description typo. Also, changed default End Angle to 45 deg.
- Fixed SwitchOperator.nlvm minor bugs.
- Fixed EStopButton.nlvm bug.
Updated all scripts to use the SceneObjectTools functions instead.
- Updated Pilot Light.nl2sco script parameters.
- Updated PilotLight.nlvm to use new tools and "Functions" verbiage. Added/Updated Functions that now (mostly) work with scripted coasters and have better logic.
- Fixed Key Switch.nl2sco parameter verbiage.
- PushButton.nlvm Block System Mode Function now disables during E-Stop.
- Updated Pilot Light (4-Way).nl2sco script parameters.
- Updated PilotLight4Way.nlvm to use new Function enum system and added special track attachment.
- Updated PilotLight.nlvm & PilotLight4Way.nlvm to use new Light Texture State global variables.
- Renamed "Control Tower Stack Lights.nl2sco" to "Pilot Light (Stack).nl2sco".
- Renamed "LightStack.nlvm" to "PilotLightStack.nlvm".
- Added light sources to Pilot Light, Pilot Light (4-Way), and Pilot Light (Stack) and their respective scripts.
- Updated Pilot Light (Stack).nl2sco script parameters.
- Updated PilotLightStack.nlvm to use new Function enum system and util tools. Also, made the Station Status Function not rely on `Block.PROTOCOL_V1`. However, the class was modified to no longer accept arbitrarily tall light stacks; it only supports 3 lights now.
- Refactored IndicatorLight.nlvm.
- Fixed script parameter typos for Pilot Light, Pilot Light (4-Way), Switch, and Key Switch.
- Added light sources to Push Button, Push Button (Shielded), Push Button (Mushroom), E-Stop Button, E-Stop Button (Shielded), and E-Stop Button (Circle Placard).
- Fixed bug that could allow flashing lights to fall out of sync with each other globally (Can still technically happen if individual script slow-down were to occur. Need to find a way to have the `blinkState` be static and only have one `onNextUpdate()` update it vs. all instances).
- Fixed indentation in certain NLVM files.
- Minor refactoring.
- Update `dev-drprasad/delete-tag-and-release` to v1 and fix token.
- Replace depreciated `actions/create-release` with `softprops/action-gh-release`.
Try to fix versioning issue.
Fix target build branch.
- Slightly improved key holes on all models that had them.
- Slightly improved main panel layouts.
- Added operator sound effect files.
- Updated all operator NL2SCOs with new sound resource files.
- Updated all operator NLVMs to support new sound effects.
- Updated all Push Buttons (except E-Stop) to animate a little faster and still be interactable in None/Static Function.
- Updated all Switch operators to still be interactable in None/Static Function.
- Updated Push Button (Flat) to push in a little farther.
- Improved Push Button (Flat) model.
- Fixed `obj.IndicatorLight` regression that caused the SceneObjectLight to not turn off during instantiation, leading to E-Stop/PLC registration issues.
- Prepped park file for final cleanup.
- Added "Automatic Dispatch", "Dispatch Mode (Auto-Manual)", "Manual Dispatch", "Operation Mode (Auto-Block-Maint)", "Reverse", and "Transfer Table (1-2-3)" placard images.
- Replaced "Operation Mode (Auto-Maint-Xfer)" placard image with "Operation Mode (Auto-Xfer-Maint)".
- Changed Switch SCOs' "Start Angle" and "End Angle" script parameters to be lower in the list.
- Fixed Switches not setting initial states for the Restraints, Gates, and Platform Functions.
- Fixed truely static Switches (with no rotation angle) still being interactable.
- Changed Key Switch "Hide Key" script parameter to default to off.
- Fixed PLC Controller elements clipping too soon.
- Fixed Push Button (Flat) having None Functions with light options.
- Fixed CableRunner, ElectricalBoxAir, ElectricalPanel, and ElectricalPanelLabel NLVMs having wrong script parameter name for Special Track attachment.
- Fixed Key Switch not having distinct key sounds. Key Switch sounds were separated into individual sounds with their own play triggers in the script.
- Updated `obj.OperatorSwitch` to allow a key to be removed at an arbitrary "default" position (or all positions).
- Cleaned up `obj.OperatorSwitch` sound initialization and alternate (Key) constructor.
- Added `isStatic()` function to `obj.OperatorSwitch` to help determine if a static switch can rotate (based on start and end angles).
- Fixed Key Switch's Operation Mode Function leaving key in for Automatic Mode.
- Cleaned up SwitchOperator.nlvm & KeySwitch.nlvm `createSwitchObject()` functions.
- Fixed Interaction Objects not updating their position if their parent SCO got moved (ie. Special Track, outside script, etc.).
- Fixed Static Sounds not updating their position if their parent SCO got moved.
- Refactored PilotLightStack.nlvm's Special Track Function.
- Fixed PushButton.nlvm Dispatch Function "slow train multi-push" bug with workaround that makes sure the train is stationary for at least 5 frames before depressing.
- Updated all operators for Dive Coaster in demo park.
- Added Special Track Status Function to Pilot Light.
- Refactored `PushButton.nlvm` slightly & made it so the Interaction Object for Static Functions shows as disabled (to avoid confusion).
- Fixed Dispatch Mode placard.
- Updated all remaning operators in demo park.
- Re-enabled the Welcome Script.
- Replaced `WelcomeScript.nlvm` on Dive Coaster with new `.nl2pkg_include.nl2script`. This runs `WelcomeScript.nlvm` and also has all the Placards and Labels as Resource Files to ensure they are included during packaging.
- Added build_nl2pkg_include.bat as a development tool to help build `.nl2pkg_include.nl2script` to include all current Placards and Labels.
Updated to latest version and date.
- All Push Button and Switch Operator Functions should now support Scripted Operation Mode.
- All Pilot Light Functions, except for Block Indication, should now support Scripted Operation Mode.
- Fixed station-check bug in PilotLight.nlvm for relevant Functions.
- Removed unneeded Special Track check in PilotLightStack.nlvm (it is already checked in parent `onInit()` function).
- Updated Overview image.
- Moved park loading bar to center of screen.
- Fixed a PilotLightStack.nlvm special track regression bug.
- Added Winch placard.
- Updated PushButton.nlvm so that the Dispatch Function also performs a Forward Block action in Semi-Manual Block Mode.
- Fixed the sun elevation limit no longer being correct in SwitchOperator.nlvm.
@lilkingjr1 lilkingjr1 added the enhancement New feature or request label Mar 24, 2024
@lilkingjr1 lilkingjr1 merged commit 1435a86 into main Mar 24, 2024
1 check passed
@lilkingjr1 lilkingjr1 deleted the dev branch March 24, 2024 17:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant