Hi everyone !
First things first, my question, as people might not have time to read all my detailed explanations :
How do you declare global 2D arrays in Jass without conflicting with the WE's Init Globals function ?
I mean I have several arrays I use like this one :
I did it to have a cleaner Jass code as I feel like using a single index is dirty coding.
OF course this was not possible back in the days I was a mapmaker, but I read that that new vJass and JassHelper features allow multi-dimensional arrays.
Fact is this is no lie, if I declare the globals like this in my script and don't use WE, the 2D arrays work a treat, so how can I make WE accept it ?
I tried adding a custom Init Globals in the map custom script space (hoping it would run before all my custom triggers), and fun enough the whole map seems to compile with no error, until the last part when JassHelper just gives up with a pretty long list of unknown compile errors, starting, of course, at my "globals" first line.
So, if vJass supports 2D arrays, and JassHelper compiles all the code referencing to these arrays like
then why can't we declare these arrays in globals with World Editor ????
Any help would be immensely appreciated, as my project is 99% finished !
Now for people with more time or patience, here is more about myself :
I was a mapmaker back in 2003-2004, and although i stopped since, reforged pushed me back to my very old love!
I was called ChrydGod back then on wc3campgains forum (seems it died recently, few days after I returned). I made several maps back then, including Atlantis Beyond Icecrown (DotA-like), Cube Defense NE and Cube Defense Balls Edition, they never really became popular, and that was deserved because I gave up mapmaking before being able to fix them.
I'm back now, and slowly catching up with the knowledge I lost after these years, and trying to decipher all the amazing stuff that the community has brought over since I left. You guys just amaze me!
Anyways, I have been working on a remake of my best map, Cube Defense BA, that will be called aMazing Balls TD. It should be really unique with features I haven't yet seen from all the other TDs around (although I was impressed by some of those made since I left!)
I have lost count of the endless nights I spent working on it, especially with Reforged new bugs and features I had to find workarounds for, but it is nearly done. There is just a single issue :
I work in World Editor as I did not find any other 3rd Party Editor working with Reforged, and to be honest this new JassHelper thing and vJass adoption (It didn't exist back then!). I am pleased with it anyways, and I manage to work on my Jass functions by throwing it in World Editor's empty triggers.
So that is where the problem comes from : I could simply forget WE and remove its files from my map archive and just throw my war3map.j in with an MPQ Editor, but I really want to keep the thing usable in WE for the future, especially as I plan to release a non protected version for everyone once the project will be polished enough.
First things first, my question, as people might not have time to read all my detailed explanations :
How do you declare global 2D arrays in Jass without conflicting with the WE's Init Globals function ?
I mean I have several arrays I use like this one :
Code:
rect array WapPoint [4] [10]
I did it to have a cleaner Jass code as I feel like using a single index is dirty coding.
OF course this was not possible back in the days I was a mapmaker, but I read that that new vJass and JassHelper features allow multi-dimensional arrays.
Fact is this is no lie, if I declare the globals like this in my script and don't use WE, the 2D arrays work a treat, so how can I make WE accept it ?
I tried adding a custom Init Globals in the map custom script space (hoping it would run before all my custom triggers), and fun enough the whole map seems to compile with no error, until the last part when JassHelper just gives up with a pretty long list of unknown compile errors, starting, of course, at my "globals" first line.
So, if vJass supports 2D arrays, and JassHelper compiles all the code referencing to these arrays like
Code:
local rect WP=udg_WayPoint[PlayerNb][BallNb]
then why can't we declare these arrays in globals with World Editor ????
Any help would be immensely appreciated, as my project is 99% finished !
Now for people with more time or patience, here is more about myself :
I was a mapmaker back in 2003-2004, and although i stopped since, reforged pushed me back to my very old love!
I was called ChrydGod back then on wc3campgains forum (seems it died recently, few days after I returned). I made several maps back then, including Atlantis Beyond Icecrown (DotA-like), Cube Defense NE and Cube Defense Balls Edition, they never really became popular, and that was deserved because I gave up mapmaking before being able to fix them.
I'm back now, and slowly catching up with the knowledge I lost after these years, and trying to decipher all the amazing stuff that the community has brought over since I left. You guys just amaze me!
Anyways, I have been working on a remake of my best map, Cube Defense BA, that will be called aMazing Balls TD. It should be really unique with features I haven't yet seen from all the other TDs around (although I was impressed by some of those made since I left!)
I have lost count of the endless nights I spent working on it, especially with Reforged new bugs and features I had to find workarounds for, but it is nearly done. There is just a single issue :
I work in World Editor as I did not find any other 3rd Party Editor working with Reforged, and to be honest this new JassHelper thing and vJass adoption (It didn't exist back then!). I am pleased with it anyways, and I manage to work on my Jass functions by throwing it in World Editor's empty triggers.
So that is where the problem comes from : I could simply forget WE and remove its files from my map archive and just throw my war3map.j in with an MPQ Editor, but I really want to keep the thing usable in WE for the future, especially as I plan to release a non protected version for everyone once the project will be polished enough.