Error 'run_dialog10$1' not seen before

Started by amanta4ray, Wed 22/07/2015 18:16:38

Previous topic - Next topic

amanta4ray

I haven't seen this error before and was wondering if anyone can help me identify it?

Script link failed: Runtime error: Export table overflow at
'_run_dialog10$1'

Many thanks...Anne

Crimson Wizard

#1
What version of AGS are you using?
Is this your game or someone else's?
If its yours, how big is your game project; like, are there many large scripts, or it is a small one?
If its yours, try doing Build->Rebuild all files in the Editor, will the error persist?

The error means that there are far too much exported functions in scripts - over 50,000. It appears AGS thinks this is wrong.
We might remove this limit (should have actually, but I somehow missed it), but for this case it will be important to know whether you actually have this much, because the reason could be unrelated.

amanta4ray

#2
I am using AGS 3.1 and yes, it is my game.  I have made my own functions but don't think I have anywhere near that many.  Some of the scripts are quite large...does that make a difference?  There are approx. 300 rooms, with 100 inventory items and 105 characters.  I have only used 11 dialogs and 112 GUIS.  There are  approx. 420 global variables.

I did try re-building the files and the error is still there.  Is there anyway to get around this?  Originally, I thought it was because I had missed a closing bracket or brace on a previous line.

Crimson Wizard

Quote from: amanta4ray on Wed 22/07/2015 21:35:59
I am using AGS 3.1 and yes, it is my game.  I have made my own functions but don't think I have anywhere near that many.  Some of the scripts are quite large...does that make a difference?  There are approx. 300 rooms, with 100 inventory items and 105 characters.  I have only used 11 dialogs and 112 GUIS.  There are  approx. 420 global variables.

I did try re-building the files and the error is still there.  Is there anyway to get around this?  Originally, I thought it was because I had missed a closing bracket or brace on a previous line.

This error is very strange, because the 3.1 editor has a limit of 10.000 symbols per compiled script, while engine makes a limit of 50.000 exported symbols. This means that if there were too many functions or variables, your game won't compile at first place.

The only thing I could imagine is that if you are using some plugin, it may try to register more functions, but I doubt it would register that much anyway.

Is it acceptable for you to PM me the game project? I could try to run the program under debugger to see how it compiles and runs. I will promise to delete it after I found the reason of the problem.
(Actually, for the start, you may send only compiled game exe)

amanta4ray

#4
Thank-you for your reply.  I kept playing around with it yesterday, trying to find out what was wrong.  My conclusion was that I had too many functions in the global script.  Whenever I would delete one, the game would run fine, but then if I added it back in, the game would give me that error.  So what I am doing now is going back and trying to cut the fat, so to speak.  Hopefully that will be enough to finish the game as I am very close to the end.

Crimson Wizard

#5
Quote from: amanta4ray on Thu 23/07/2015 16:08:48
Thank-you for your reply.  I kept playing around with it yesterday, trying to find out what was wrong.  My conclusion was that I had too many functions in the global script.  Whenever I would delete one, the game would run fine, but then if I added it back in, the game would give me that error.  So what I am doing now is going back and trying to cut the fat, so to speak.  Hopefully that will be enough to finish the game as I am very close to the end.

Probably my assumption about script symbols limit was not correct. I guess this works not precisely as I thought.

If what you say about fixing the problem is true, you could try to split the global script into several script modules to reduce the amount of functions per unit.
Try to pick out group of functions that depend only on each other to lessen amount of required import/exports.

Meanwhile, I am going to remove this 50k limit in the next release of AGS (3.3.5) in case this problem rises again.

amanta4ray



QuoteIf what you say about fixing the problem is true, you could try to split the global script into several script modules to reduce the amount of functions per unit.
Try to pick out group of functions that depend only on each other to lessen amount of required import/exports.

I'm not exactly sure what you mean by this...I am a super, duper basic scripter. ;-D  All your help is GREATLY appreciated!!!

Crimson Wizard

#7
Quote from: amanta4ray on Thu 23/07/2015 16:56:48


QuoteIf what you say about fixing the problem is true, you could try to split the global script into several script modules to reduce the amount of functions per unit.
Try to pick out group of functions that depend only on each other to lessen amount of required import/exports.

I'm not exactly sure what you mean by this...I am a super, duper basic scripter. ;-D  All your help is GREATLY appreciated!!!

Well, there is a GlobalScript which you know already, but can you also create any number of extra script modules and move some of your functions there.
This is also explained in the manual:
http://www.adventuregamestudio.co.uk/wiki/Multiple_Scripts

The common way is to use each script for particular purpose, for example 1 script for character conversations, 1 script for puzzle logic, etc (this is just formal examples). If you learn to divide your game logic into multiple scripts, you will make it much easier for yourself, because your script will consist of smaller separated parts, instead of the one big file.

amanta4ray

Thank-you for all your help.  I never even thought about modules as I believed they were only for complicated scripts that people wanted to share with others.  I finally was able to get some working but not enough fell under that category as many of my scripts deal with GUI buttons.  I am slowly rearranging until I can get enough space that will allow me to continue.  Again, thank-you for your time and patience with me.

ollj

with approx 300 rooms you might be over the room limit of ags v3.1, that is ==300.

there are also a lot of other engine limits, told in
http://www.adventuregamestudio.co.uk/wiki/Engine_limits
and you can step over the limit temporatily without any error, like defining a 300001th dynamic sprite but never accessing it, while getting very strange errors in other cases.

nwer verswions of ags have some engine limits increased, lifted or offer workarounds.
mostly version 3.4.0.6 alpha to be found somewere, hidden behind a waterfall

SMF spam blocked by CleanTalk