wc3edit.net

United Warcraft 3 map hacking!
It is currently April 19th, 2024, 7:45 pm

All times are UTC


Forum rules


While crediting should be allowed, please keep down the advertising. If you know who it's from, and they have a website, please link to it as a basic courtesy.



Post new topic Reply to topic  [ 1 post ] 
Author Message
PostPosted: April 11th, 2009, 7:42 am 
Offline
Forum Spammer
User avatar

Joined: November 21st, 2008, 9:36 am
Posts: 505
Title: Coleen!
Jasshelper 0.9.F.7 (By Vexorian)
For an actual explanation of the additions and how they work well... ... You can check the readme online which explains all the things.

A quick intro: A proof of concept vJass compiler, vJass is an extension to the Jass syntax enabling a bunch of crazy things like libraries, structs and textmacros.

Spoiler for Jasshelper 0.9.F.7:
0.9.F.7
* $ Is now supported as hexadecimal prefix in integers - turns out wc3 always did.
* You can now tweak jasshelper.conf to set a different Jass compiler (i.e. change pjass.exe requirement into foojassc.exe).
* Fixed bugs related with displaying errors in blizzard.j / common.j in an unusual jasshelper setup is unusual like newgen's - several situations in which it would fail to show the correct file in the syntax error window/report have been fixed.
* clijasshelper will now specify the script file in which the errors were found.

0.9.F.6
* jasshelper will avoid using TriggerEvaluate when the evaluated function/method does not contain function calls.
* function interfaces will consider all custom types as integers when comparing for validity, later it will have some type safety (i.e. you will not be able to use a integer in place of a struct, but you would be able to do the opposite) but for now it is type unsafe, use with care.
* member declarations with odd characters between the type and the name are now reported as syntax errors.
* static 2d arrays used to calculate their storage space incorrectly which caused issues like them not using get/set functions correctly, this has been fixed.
* It is not anymore possible to declare a member variable with the same name as a method operator.
* Fixed a documentation bug in the section about interfaces.

0.9.F.5:
* Old OS/X line breaks are now supported in input .j files, this would most likely be useless to everyone unless a bugged text editor saves the file using those...
* Fixed a crash bug introduced in 0.9.F.4 related with structs that extend interfaces/stub methods and don't override the method.

0.9.F.4:
* Stub does not cause syntax errors anymore when used in a child-less struct.
* The getType() method can be called on any struct instance (not just interface variables)

0.9.F.3
* More stub-related bug fixes.

0.9.F.2
* Fixed a bug when using super on methods that had arguments.
* Fixed a bug with bigarray.size using an undefined type which caused some type comparisons errors.

0.9.F.1
* Fixed some bugs with stub methods on structs that extended interfaces.
* clijasshelper?

0.9.F.0

* Fixed the return bug detector, there will not be false possitives, which means more functions will be inlined.
* Added stub methods.
* Added super.


0.9.E.1

* Fixed issue with operator priority in result code of using 2D arrays.
* Fixed compile error caused by .execute on static methods with arguments.
* Fixed an usual chance to incorrectly inline return bug exploiters.
* Single-line return bug exploiters now recognized as non-state changing functions by the inliner (Increases chance to inline certain functions).
* dynamic array declarations now report garbage code after the end of the declaration.
* Fixed a bug with scope initializers making a next library unable to have nested scopes.
* Array structs can now have a max size specifier after "array".
* Fixed a readme bug, it incorreclty stated the command line arguments order.

0.9.E.0
* Added --macromode.
* Added method.exists.
* Added 2D global arrays (and 2D static array members)
* Extra text after certain array size declaration is not ignored anymore (a correct syntax error now appears)
* Fixed certain readme bugs.


-- find complete changelog at readme --


The files
jasshelper0.9.F.7.7z : Includes jasshelper.exe a command line utility that is supported by grimoire and that you can also use to manually compile your map.


Easiest way to setup jasshelper with grimoire is by downloading the Jass NewGen pack and then just update its jasshelper.exe to the one included in this release.


Link to Grimoire: http://www.wc3campaigns.net/showthread.php?t=86652
Download Jasshelper here
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Wc3mapoptimizer 4.7c (Vexorian)

Optimize maps, make them smaller and faster, even unopenable in World Editor if you want them to.

Here's A screen shot

Download link

How do I open 7z / rar files?
7z and rar files are compressed formats like zip, but you need special programs to open them

