NewGen Issues (JassHelper)

Level 15
Joined
Jul 6, 2009
Messages
888
New problem: Vexorian's JassHelper also stalls on compile error:

attachment.php


Actually, I needed to use Vexorian's JassHelper instead of Cohadar's for now (freakin' for can't be variable members and order of initialisers) and the stalling error is present with it.

It will work fine when there is no compile error. If I kill the jasshelper.exe process and then 'Show previous errors' in the menu, it will show the errors fine. It just doesn't seem to want to move past the "Found errors, please wait" stage.

I've tried:
- Reinstalling NewGen (using 5d at the moment) and then updating JassHelper
- Changing system locale to English (Australia) from Japanese
- Testing JassHelper on a completely blank map with a syntax error, and it still fails

I'm running Windows 7 Home Premium, the same as my old computer which ran JassHelper fine.

Any help is appreciated.



Hi.

Recently I got a new PC and transferred all my Warcraft III related files onto it. However, the NewGen which I moved no longer seems to work. Running the NewGen WE.exe does nothing.

So, I decided to reinstall NewGen and all is fine until I hit save for a map with an error in it. I've isolated the problem script as follows:

JASS:
scope PlayerScoreBoard initializer OnInit

    globals
        Board StatBoard
        private integer Seconds = 0
        private integer Minutes = 0
        private string TimeString
        private timer UpdateTimer = CreateTimer()
        
        private unit Team1Unit
        private unit Team2Unit
    endglobals
    
    private function UpdateTime takes nothing returns nothing
        local BoardItem it
    
        if Seconds < 60 then
            set Seconds = Seconds + 1
        else
            set Seconds = 0
            set Minutes = Minutes + 1
        endif
        
        if Seconds < 10 then
            set TimeString = I2S(Minutes) + ":0" + I2S(Seconds)
        else
            set TimeString = I2S(Minutes) + ":" + I2S(Seconds)
        endif
        
        set StatBoard.title = "Statistics - " + TimeString
        
        //

        call GroupEnumUnitsSelected(ENUM_GROUP, Player(0), null)
        call BJDebugMsg("PRE SELECTIOZN")
        set Team1Unit = GroupPickRandomUnit(ENUM_GROUP)
        call BJDebugMsg("Selected unit: " + GetUnitName(Team1Unit))
        
        set it = StatBoard[0][1]
        set it.text = GetUnitName(Team1Unit)
       
        set it = StatBoard[1][1]
        set it.text = R2S(GetUnitMoveSpeed(Team1Unit))
        
        set it = StatBoard[2][1]
        set it.text = I2S(GetHeroLevel(Team1Unit))
        
        set it = StatBoard[3][1]
        set it.text = R2SW(GetUnitState(Team1Unit, UNIT_STATE_LIFE), 1, 1)) + "/" + R2S(GetUnitState(Team1Unit, UNIT_STATE_MANA))
        
        set it = StatBoard[4][1]
        set it.text = OrderId2String(GetUnitCurrentOrder(Team1Unit))
        //
    endfunction

    private function OnInit takes nothing returns nothing
        local BoardItem it
        local integer i = 0
        
        call TriggerSleepAction(0.)
        set StatBoard = Board.create()
        set StatBoard.title = "Statistics - 0:00"
        set StatBoard.titleColor = 0xFFFFFFFF

        
        set StatBoard.row.count = 4
        set StatBoard.col.count = 4
        
        set StatBoard.all.width = 0.03
       
        set it = StatBoard[0][0]
        set it.text = "Unit Name"
        set it.width = 0.06
        set it.color = 0xFFCC00
        
        set i = 0 
        loop
            exitwhen i == 4
            set it = StatBoard[0][i]
            set it.width = 0.06
            call BJDebugMsg(I2S(i))
            set i = i + 1
        endloop
        
        set it = StatBoard[1][0]
        set it.text = "Movement Speed"
        set it.width = 0.08
        set it.color = 0xFFCC00
        
        set i = 0 
        loop
            exitwhen i > 4
            set it = StatBoard[1][i]
            set it.width = 0.08
            call BJDebugMsg(I2S(i))
            set i = i + 1
        endloop
        
        set it = StatBoard[2][0]
        set it.text = "Level"
        set it.width = 0.04
        set it.color = 0xFFCC00

        set i = 0 
        loop
            exitwhen i > 4
            set it = StatBoard[2][i]
            set it.width = 0.04
            call BJDebugMsg(I2S(i))
            set i = i + 1
        endloop
        
        set it = StatBoard[3][0]
        set it.text = "HP / MP"
        set it.width = 0.07
        set it.color = 0xFFCC00
        
        set i = 0 
        loop
            exitwhen i > 4
            set it = StatBoard[3][i]
            set it.width = 0.07
            call BJDebugMsg(I2S(i))
            set i = i + 1
        endloop
        
        set it = StatBoard[4][0]
        set it.text = "Current Order"
        set it.width = 0.08
        set it.color = 0xFFCC00
        
        set i = 0 
        loop
            exitwhen i > 4
            set it = StatBoard[4][i]
            set it.width = 0.08
            call BJDebugMsg(I2S(i))
            set i = i + 1
        endloop

        set StatBoard.visible = true
        
        call TimerStart(UpdateTimer, 1.0, true, function UpdateTime)
    endfunction

endscope

When it comes to JassHelper, Cohadar's JassHelper outputs:
thismap --> backups\1.w3x
Loading (sfmpq.dll): OK
Extracting (war3map.j): OK
PREPROCESSING
Loading (cohadarjasshelper\common.j): OK
Loading (cohadarjasshelper\blizzard.j): OK
Importing: OK
Textmacros: OK
Zinc: OK
Libraries & Scopes: OK
STRUCTS
Loading: OK
Modules: OK
Conditional Blocks: OK
Parsing: OK
Verifying: OK
Evaluation:
JASS Exception, please wait...

It then does nothing and the editor freezes. JassHelper is still functional and responsive though.

It's been irritating me because it has worked fine on my old computer. So, how do I correct this issue with JassHelper stalling and how can I reconfigure my old NewGen from the old PC to work?

Any help is appreciated.[/S]
 
Last edited:
Level 15
Joined
Jul 6, 2009
Messages
888
Actually, new problem but it's related to this, and I didn't quite think it was necessary to new thread it.

I needed to use Vexorian's JassHelper instead of Cohadar's for now (freakin' for can't be variable members and order of initialisers) and the stalling error is present with it.

It will work fine when there is no compile error. If I kill the jasshelper.exe process and then 'Show previous errors' in the menu, it will show the errors fine. It just doesn't seem to want to move past the "Found errors, please wait" stage.

I've tried:
- Reinstalling NewGen (using 5d at the moment) and then updating JassHelper
- Changing system locale to English (Australia) from Japanese
- Testing JassHelper on a completely blank map with a syntax error, and it still fails

I'm running Windows 7 Home Premium, the same as my old computer which ran JassHelper fine.
 
It will work fine when there is no compile error. If I kill the jasshelper.exe process and then 'Show previous errors' in the menu, it will show the errors fine. It just doesn't seem to want to move past the "Found errors, please wait" stage.

can you explain more clearly? why do you exactly "kill" the jasshelper.exe process?
 
Level 15
Joined
Jul 6, 2009
Messages
888
Seems like some issue with interacting with pJASS in order to list the errors.

Perhaps it is a permissions issue? Try right-clicking JNGP and running as admin. Also, do you have any anti-viruses installed?

I've tried running it as admin and it still does not work.

I have Microsoft Security Essentials installed. I've added the folder where NewGen is in to the exceptions list, thinking it may have helped.
 
Top