|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 20, 2012 10:27 PM |
|
|
Well it's almost complete and i'm pretty sure i am missing something obvious to dedicated erm coder.
Just single variable conflicts or wrong encapsuling a code which is not harmful but fails (ignore errors option)
I probably wouldn't be able to fix this soon as I'm pretty delayed on my study project from programming (FYI i'm at stage of planning and preparing general c++ templates).
|
|
Bersy
Honorable
Supreme Hero
|
posted March 21, 2012 12:55 PM |
|
Edited by Bersy at 12:56, 21 Mar 2012.
|
38 wog - first money.erm
*** Function to reset variable w95 @ start
!?FU10939;
!!IF:Wx16;
!!VRw95:S0;
53 wog - map options.erm
**ennin**
!?FU10939;
!!UN:U98/-1/-1/50; //find next town
!!CA50:U?y1; //get ID
!!FU&y1=y-3:E; //if valid ID then exit
!!FU10939:P; //else recursive loop
Clash of function index.
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 21, 2012 07:16 PM |
|
Edited by majaczek at 20:57, 21 Mar 2012.
|
I known it's something obvious, thanks!
so the function for replacing objects was called with random (because unspecified) parameters. no wonder it didn't work! I'll check if it is only problem.
EDIT: here is new link
http://www.mirrorcreator.com/files/SC8ZUUJL/04_SU_merged.7z_links
it starts properly now but i believe there still some minor conflicts
to install unpack to mods folder inside era2 folder,
then do installmod with parameter 04_SU_merged (if it is too hard for someone i may prepare simple install script)
everybody please test, and hunt for errors.
the fact that wog options text doesn't include description of changes between 3.58f and ERA is known - ZSETUP01.TXT is got straight from SU.
the package is almost properly done Script Update for ERA, including the changes from era which is merged with SU scripts
|
|
Bersy
Honorable
Supreme Hero
|
posted March 22, 2012 12:14 PM |
|
|
Do you have "String not found" + 2 mithril dialog at map start?
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 22, 2012 02:48 PM |
|
Edited by majaczek at 15:43, 22 Mar 2012.
|
i don't have string not found
i have the 2 mithril dialog - it's reminder that shortcut for mithril extension changed
i had once or twice error before clicking start game (so at that stage scripts are not yet loaded)
[s] i believe there's minor conflict between random hero and henchman script [/s]
first time i was ambushed by rougues game crashed (believe it's random engine bug)
if string not found bug repeats, it's a sign that i forgot including ini file or something, try once more starting it
EDIT: after considering string not found bug, it looks like you don't use proper ert file - the SU one have one string more
please read the - "post 3.58f changes.txt" - some changes claims that ert file is also updated, other may be the same
EDIT: here is updated majaczek_scripts - my mod to wogify, unrelated to SU_merged
http://www.mirrorcreator.com/files/1KCBP6KW/09_majaczek_script.7z_links
|
|
Bersy
Honorable
Supreme Hero
|
posted March 22, 2012 05:14 PM |
|
|
Quote: believe it's random engine bug
I have many doubts about it. Crash is mostly a script conflict.
Also, as it was said earlier, in order not to break localization packages ("string not found" problem), any ert changes can be distributed as mod only.
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 22, 2012 08:43 PM |
|
Edited by majaczek at 21:47, 22 Mar 2012.
|
Hey I prepared Mod Instaler script template
http://mir.cr/ZGDII80H
Using Innosoft Installer this script make exe file with content of mod which runs installmod.exe with a parameter. To work only put in Mods folder, open script replace "Enter Moddir Name Here" with mod directory name and press compile.
Here is Reuploaded SU_Merged
package http://mir.cr/0GWDM7KK
installer http://mir.cr/0KZD8OOO
installer script http://mir.cr/0VBGDCN7
(download only package or installer)
Here is fixed majaczek_scripts mod (mod by mine for wogify highly unoficial)
package http://mir.cr/VTT1UZDS
installer http://mir.cr/D4W9TA5G
installer script http://mir.cr/0OKWSFKK
(download only package or installer)
all instaler scripts use the template I putted on top of post.
@about the SU_Merged package
It needs ert changes but only for scripts 00, 03, 26, 28, 33, 36 (number of scripts before rename - "??" in "script??.ert" files)
as you see it's only these 6 ert files are changed. It include text of new features (FIXME: some of those 6 files is just fix for misspelled 3.58f ert files), so change for Mithril Enchantments is crucial as it adds one new z variable to ert file. The language packs have to be updated for at most those 6 Files. Also I believe Each language has own ert files for SU somewhere (the official SU ert files were included in merged_SU). The changes are not so big, also one of script patches you already included also make use of new strings. I may Provide these 6 files for Polish language pack (as i used to use plonisation of SU some time ago), but you have to hunt for another languages.
as for Rougues Ambush - I have it occured only once - I have to reproduce it (wander to be Ambushed) - if crash Repeats it's sure the some wrong thing in the script, if not it's really random engine bug as it would appear once. There are a few engine bugs not patched in ERA already (but not all are crashbugs). For example I saw once in ERA popup about missing resource before any scripts were loaded, but it appeared to be not harmful (I couldn't reproduce it anymore). It seems to be random bug in mod system (what else could affect not finding a file which is already there) like race condition.
EDIT: Artfact boost ert file have same number of Z variables, but new one inlude description changes for two artifacts.
Artifcer ert file has same number of Z variables, but include one fix for description of action (wrong order of "endless sack of gold" and "endless sack of gold" in one Z variable). School of wizardry ert file has same number of Z variables but fixes a grammar error in one of Z Variables. Cards of Prophecy ert file has same number of Z variables but 4 lines has changed information a bit.
so these 4 files change are: two purely cosmetic fixes which are probably already fixed in language pack, and two informational fix for changed properties of two artifacts
Secondary Skill Boost ert file have same number of Z variables but is much more informative (inclusion of %VAR in texts).
Living Scrolls Have ert file have one Z Variable more.
Neutral Town too. Cheat Menu Too.
78wogify (script00) ert file has technically one Z variable more (it has not used easter egg Z variables removed, and one new Z var added)
enchanced secondary skills has one Z Variable more plus a few changes in existing Variables. Castle Upgrading has two Z Variables more and many changes in existing Variables.
Tobyn's Scripts has a few Z Variables more. Split Decision too. Emerald Tower Too. Mithri Upgrades Too. Map options too. Living Skull too.
Enchanced War Machines III script was almost completely Rewritten, So was the ert file. Castle Upgrading ert file is severely changed. Market of time too. Bank Too. Death Chamber too.
------------
so the changes to ert files was much more than SU description claims (5 almost rewritten ert files, 6 ert files expanded by a few lines, 3 ert files were expanded by one-two lines, 2 ert files have same no of lines but informative fixes, 2 ert files has only language errors fixed) so we have 13 ert files to change for each language pack. Luckily I believe Each of languages have a translated SU script pack somewhere in internet. So best Bet is to search translated SU for each of languages, get the 13 files and rename to ERA naming scheme.
so we have to hunt for translations already done, and public modified/repacked language packs.
|
|
Bersy
Honorable
Supreme Hero
|
posted March 23, 2012 12:58 PM |
|
|
Checked: no SU translation available.
Very unpopular package in Russian community it was.
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 23, 2012 04:44 PM |
|
Edited by majaczek at 18:11, 23 Mar 2012.
|
Quote: no russian SU translate
okay so somebody have to translate the changes in files to russian, I may find one russian person to do it (it shouldn't be hard for russian native speaker).
it's only a few files + less than 60 spare lines.
Is there any other languages which require language pack, and doesn't have SU localisation?
if it's only russian, please give me he language pack for russian, and I'll probably found person who would translate changed lines from english to russian (which is RU native speaker), and I'll merge changes with already present language pack.
I'll try to use my contact to do me the favour, as I already am a boss of some translation project from RU to PL, and the project has hundreds of thousands lines to translate (it took us 2-3 years and we are still working on it). Translating much less than 1000 lines would be I believe a tiny favour for a person whose work my team are still translating.
EDIT: is sane using function number 66939 for function that were 10939 in first money script?
EDIT: it looks now the merged_SU is perfectly stable. my concerns to random hero were just a thought. Rougue ambush didn't provide any error, even with all war machines present (it really was a random bug - it happens from time to time with wog). I couldn't generate any other error though i checked many wog functionalities at once. there theoreticaly still can be some wrong calculations, but i claim i'm 90% sure all is correct now. only the language pack makes a problem. if you wish test or play the merged_SU as a mod using default english language pack. It has to be tested by more than one person before it will be considered official. Also probably it have to wait for a complete russian language pack. Now i may consider doing mods on top of merged_SU. I also spotted some script problems for some plugins (namely script doesn't understand there's a plugin and works if it weren't). the script awaiting a fix after we have "isbinarypluginenabled" function, are: battle academy and school of wizardry (doesn't understand "unlimited skills"), war machines I (doesn't understand "all war machines in war factory"), and maybe some other. note the 3 scripts doesn't provide any crashes or so, but just work not as we want when the plugins are enabled. if we haven't the "isbinarypluginenabled" we may separate the plugins from WoG mod and provide "fixed" variants of scripts for each o worryfing plugins.
|
|
Bersy
Honorable
Supreme Hero
|
posted March 23, 2012 05:03 PM |
|
Edited by Bersy at 19:11, 23 Mar 2012.
|
Quote: Is there any other languages which require language pack, and doesn't have SU localisation?
To say the truth, I never heard of any SU localization.
Quote: EDIT: is sane using function number 66939 for function that were 10939 in first money script?
You can use it.
EDIT:
Thanks for the detailed analyses, I'll post your update at wog forum and ask people to test.
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 23, 2012 07:11 PM |
|
|
Quote:
Quote: Is there any other languages which require language pack, and doesn't have SU localisation?
To say the truth, I never heard of any SU localization.
Polish http://www.erm.acidcave.net/download.php?id=3
i couldn't find any czech or german ones after quick search..
if script update were so unpopular that haven't separate translations for each language played, which other languages I have to consider for new language pack, before the scripts can be included as official in ERA?
note that i included only official SU changes in the merged_SU package. Of course it's merged with changes form era. (I may dig for unofficial bugfixes, for now I only know a minor bug in getbasicprimary macro which lead to visual glitch only). My own changes to wogify should remain optional (but could be published as separate mod with era official package).
as of my unofficial changes (majaczek_scripts mod) for now: I have extended the DOTDM script which depends on some changes i applied to neutral units script (it reset every month if other CreatureBanks do, also have PO number for counting days to reset, it has always maximum guards if creatureStackSize set, and has a bit multiplied guards if it have to reset, it work as old version if the checked options were not set), I have extended the enchanced commanders script (removed changing of death stare to poison, changed the code for changing permanent fireshield to magic mirror, so commanders have full fire shield and weakened magic mirror at once, added code for changing shooting to chance of casting Titan's lighing bolt on target which reuse the freed poison function number, i have to fiddle what to do with flying and ignore 50% defence bonuses as they seam to be weak, i have also to make some use for commander bow artifact since commander no more can shoot, I also empowered spell casting for all commanders but Succubus which have already overpowered speciality) I have a bit changed map option script (it makes more intresting replaces for cartographers and changed the build multiplier from 2x to 4x), and I have modified School of wizardry and battle academy scripts which now assume that unlimited skills plugin is on (removed increasing of cost for heroes which look like having all availible skills - the number of eight), and rather nothing more. currently I removed the few wogmod scripts from the package as I would have to make them compatible with merged_SU.
Also i want to reserver a few V variables for use in my scripts (and not to be used by others, so my script changes will be still compatible). If i don't get enough or any (I seem to need no more than ten), I may consider partially rewriting bigger parts of enchanced commander script to use the four V variables from script as bitfields (generally if i work enough i can free two variables for my use and make another two to keep info of these four pluse something more).
Also i want to ask if the commander bow set the flags ("no range penalty" and "no obstacle penalty") if commander doesn't have the "shooting" ability (it would help me make new use for commander bow)
|
|
Bersy
Honorable
Supreme Hero
|
posted March 23, 2012 07:16 PM |
|
|
About reserving variables. Didn't you try to use associative memory for that purpose?
!!SN:W^maj.MyVar^/5;
!!SN:W^maj.MyVar^/^Hello %Z1 %V3^;
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 23, 2012 10:45 PM |
|
Edited by majaczek at 23:37, 23 Mar 2012.
|
No I didn't try associative memory. I looked once in ERA ERM manual, and I believe i remember I have read that for each integer table I have to use conventional variable which serves as a pointer.
Either manual haven't been updated to keep some of new commands or I remember it wrong.
While I speak of undocumented yet commands, I realised that there's some weird commands which start with
~!
There's two at beginning of era wogify script. Could you provide list of all already implemented commands within this type?
If I don't have to free and reuse variables from oryginal scripts I'm more than happy to use the association tables. Also a question - when the association table entry ends life? (Permanent? After reload of savegame? After code section ie. Battle ends?). I need to know if I have to do a variable which is more than battle helper. If i still have to store pointer in v-var then perhaps one is enough (as i can manipulate indexes in the table to make all ints fit in one table).
Edit: is there a way to change commander skill icons and commander screen text with a mod which isn't a wog mod? I know I have to change some files from zvs directory and some resources from homm35.pac, but I read that mod system doesn't affect zvslib... Is the simple modfolder structure enough?
Also is there commands which allow changing Stack Experience based abilities on units? Because I believe spellcasts and monster flags are not enough for me. I already know that SE can be applied to commanders, but I don't feel good with just replacing the text file and set ranks for commanders just to have one or another ability... And theres only 10 ranks so one empty plus only 9 which means i can have only 3 independent abilities for commander (which takes 2x2x2 for binary or 3x3 if i want to use two ternary independent states)
so shame i couldn't use monster flags just for "attacks and returns".
|
|
Bersy
Honorable
Supreme Hero
|
posted March 24, 2012 10:08 AM |
|
Edited by Bersy at 10:14, 24 Mar 2012.
|
Quote: No I didn't try associative memory. I looked once in ERA ERM manual, and I believe i remember I have read that for each integer table I have to use conventional variable which serves as a pointer.
That was SN:M - dynamically allocated arrays of strings/integers.
Quote: While I speak of undocumented yet commands, I realised that there's some weird commands which start with
~!
There's two at beginning of era wogify script. Could you provide list of all already implemented commands within this type?
Those are from raw WoG. Something connected with !!VC if I remember correctly.
Quote: If I don't have to free and reuse variables from oryginal scripts I'm more than happy to use the association tables. Also a question - when the association table entry ends life? (Permanent? After reload of savegame? After code section ie. Battle ends?). I need to know if I have to do a variable which is more than battle helper. If i still have to store pointer in v-var then perhaps one is enough (as i can manipulate indexes in the table to make all ints fit in one table).
Associative array (or hash/map) is saved in save games, so it's global and safe. You should just be sure to use some unique prefix (module name/author name maybe) before variable name so that other scripts do no clash with yours.
For instance, ^SecSkills.CurrPage^. Each Key can hold 1 integer and 1 string value. For instance:
!!SN:W^Hero^/^Orrin^ W^Hero^/0;
!!SN:W^Hero^/?z1 W^Hero^/?y1;
!!IF:L^%Z1 %Y1^; will show "Orrin 0"
Quote: Edit: is there a way to change commander skill icons and commander screen text with a mod which isn't a wog mod? I know I have to change some files from zvs directory and some resources from homm35.pac, but I read that mod system doesn't affect zvslib... Is the simple modfolder structure enough?
Mods\Your Mod\Data\zvs\Lib1.res\here place updated files (bmps and txtres.txt)
Quote: Also is there commands which allow changing Stack Experience based abilities on units? Because I believe spellcasts and monster flags are not enough for me. I already know that SE can be applied to commanders, but I don't feel good with just replacing the text file and set ranks for commanders just to have one or another ability... And theres only 10 ranks so one empty plus only 9 which means i can have only 3 independent abilities for commander (which takes 2x2x2 for binary or 3x3 if i want to use two ternary independent states)
so shame i couldn't use monster flags just for "attacks and returns".
You have !!EA command to assign exp on-the-fly, nothing more.
|
|
solitaire345
Promising
Famous Hero
|
posted March 24, 2012 10:30 AM |
|
|
The tilde (~) symbol is there to make a command look like it's not a command for ERM compiler so it just skips that command. These commands are useful only when debugging something.
____________
|
|
Bersy
Honorable
Supreme Hero
|
posted March 24, 2012 02:27 PM |
|
|
Got first report from Russian forums. Anoobis confirmed the following bug: "Creature specialists give +430 to attack and + 431 to defense to creatures (ex. Ivor to elves)"
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 24, 2012 04:12 PM |
|
|
can I use non combat !!EA commands within !?BF trigger? if yes it satisfies me much.
about bug with monster specialists - it's definately function/variable conflict in enchanced hero specialities. I'll look into it. I would be grateful for any more reports.
|
|
Bersy
Honorable
Supreme Hero
|
posted March 24, 2012 04:41 PM |
|
|
Quote: can I use non combat !!EA commands within !?BF trigger? if yes it satisfies me much.
Try at least. I didn't use this receiver in the scripts.
|
|
Dj0rel
Tavern Dweller
|
posted March 24, 2012 08:07 PM |
|
|
Ive noticed one minor thing. Era II doesn't seem to remember the WOG options I choose after I exit the game and I have to reselect them every time I start Era II.
|
|
majaczek
Supreme Hero
Work at Magic Dimmension
|
posted March 24, 2012 09:00 PM |
|
Edited by majaczek at 21:19, 24 Mar 2012.
|
Quote: Ive noticed one minor thing. Era II doesn't seem to remember the WOG options I choose after I exit the game and I have to reselect them every time I start Era II.
use save in wog options. ERA II loads options.dat at start, but you can save other dat files as backup of options. the difference between era and normal wog is that normal wog loads last saved dat file but era loads always options.dat until you change the wog.ini (phoenix mod changes the ini entry to point to phoenixsetup.dat)
Quote: Got first report from Russian forums. Anoobis confirmed the following bug: "Creature specialists give +430 to attack and + 431 to defense to creatures (ex. Ivor to elves)"
I checked this and report is invalid until he checked on hero exchange screen. No new variable from HSB were used in ERA script, and there's no new functions.
hero exchange screen handler use negative y variables which may be unsafe (but previous version of script showed here old specialisation description)... i may change the variables to positive indexes (it's unique for the trigger yeah? so i may use any of y1 to y10?).
probably report is invalid - either he used some other mod which uses new variables (wait the new variables/functions is reserved but not used!) or he uses a hero with extraordinary high level - which mean the value is corrrect (the parameter rise each level)
|
|
|