Replies: 1 comment
-
|
Aw they removed the ass operator... |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Update 2023-11-09: Delta operator was reverted back to its original functionality
Here's the October 2023 Wire release notes! Hopefully one of many!
There's been lots of changes with E2 this month, and we're excited to finally release them to the Workshop.
The E2 Compiler Rewrite
The E2 compiler has been rewritten. Vurv has been working on this for quite some time on this (since December!) and we're proud to finally release it to the Workshop.
Extension developers, your extensions may need to be updated to fit the changes! See a full list of updates to the API here.
Despite being a huge change for E2 internally, for users, the E2 compiler rewrite should be mostly unnoticeable. Some user-facing improvements include improved errors and warnings, but more importantly, your chips should use less ops and CPU time! Performance has been a huge focus on the compiler rewrite and we're hoping you won't be disappointed.
And, please pardon us if you notice a bug. We've worked hard trying to stomp out anything that's come up during this month, but if you happen to encounter one, please let us know!
Noteworthy functional differences:
$operator now operates slightly differently, and instead now changes its value each time it's used. This may be getting fixed to previous behavior, but the$operator is going to be deprecated. To future-proof your code, please use an alternative to$, such as using a persistent variable.foreachhas changed slightly. Previously, you were able to useforeachover a non-sequential array, but this has been changed so thatforeachnow only works on sequential array keys, starting from 1. To get non-sequential access, use a table instead.i,j, andkare now prefixed with a 1, as1i,1j, and1k.E2 Additions
And if you thought the E2 compiler being rewritten wasn't enough, we've got plenty of new additions to the E2 library that are likely to be useful to you.
First off, we have a new E2 event,
playerMove, which brings along two types with it. You can expect this to work like a more accuratekeyPressedevent except focused on precise player movement. Especially, users may like theusercmd:getMouseDeltaX()andusercmd:getMouseDeltaY()functions, which get precise mouse movement data.Next, we have some pretty big changes to two E2 libraries. First off, the file extension has had a much-needed update to fix some glaring bugs and some modernized features. Files can now be loaded up to 5 (by default) queued operations. This change will make multi-file projects a lot easier to work with. Additionally, file has finally received a proper eventification update, so if you haven't made the switch already, now is the perfect time. And on top of all that, a new event just for writing files,
fileWritten, has been added, that triggers when a file finishes writing.After that, we have a huge change to how you can create EGP objects. As part of the modernization of Wiremod, we've been working on removing index-based systems in favor of direct object references. In less technical terms, we're releasing the egpobject type along with the egpobjects extension, providing a new and superior method for interacting with EGPs. For more information, and some examples of the completely new things you can do, check out the PR details here.
Finally, as part of our efforts to decrease reliance on third-party E2 extensions, we're releasing a little addition that may be of use to at least a few people; you can now adjust flexes and eye targets on models!
That's all for this month's progress! We hope you enjoyed reading this and that you will enjoy these changes! Let us know what you think about these newsletters. In the meantime, this is where I get off.
Full changelog:
Wiremod
Additions
Fixes
Expression 2
Additions
event playerMoveand typesusercmdandmovedatafor getting more detailed player movement information (Community contribution)setOverlayText(string)to change the overlay text of individual E2scanSetNameto see if chip can usesetNamefile<Load/Write/List>Queuedto get the current queued amountevent fileListas event alternative tofileClkevent fileWrittenthat executes when a file finishes sending to the clientegpobjecttype and egpobjects extension. Full list of functions can be found in the E2 Helper under theegpobjectsextension.entity:setFlexWeightand:setFlexScaleto manipulate model flexes (face posing), as well as various getters related to thementity:setEyeTargetand two similar functions to allow model eye posingChanges
setNameto be more leniententity:bones()to return a copy of the bones table to avoid exploitationFixes
entity:getBodyGroupsaccidentally erroring (Community contribution)runOnFileandrunOnListrunning even when unsetRemovals
clk-type file functionsDeveloper
Additions
iteroperator to replacefeaoperatorindexgetandindexsetoperators to replaceidxlegacyattribute for old format E2 functionsChanges
Removals
fea,ass,inc,dec,and,or, andidxoperatorsAdvDupe2
Changes
Fixes
duplicator.RegisterEntityClasswith"Data"argument not being duped properly (Community contribution)Beta Was this translation helpful? Give feedback.
All reactions