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

Development #47

Merged
merged 89 commits into from
Jun 27, 2022
Merged

Development #47

merged 89 commits into from
Jun 27, 2022

Conversation

greenfire27
Copy link
Collaborator

Time again to update the Master branch with the latest updates from development. This version is Torque2D 4.0 EA2. This Early Access to 4.0 includes a full-feature Project Manager and additional improvements to the the engine, GUI controls, and the Asset Manager. It also introduces the Library, a folder with prebuilt modules to create easy to re-use code.

elementc and others added 30 commits October 3, 2021 19:40
Fix a bug in Linux platform that corrupted directory names in the dumpDirectories function
Use Github Actions to build 32-bit and 64-bit Linux and Windows packages
Added workflow_dispatch to the builds job so we could run it manually from Github if we need to.
Fix return of reference to temporary
Attempted to compile on windows with clang. Fixed a few bugs that are probably affecting Mac, but eventually ran into errors in the platformWin32 folder.
Turned on ConformanceMode (/permissive-) in the VS2019 project and fixed a few problems it produced.
This is a major update to the GuiTextEditCtrl. It allows the control to support multiline editing by turning on text wrap - removing the need for the GuiMLTextEditCtrl. It also changes the control to use std::string instead of the custom TextBuffer. Behavior has also been modernized. For example, double clicking a word highlights the word instead of all. Text boxes also now change on hover using the HL state. Two new values were added to the GuiControlProfile to handle the colors when text is selected. The only loss of functionality is that UTF16 strings are not supported, although this could be added at a later point.
This is my best attempt at getting T2D compiling again on the latest version of XCode (13.2.1). I was successful in getting it to compile but I was getting a runtime error. Might need more work. I also updated zLib to the latest version released in 2017.
The base theme was calling some functions in the game which is a dependency we're trying to avoid.
Included a basic gui profile file so that somebody using the app core to start a new game could do so easily.
Hopefully this grouping will improve editing.
Added a basic Audio module to the library that handles playing music in channel 0 and sound effects in channel 1. This will be a good starting point for anyone trying to quickly put sound in their game. Also removed any audio code from the AppCore.
If C++ is calling a C++ function, it shouldn't have to call it through a scrap of script code sitting in the app core. Engine code goes in C++.
Modules can no longer add themselves as a dependency (which blows up the system) and they also can't add modules that are already added. The add button disables if there are no modules to add.
Added a checkbox for non-synced modules that states if the module should launch at startup. Behind the scenes this is done by setting the module's group to launch. The AppCore then loads the group at startup. Actually changing the group can only be done after the module is unregistered - so basically when the engine is shutting down.
This adds a very basic new module dialog to the project manager with the ability to add an empty module or copy a template from the library.
With this code a user can see a list of a folders that will be scanned for assets within each module. For non-synced modules the user can add and remove folders for declared assets as well. I also added a dedicated ReturnCommand to the GuiTextEditCtrl.
This allows a user to edit basic information about a non-synced module.
This updates the asset manager to work better with the project manager by only allowing assets to be added to non-synced modules. Asset dialogs also open the project folder. Each asset now has a unique asset extension.
Fixed the console which was broken by a previous update.
Added an Art Pack Template and fixed a few problems with the editing modules.
This changes the base graph to show the variation when editing particle effects. It's pretty awesome.
This fixes a few bugs with the previous check-in.
The GuiMouseEventCtrl was ancient. It still used "Mouse" events that were no longer called, it didn't have support for middle mouse buttons, and it handled its own mouse locking. I rolled its extensive callbacks into the base GuiControl. I also changed the onMouseWheelUp/Down functions to return void instead of bool since nothing actually used the return value of these functions. Script callbacks from the GuiControl can return true if they consumed the event, preventing event bubbling.
This removed the files for the GuiMouseEventCtrl. I also added script callbacks for keyboard events on GuiControl.
This removes the GuiScriptNotifyCtrl. It adds a few optional script callbacks that this ancient control tried to cover.
This just updates the Visual Studio 2017 project.
The GuiFilterCtrl appears to be an ancient way to plot a graph. We have far more sophisticated tools to do such things now.
Fixed a few more issues with Xcode. Still a few more things to do.
Fixed the bottom/left bug and update the deployment target.
The iOS project still doesn't compile, but at least all the files are up-to-date.
Added the NoiseGenerator com object that uses the Perlin Noise algorithm to generate noise, a random value between 0 and 1 given an x/y location. This is most commonly used in terrain generators but has a wide range of other applications for procedurally generated games.
Added a Noise Toy to demo the new NoiseGenerator!
The function ImageAsset.getExplicitCellIndex now returns a -1 if no such cell exisits.
When the ability to override font colors was introduced, it did not apply to text boxes. This update causes it to apply to text boxes.
It would seem that callOnChildrenNoRecurse() was once a method but it had disappeared. So I revived it.
Fixed a long-standing bug with ImageAsset.removeExplicitCell(). Odds are that nobody has ever needed to use this function. It has been fixed.
The Asset Manager now supports using explicit cell mode in an image asset. Cells can be added, removed, edited, and reordered directly in the UI.
@greenfire27 greenfire27 merged commit 15ad3e1 into master Jun 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants