Jump to content
Sign in to follow this  
sbsmac

Squint - the sqf editor and error-checker

Recommended Posts

Sorry for the delayed response - real-life commitments are keeping me a bit busy at the moment. Hopefully I'll get a bit of spare time to work on squint in the next couple of weeks.

Bhaz - thanks for the bug-report on #include. Have reproduced this here and will look into fixing it. On the memory usage, I'll try and figure out what's not being released...(note to self, perhaps the list of global vars is the problem).

Giorgy - glad things are working for you now - if you ever figure out what fixed it please let me know ! :)

Lethal- thanks for the suggestions and don't worry about bombarding me, I'm far more motivated to add things to squint when I can see it's being used ! The bracket behaviour is by design (whether it's good design is more debatable!), the other stuff I'll take a look at....

Share this post


Link to post
Share on other sites

Hey mac :)

I m sure that changing the "font" type fixed the problem -as you suggested-

*i m still not sure tho-why my font-type was changed all this time :?

but ..all its ok now..thanks again ;)

Share this post


Link to post
Share on other sites

Great tool, I'm loving it! :) Thanks for providing us with such a great tool!

NB: Also, added a few small bugs to the tracker on DH, not urgent at all though.

Share this post


Link to post
Share on other sites

Thanks mamba - always good to hear people like it :) I had a quick look at the bugs - good reports there. I've let things stack up a bit on squint but hopefully will get some time to do some maintenance over christmas.

Share this post


Link to post
Share on other sites

Take your time :) I know I'd rather be playing A2 than poking around in code trying to fix bugs.

Just curious, but what did you write this in? C#? I thought I saw some snippets on your blog or something but I didn't take a hard look.

Share this post


Link to post
Share on other sites

Yep - it's written in C# which, along with the .Net framework, has quickly become my development platform of choice. :)

Share this post


Link to post
Share on other sites

heres an error that didnt show up inside squint.

value type distance needs to give a value.

i had mistakenly used distance between an object and a marker, and took me a few hours to figure out that distance doesnt support string or marker types.

Share this post


Link to post
Share on other sites

Can you paste the relevant section of code ? Ta :)

Share this post


Link to post
Share on other sites
Can you paste the relevant section of code ? Ta :)

I think Igneous01 was referring to:

_herp = player distance _marker;
_derp = player distance (getMarkerPos _marker);

The first line should throw an error, since it doesn't work. As great as Squint's features are, getting it to recognize which variables are defined as markers sounds kinda crazy.

Share this post


Link to post
Share on other sites

Thanks Bhaz. Actually squint does manage a reasonable amount of type-checking. Eg if you write

_marker="markerName" ;
_dist = player distance _marker ;

it'll notice that _marker is a string and then flag a signature error for 'distance'. What it can't (yet) do is track types through function calls so

func={
_marker=_this select 0;
_dist = player distance _marker ;
};

won't cause a warning.

Share this post


Link to post
Share on other sites
Thanks Bhaz. Actually squint does manage a reasonable amount of type-checking. Eg if you write

_marker="markerName" ;
_dist = player distance _marker ;

it'll notice that _marker is a string and then flag a signature error for 'distance'. What it can't (yet) do is track types through function calls so

func={
_marker=_this select 0;
_dist = player distance _marker ;
};

won't cause a warning.

yes that was the case with me. I was using a function to check the distance of certain units with a marker originally. and i could never understand why the condition never met when they were close enough. then i read the distance again and realized it doesnt check markers :P silly me.

but yes its a great program, i managed to write almost my entire script untested inside it and after 30 mins or so got it to work properly ingame ^^ great program.

but I guess that means ill need to be more careful with value types in my functions then ^^

Share this post


Link to post
Share on other sites
that _marker is a string and then flag a signature error for 'distance'. What it can't (yet) do is track types through function calls so

Yet? It will do in the future? That's pretty advanced behaviour. Can it track functions that are defined in a script other than that currently in the window?

Share this post


Link to post
Share on other sites

@Igneous01 - Glad you're finding it useful :)

@Tankbuster - It's 'yet' in the sense I'm pretty sure I know how to go about it so implementing it is 'just' a matter of summoning the necessary motivation ;) To answer your second question, yes, squint would track across all functions in the project not just those in the current file. There are actually two related aspects...

1) Infer the return types of functions (relatively straightforward)