There's winrar. There is also 7zip which is able to open both and is completely free.

Visit http://www.7-zip.org/ for more information.

If you are unable to install new software you can visit http://www.portableapps.com for the portable version of 7zip which does not require installation.

Spoiler for wc3mapoptimizer 4.7c version history:
4.7c:
- Fixed a major bug with init Merge on certain maps doing more than usual inside InitTrig.
- The tweaks "Disable:" frame now says "Avoid: (Check to disable)".


4.7b:
- Fixed a major bug with EnumDestructablesInCircleBJ and BJ optimize, often reported as "compress map names makes my map lag like hell"
- Fixed a minor memory leak possibility in replacement for EnumDestructablesInCircleBJ.
- Fixed readme bugs.

4.7:
- Fixed a memory leak and probable crash with a mpq-file-reading function.
- Fixed a bug that could come in Merge Init functions in certain maps that were compiled using jasshelper's inline optimizations.
- The [Merge Init functions] should be more effective and able to avoid more problems.
- Maps using TriggerRegisterVariableEvent will automatically get an all caps charmap for name compression.
- Command line gibberish.

4.6
- Bugfix: Constant variable inlining conflicting with local declarations using the same variable name.
- Bugfix: Unfortunate constant variable double inline (constant integer A=1, constant integer B=A, set x=B).
- Feature: Compress map names uses real variable protection automatically if it finds a call to TriggerRegisterVariableEvent.

4.5:
- Can save tweaks once again.
- Fixed another bug with the BJ optimization in some maps that used EnumDestructablesInCircleBJ.

4.4:
- Fixed issues with strings that contained the number 5.
- Fixed a dangerous bug with the BJ optimization in some maps that used EnumDestructablesInCircleBJ.
- Added a tweak to turn rawcodes into numbers.

4.3:
- Fixed an issue with strings in the script that were formed of digits or _, again.
- Fixed an issue with the optimizer replacing \\ with \" (or viceversa) in strings.
- Fixed a bug regarding possible malfunction after inlining real constants that did not specify a real initial value.

4.2:
- Fixed an issue with strings in the script that were formed of digits or _
- Fixed jass compile error in maps that used EnumDestructablesInCircleBJ

4.1:
- Readme updated
- Changed the interface a lot.
- Fixed a bug with 'Compress names' a.k.a "Shortest names as possible" that was potentially dangerous for scripts with a lot of globals. (A LOT of globals)
- Fixed a bug with the globals merger that could have arised issues with global variables with initialized values.
- "Compress names" will now automatically use an upper case charmap
- Added tweaks dialog containing the usual things to disable certain methods or to allow some of the formerly known as "non-recommendable" checkboxes.
- Improved size reduction for basic obfuscation on certain specific cases.

4.0 :
- Kind of updates in the readme.
- Added "Inline constant globals" method.
- "Look for other scripts to obfuscate" renamed to "Other scripts opt"
- "Other scripts opt" can now optimize .pld files as well.
- Added option to remove extra .j files found in the map.
- "Make sure to clean every unused function/variable" renamed to "Recursive cleaning"
- No longer has a chance to add 3 utf8 characters at the top of the map's script.

3.9d :
- Improved the loading time of external list files, it will also not freeze the PC when the listfile is really big.
- Fixed various bugs with gamecache function optimization.


3.9c :
- Fixed a bug with Anti BJ that replaced GetAbilityEffectBJ and GetAbilitySoundBJ incorrectly.
- Fixed a bug with remove useless code that had a chance to cause bugs if a typical gamecache
init function was called without using it as an expression but with the call statement
- Removed some '}' debug messages.
- Fixed a graphical glitch.

3.9b :
- Fixed a bug with Safe IsUnitType not working correctly sometimes and making the map fail.
- Fixed a bug with 'Remove editor suffixes' it had a chance to make an ability malfunction If its only modified field was
the editor suffix
- Improved the 3.9 feature of optimizing gamecache functions a little.
- Checked state of 'Not recommended' options will no longer get loaded.
- It will always save a script file with the same name as the target map but will end with .j that will
show the resulting script used by the map. This will save some time to the guys that like to check the
resulting script file after optimizing.
- 'Remove useless code' now removes some dummy order commands generated by the world editor in the preplaced
unit creation area

_________________
Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group

phpBB SEO


Privacy Policy Statement
Impressum (German)