v1.1.0 (all changes mainly for fully integrated version)
1) Works on python version 3 wich has improved performance. I used iniznet version as a base
https://github.com/iniznet/mbw-wreck-native-py3.
2) New command line parameter: 'test'. WRECK will compile the module but won't save anything on disk. Essentially a syntax check.
3) New command line parameter: 'time' - showing performace.
4) New command line parameter: 'prsnt_helper' - add scripted help panel to presentations to speed up layout process, required plugin_presentations.py and plugin_ms_extension.py.
This panel can change any overlay position and size. HotKey [F]- switch panel position (bottom/top/hide). When mouse cursor hovering over overlay its ID will be displayed in log.
Scripted code added by compiler to all presentations. If overlay created with macros then information about its type, size and position will be remembered.
When changed unknown overlays its information also remembered. There are some bugs, for example when panel intersects with other containers. Some buttons don't work yet (Grid).
5) Added Lav's license information
6) Added integrated module system with WSE v1.0.9.9
7) Added modified WRECKER originally devoloped by mercury19.
v1.0.6
1) Improved compatibility with vanilla compiler. WRECK produces 99% of vanilla code with 2 exceptions. First - mission template triggers have counters (trigger_ID) in the last number of fake (useless) operand. Second - items don't generate hit_point values if they don't have them.
2) Identifiers and global variables decapitilised and white spaces changed to underscore. WRECK shows notices about them. You need to change names of identifiers for compatibility with vanilla compiler which not always "cure" them. To disable decapitalisation add "cap" to command line. Only music tracks are exception for this rule because it is actually file name. Recreating(deleting) variables.txt is needed to reduce global variable notices.
3) Faction relations use the last relation value in module like vanilla. WRECK shows notices to resolve conflicts. To reduce notices add "fac" to command line.
More detailed explanation. Vanilla compiler memorises relations between factions to an array.
Python:
#process_factions.py
relations[other_pos][i_faction] = rel[1]
relations[i_faction][other_pos] = rel[1]
As you can see it copies one value to both factions. So I think that intention was that relations need to be symmetric. Vanilla compiler use the latest value. So this notification will give to dev more control over result value.
Keep in mind that "cap" and "fac" options are only temporary. Better to fix all notices for compatibility with vanilla compiler and reducing bugs.
compile.bat:
Code:
python compile.py tag cap fac %1 %2 %3 %4 %5 %6 %7 %8 %9
v1.0.5
1) Added more detailed explanation to hint of syntax errors.
v1.0.4
1) In mission templates added unused operand to the end of each trigger:
where ID is the number of this trigger starting from 0. Helper for debugging engine error messages.
2) Removed duplicate notices about unused local variable of repeatable mission triggers.
3) When compiler message show trigger name, it will be more informative - with each of the three timers if trigger is not simple. Previously was only the first.
v1.0.3
1) [WRECK integrated] fixed expressions in module_mission_template.py triggers. They were bugged if used more than once.
2) Added checking audio file extensions.
3) WRECK will check output dialog states like in Native compiler.
v1.0.2
1) Script that can fail will be checked for letters "cf_" in the begining of its name.
2) Local variables that have "unused" in their name will not be checked for warning "Variable declared but never used".
3) [WRECK integrated] Warning "Variable declared but never used" will now check expressions.
4) [WRECK integrated] Local variables declared by WRECK expressions in the loop conditions (try_for_range) will not be overriden by temp variable inside loop body.
v1.0.1
1) Fixed processing module_skins.py - removed extra spaces wich led to errors in OpenBrf
2) Fixed processing module_sounds.py - sound file can now be declared as list with faction ["sound_file.flac", fac_outlaw]. WRECK works with WithFire&Sword and NapoleonicWars MS now.
3) try_for_range_backwards will not show unused variable warning.