2) Infer the likely types of function parameters (somewhat harder)

The first behaviour would solve igneous' problem above. The second would allow squint to warn of attempts to pass the wrong kinds or numbers of arguments to a function.

Share this post


Link to post
Share on other sites

Using Windows 7 Squint installs itself to C:\Users\...\AppData\Local\Apps\2.0\M8HCLCOQ.O27\D0N0RWQH.3LX\squi..tion_3d804d6cf9fd5b6a_0001.0000_cdd61974220471fd with no option for me to change the install directory.

Why can't I specify where I want to install Squint?

Edited by fatty86

Share this post


Link to post
Share on other sites

Any progress on the duplicate code detection?

And is it possible to add a warning if a switch doesn't have a default state?

Just in case if an unexpected value passes true.

Share this post


Link to post
Share on other sites

Sorry i0n0s, I'm taking a bit of a 'rest' from squint at the moment. I'll probably come back to it in a while when interest returns. The 'default' warning would be fairly straightforward to add - will stick it on the issue list. Duplicate code is a bit harder though - needs some thought.

Share this post


Link to post
Share on other sites

Hi, subsmac, good job and I can't edit sqf without it now.

But I just wanna to know will you update it and add the new commands in patch 1.57?

like

AllDead
AllMissionObjects

Share this post


Link to post
Share on other sites

Latest version makes squit crash on start

Using olderversion at my laptop, also win 7 64, and that works perfect

Problem signature:

Problem Event Name: CLR20r3

Problem Signature 01: squint.exe

Problem Signature 02: 1.0.0.0

Problem Signature 03: 4ced817f

Problem Signature 04: System.Windows.Forms

Problem Signature 05: 4.0.0.0

Problem Signature 06: 4ba1e14e

Problem Signature 07: 3e05

Problem Signature 08: 120

Problem Signature 09: System.InvalidOperationException

OS Version: 6.1.7600.2.0.0.768.3

Locale ID: 1053

Additional Information 1: 0a9e

Additional Information 2: 0a9e372d3b4ad19135b953a78882e789

Additional Information 3: 0a9e

Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Win 7 64bit

Edited by Slammer121
new info

Share this post


Link to post
Share on other sites

Hmm -that's a new one on me! Squint should only care that it can access the internet to check for updates. It really shouldn't care which adaptor is being used. All I can think of is that this is something to do with the Clickonce deployment - if you just uninstall and reinstall it should sort things out.

Share this post


Link to post
Share on other sites
Hmm -that's a new one on me! Squint should only care that it can access the internet to check for updates. It really shouldn't care which adaptor is being used. All I can think of is that this is something to do with the Clickonce deployment - if you just uninstall and reinstall it should sort things out.

Done that, no diffrence

Any link to a older version to try if it is it or something else broke when uninstalling the WLCard

Edited by Slammer121

Share this post


Link to post
Share on other sites

It may be possible you've corrupted your preferences or project file. When the exception occurs, you should notice a 'details' button. Could you click on that and post the results here ?

Share this post


Link to post
Share on other sites
It may be possible you've corrupted your preferences or project file. When the exception occurs, you should notice a 'details' button. Could you click on that and post the results here ?

Problem signature:

Problem Event Name: CLR20r3

Problem Signature 01: squint.exe

Problem Signature 02: 1.0.0.0

Problem Signature 03: 4ced817f

Problem Signature 04: System.Windows.Forms

Problem Signature 05: 4.0.0.0

Problem Signature 06: 4ba1e14e

Problem Signature 07: 3e05

Problem Signature 08: 120

Problem Signature 09: System.InvalidOperationException

OS Version: 6.1.7600.2.0.0.768.3

Locale ID: 1053

Additional Information 1: 0a9e

Additional Information 2: 0a9e372d3b4ad19135b953a78882e789

Additional Information 3: 0a9e

Additional Information 4: 0a9e372d3b4ad19135b953a78882e789

Read our privacy statement online:

http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:

C:\Windows\system32\en-US\erofflps.txt

---------- Post added at 08:04 PM ---------- Previous post was at 07:52 PM ----------

deletet the project files :rolleyes: and reinstalled it, now it works, but has to do new project files...

Regards

Share this post


Link to post
Share on other sites

Thanks for the tool. One problem. Every time I want to run it I have to run setup. It doesn't seem to make any program files.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×