Jump to content
Sign in to follow this  
Spooner

SPON Map

Recommended Posts

SPON Map v0.6.0

mapie3.jpg

Measuring tool - Ruler line dragged with the mouse

rulerju4.jpg

Coordinate tool - scale

toolscaledn6.jpg

Coordinate tool - grid

toolgridfz6.jpg

Coordinate tool - keypad

toolkeypadov4.jpg

SPON Map v0.3.0 @ YouTube (Unofficial video; thanks to Woolridge!)

- Released: 2009-01-15

- Install size: 404k (mission version) or 495k (addon version)

- (mission script version) 100% scripts with no addon dependencies

- (addon version) Requires XEH (1.9 or higher), but this is included in the release.

- Requires: ArmA 1.14 (or higher) and SPON Core (v0.5.3 or higher)

- See attached README.html for full details

Downloads

OFPEC (primary)

ArmAholic (mirror)

Overview

Map that allows players to make freehand drawings, as well as place markers in a more manageable/intuitive way. The choice of exactly who to send this information to is extended from the "vanilla" ArmA options.

Requires that the SPON Core be installed in the mission (v0.5.3 or higher). Both SPON Map and SPON Core are available in two versions: One is a client-side addon and the other is mission-script-based, which does not require any addons to be installed on client or server. Both require ArmA 1.14 or higher.

Features

   * Alternate map dialog is opened and closed via pressing <vehicle-turbo>-<show-map> (LSHIFT+M by default).

   * 11 modes of operation are available (Select radio button or press CTRL F1-F11):

         o Measure mode:

               + By holding down the mouse button and dragging it, measure the distance and azimuth of the line traced.

         o Query mode:

               + By hovering over an existing line/marker, drawn by anyone, you can see information about it:

                     # When it was originally sent.

                     # Who originally placed the item.

                     # What target individual or group it was originally sent to.

                     # For markers only, you can see its full descriptive name (for lines, rectangles and ellipses it just tells you that it is a "Drawing" ;P).

         o Grid mode: Overlays for measuring accurate grid references:

               + Scale - right-angle of measuring scales (makes more sense when you see it)

               + 10x10 Grid

               + Keypad, showing 9 sub-sectors

         o Marker mode (Place icons):

               + Pick marker from combo-box which includes icons (no more using up/down to find a specific marker from a list of dozens or hundreds that are installed!).

               + Marker icons can be filtered by typing in a search string pattern.

               + When placing markers, drag the mouse to make them larger or smaller (50-150% of default marker size). Hold ALT while dragging to rotate the marker.

               + Choose from six standard colours (black, white, green, red, yellow, blue) or use the default colour for the specific marker.

               + Any marker can be tagged as urgent by prepending "!" to its message (e.g. "! BFO Tank"), which will give anyone who receives it an automatic IM notification, including its map coordinates.

               + If you receive an unrecognised marker, you are told, via chat, the class name of the marker and who actually sent it (in "vanilla" ArmA, you get an intrusive modal dialog with just the marker class name). Since the unrecognised marker cannot be displayed, you will see a question-mark marker placed on the map in the requested position with the requested colour.

         o Pencil mode: Drawing freehand lines.

         o Pen mode: Drawing straight lines.

         o Ellipse mode: Drawing ellipses (frames, not filled). Hold LSHIFT to draw a circle, ALT to rotate.

         o Rectangle mode: Drawing rectangles (frames, not filled). Hold LSHIFT to draw a square, ALT to rotate.

         o IM Mode: Send text messages to other players.

         o Log mode: See a complete chronological list of markers and drawings received and sent, any of which can be centred or deleted. In this mode, you can also click on any marker or drawing on the map to find it in the log.

         o Notepad mode: A dynamic notepad, which can have pages added, modified and removed at any time.

               + SPON Map automatically adds GMJ SightAdjustment rangecards to the SPON Map notepad.

   * Target information to a variety of player groupings or "channels" (Select radio button or press F1-12):

         o Self (for personal notes; the only mode available in single-player).

         o Tell (any specific allied player, except oneself).

         o Direct (all nearby people).

         o Vehicle (any allied vehicle with players in it).

         o Group (any allied group containing players, including own if there are other players in it).

         o Side.

         o Alliance (own side and any configured as being allied to it; this will only be available if an alliance is defined in the mission).

         o Friendly (alliance + civilians).

         o Global.

         o Command - All allied group leaders.

         o Medical - All allied medics.

         o Channels - User-defined channels, currently only created by mission-based function calls. They only reach across an alliance. Each has a unique name (string) and everyone subscribed to that channel will get messages directed at it.

   * Choose from six semi-transparent colours (black, red, green, blue, yellow or white). Alternatively, when placing marker icons, automatically use the configured default colour for that particular marker.

   * Player can delete a marker/line by pressing "delete" key while hovering over it.

   * Can either replace the standard map entirely or co-exist with it.

Limitations

   *  You can still place map markers by double-clicking on the default ArmA map, including the map you see in the briefing. These markers cannot be queried or deleted on the SPON map nor can SPON Map markers/drawings be deleted on the default map.

   * Although the compass points in the direction that the player was looking when the map was opened (like vanilla compass), player will stop freelooking as soon as the SPON Map is opened, so will not be looking in the same direction when he exits the map.

   * It is not possible to move or drive while looking at the SPON map (Consider this a realism feature though!).

   * Can't exit the map when in Marker or IM modes (since 'M' is used to type in messages in those modes). [Workaround: Change mode first or use ESCAPE key].

   * When deleting/selecting/querying lines, they are only found when the mouse is at the centre of a straight section.

Compatibility

   *  Mission types:

         o SP and SP teamswitch: Yes, but a bit pointless.

         o MP Teamswitch: Mostly (specifically, Medical channel assumes you don't change to and from being a medic, but Map does remember your "real" name even if you change characters in-game).

         o MP: Yes.

         o MP JIP: Yes, but you don't get updated with already placed markers, but then, that is no worse than vanilla ArmA behaviour ;P.

   * Addons and Scripts:

         o Not compatible with any other script or addon that detects key-presses (unless it uses SPON Core or Shole DEH key-press handler, of course).

         o Fails if SPON Map v0.5.x is run as an addon at the same time as SPON Map v0.6.x is run from the mission. If v0.6.x is run from addon and mission, then the addon version will always be the one run (and run correctly).

   * Missions:

         o Warfare:

               + "View Map" action is not visible when on foot (i.e. only available in a vehicle). [Mission deletes constant actions rather that storing them in a variable!]

               + SPON key-handling disabled by the mission, so can't open SPON map that way.

               + No specific targets appear in tell/group or vehicle [No idea why].

         o Evolution: OK.

         o Others: Probably OK.

   * Maps (the things that could fail on a map that SPON Map isn't compatible with, would be corrupted Grid mode and/or bad GPS coordinates given; otherwise it would work fine):

         o Sahrani, South Sahrani (saralite), Rahmadi: OK.

         o Isla Barbuda, Avgani: OK.

         o Maps with 6-digit GPS: OK.

         o Others: Probably OK, but please tell me if you find one that isn't!

Known Issues

    *  When using "tell", "group", "vehicle" or "Channels" comms modes, the list of possible targets is only updated when the mode is selected or re-selected (Workaround: just re-select "Tell"/"Group"/"Vehicle"/"Channels" to update the list if it is out of date).

   * Sometimes in "tell", "group" or "vehicle", certain valid targets will not appear in the list of options. [i suspect this is a problem with SPON Core, rather than in SPON Map as such].

   * With a lot of things drawn on the screen, FPS can really take a hit when in query mode, regardless of computing power (This seems erratic and often a low spec computer works fine with a lot of things drawn on the map, so is more likely a bug than a limitation of the design).

   * Centring map on a drawing (line, circle, etc) moves the map to the start of the line, or an arbitrary position on a rectangle or square, not to its actual centre.

Plans

   *  Add decent MP-friendly radio system (which allows for a menu hierarchy as well as allowing multiple scripts to add radio options without them being incompatible, as would be the case now if two people tried to use the ALPHA radio channel at once).

   * Add an "eraser mode", so you don't have to press delete key.

   * Optimise data transfer to reduce network traffic.

   * Allow existing map markers to be dragged around the screen.

   * Enable the player to send IMs without switching to the Map screen by allowing them to open small IM dialog in normal game screen.

   * Allow players to create new custom channels in-game (currently channels are added only via functions). Probably implemented by adding /join and /leave commands in the IM entry line.

   * Add config options to allow mission-maker to decide which of the 11 mode and 12 locality communication types should be enabled.

   * Add first/previous/next/last page links at the bottom of the notepad.

   * Add a way to serialise/export a placed marker, or other drawing, into SQF script, so that it can be pre-placed in a mission.

   * Optional support for JIP updating, assuming server is also running SPON Map (so that you see all current markers when you join or rejoin!).

   * Allow map marker text to be shown or hidden, to allow more text to be used without it filling up the map. Either allowing it to be switchable from hidden to shown globally, or only "pop-up" when hovering over the marker [suggested by Dyson].

   * Automatic kick/ban for people who use the interface to draw rude things ;P

Credits

   * Compass/protractor image adapted from original BIS compass textures.

   * Several icons adapted from original BIS icons and markers.

   * Testing by Loki's Nightmare, The Regiment of Grenadier Guards [RGG] squad, 6thSense clan and the ATOW and IC-ArmA tournaments (as well as several individuals).

   * Thanks to everyone at BIS and OFPEC forums for testing, feedback and suggestions.

   * Small amount of code adapted from GMJ SightAdjustment addon, in order to integrate GMJ range-cards (used without permission, but author seems to have left the community some time ago).

   * Demo mission and addon pbo files created with cpbo by Keygetys.

   * Thanks to Solus for allowing me to include the XEH addon in the release (and, of course, for making the great addon in the first place!)

Change Log

v0.6.0

(all those from v0.6.0RC1 to v0.6.0RC7; too many to list!).

(See readme.html for full details of changes before current version).

<a href="http://www.flashpoint1985.com/cgi-bin/ikonboard311/ikonboard.cgi?act=ST;f=70;t=74601" target="_blank">

spooneroq2.jpg</a>

Share this post


Link to post
Share on other sites

Wicked - you rock Spooner notworthy.gif

Feedback once back from uni. smile_o.gif

Share this post


Link to post
Share on other sites

That's awesome! Have you tested it with a tablet?

Share this post


Link to post
Share on other sites

Marvelous! I'll give this a test run as soon as I get back from lab! Didn't think something like that was possible - great work, Spooner, thank you! :-)

Share this post


Link to post
Share on other sites

Thanks!

@Mr. Burns: This isn't an addon; it is a mission-based script. I do plan to addonise this eventually, which would allow a number of improvements not available outside an addon environment, but there are significant issues I'd like to address before doing that (mainly in SPON Core).

@Opteryx: I haven't tested it with a tablet, since I don't have one, but I've found it perfectly fine to draw with the mouse. The only difficulty is that if you are drawing freehand when zoomed in then the minimum length of individual line segments can make drawing difficult and ugly. Maybe I should scale the minimum length based on the zoom level while you are drawing? This would also have the side-effect of reducing the bandwidth of massively long lines drawn at minimum zoom!

EDIT: You may have noticed that the drawing modes have text rather than icons on. This is because I cannot draw with a mouse to save my life (you can tell from the screenshot, can't you?). If anyone wants to volunteer their icon-making skills to make icons for me which are consistent in style with ArmA, then please contact me.

Share this post


Link to post
Share on other sites

Works very well. Very impressive Spooner! notworthy.gif

A few suggestions and ideas:

~ Maybe make sub groups for icons or the ability to filter the list with character input

~ Possible to resize and rotate markers ... I guess not?

~ More thick lines would be nice. Add an option to have different size?

~ Maybe add another 'button' for delete - so you could make also rectangle or circle and delete every marker within

~ Separate file to assign different keys to the actions (only to make it easier)

~ Make click, preview marker, click again to place (instead of enter)

Did you do any MP DS tests? Whats your thoughts about traffic?

Again impressive work - key feature which will find its way it all major mission frameworks I hope! smile_o.gif

Share this post


Link to post
Share on other sites

Thanks, Q! You got into the swing of my keen aim of not only adding features but streamlining the GUI as much as possible wink_o.gif

~ Maybe make sub groups for icons or the ability to filter the list with character input

Well, it isn't easy to group up the icons, since you can't tell where they were defined (I just read the config to work out which to use). They are thus appearing in the combo box in the order that they were seen by ArmA. I did try sorting them alphabetically, but then you don't get similar icons together (or icons from a specific mod together). Having the list filtered by pressing the first letter of a marker's name might be a good idea though!

~ Separate file to assign different keys to the actions (only to make it easier)

I'm not sure what exactly you mean here regarding a "separate file". You can tab through the buttons, but that isn't ideal. I have considered adding keyboard short-cuts ((Q)uery, (E)raser, (P)en, Pen©il, (E)llipse, ®ectangle perhaps?), but haven't got around to it yet. I wouldn't really want the keys configurable, however, since I don't really want different missions all using different sets of shortcuts for the same thing!

~ Make click, preview marker, click again to place (instead of enter)

I don't quite understand what you mean. I agree that having a second click to place the marker would streamline things (rather than making you go to the keyboard to press enter), but I don't see why it should be instead of enter. One thing I have considered is having the text entered in the tool window and then drag the marker to size and rotate like a circle/square is now (consistency is a very good thing). This way, even less clicks when, most of the time, you are just placing a marker without text. I'd definitely put in min and max sizes for markers though, since otherwise you'd have to be very careful placing them (need to implement minimums for ellipses and rectangles too).

The other things you suggest have been considered and are definitely on my to-do list.

As far as traffic, I haven't measured it or been able to test with anything more than 3 players in the demo, but can see that, especially for curves, it could be considerable. There are still a number of optimisations that I can make (e.g. circles are sent as 36 points, just reusing the send-line code to save development time, not just as the more simple height/width values as they should be), but still, sending long curves will always be costly. In speaking to IC-ArmA devs, they have suggested that only leaders could have write-access in order to limit bandwidth usage. Still, depending on the traffic produced, I'm not sure this is going to be usable for in-game use by the huge tourneys...

Share this post


Link to post
Share on other sites

What about reading the colors from the config too?

Share this post


Link to post
Share on other sites

Well, I purposely only used the 6 standard ArmA colours, even though I could easily, as you suggest, read the available colours from the config. This way, however, I can get away with using a simple row of large colour selection radio buttons.

You cannot guarantee that everyone has all the colours that everone else has from addons (yes, you could just have unknown colours default to black, or even the "nearest colour", since, after all, I default unrecognised icon markers to "?", but I'd rather not have to do that with colours as well). If I read all the colours from config, people could have any number of colours defined by addons, so I'd need to define a large number of buttons on the possibility that they might get used. The alternative is to use a combo box, but that is sort of clunky and I'd want to have a separate coloured box to show the current choice since text isn't as easy for my mind to parse (I had this in 0.2.0, but decided I didn't like it).

I don't think colour conveys the amount of info that an icon does though, so I don't think it is as important to give people a large amount of choice. Otherwise, I could get away with just offering 10 icon markers in radio buttons, rather than the full drop down menu.

On a more bandwidth thrifty note, by having just a set of 6 known colours, I can transfer data referring to colour 0..5, rather than "Aquamarine" or "ABC_Lightish_Blue" strings. Admittedly, the rest of the script is relatively greedy of network resources, so this can't be a pivotal point.

Well, that sounded like a rather defensive answer from me; Sorry! Still, I felt it to my benefit to re-evaluate the reasons for limiting myself to a small set of colours. I haven't had a lot of experience in designing GUIs, so I'm feeling my way along on this, knowing that a lot of people make gaffs in this area.

Share this post


Link to post
Share on other sites

Thanks for the response buddy!

Some clarification.

zx64 from ShackTactical did a filter for mission list. You might

want to contact him for the filter function.

~ Sub groups:

Got it. You could introduce a new config value, so that marker addons could be remade and you read the new "group" type value from its class (if available).

For default configs, i have no idea right now either. I have to

check if page up and down works. Filter by name may help

already more than enough. smile_o.gif

~ Separate file to assign different keys to the actions (only to make it easier)

In your scripts you assign for example the shift key.

Yet if the shift key is assigned by ArmA itself with another

function (like sprint in my case), it doesnt work. So for personal

project people might want to tweak the keys to call your script.

Only suggestion to move the key assignment to a file called

spoon_map_key_assignment.hpp or sth. smile_o.gif

~ Make click, preview marker, click again to place (instead of enter)

Sorry bad wording. I meant as an alternative. So NOT replace

enter, yet instead of click, (text,) enter make click, (text,) click

work too. smile_o.gif

Share this post


Link to post
Share on other sites

Well, I could ask people to modify all their marker addons just for me, or I could wait a while until this really is a ubiquitous script and then try ;P I would be worried about having yet another combo to choose the icon group to look in though... Good idea though and definitely one to consider in the long term.

I see your problem with using a particular key, like LSHIFT (rather than a definable key-type defined by ArmA, such as "move forward"). I have the same problem with other scripts and do need to tweak them too. This was just easier to do originally, since you get the shift/control/alt status whenever you get a key-event and as no-one used my scripts/complained about this, I never fixed it. Maybe I'd be better with something like "Freelook" + "Open Map" which couldn't conflict with anyone in the way LSHIFT does with you (which would default to alt+M). As I've said, though, I'd like to keep some consistency so that I don't have to relearn which keys to press in every mission I play with SPON Map in...

One thing I am going to implement in the next version though, at the request of Mandoble, is to allow the mission maker to choose either/or of "Key combination" or "ArmA action" to access my map. Although SPON Core already allows multiple scripts to share the single available key event handler (SPON_addKeyEventHandler), I can't assume that anyone else's scripts will bother to be compatible with me! I also can't assume that the average mission maker will want to go to the effort of modifying other key-catching scripts to be compatible with me either. Anyway, worth including action option, and users can make the decision which method(s) to use.

EDIT: Actually, thinking about it, I can't see that LSHIFT being run for you makes any more of a problem than any other does. Whatever key I choose will be will be used for something else. I can't get over that. That is why I have to use a combination of two keys in the first place (though, as I've said, using two arma key-names rather than specific key-codes would be better)!

Share this post


Link to post
Share on other sites

Is it possible you can define it so only cetain players could use this too. ?

Great for team leaders to plan but you then get the noob writng all sorts lol

Share this post


Link to post
Share on other sites

hmm, i'd say it might be possible Matt. We will start working on the new IC mod, and Spooner said he might help addonising it (for different reasons), and the idea would be just that: have it available just for a certain range of ppl (HCOs, COs, SLs)

Share this post


Link to post
Share on other sites
hmm, i'd say it might be possible Matt. We will start working on the new IC mod, and Spooner said he might help addonising it (for different reasons), and the idea would be just that: have it available just for a certain range of ppl (HCOs, COs, SLs)

yeah that would be the way forward.

Share this post


Link to post
Share on other sites

What Pufu said.

My current plan is to add config options so you can limit write-access to "just current group leaders", "just within a list of soldier classes (Officer, for example)" or "Every noob in the world". Pufu did want a "To anyone with a name within this list" and that is a definite possibility too (though I'd prefer "anyone with specific ID" if I can get that working).

Remember that the SPON Map system records who drew everything and it is easily queried by anyone. On the "old" map, someone could fill the screen with junk markers and you'd not have a clue who was doing it.

Now you bring this up, I'll think about an "ignore player" system and a "spam filter" for it. These are definitely not high priority for me, since there are already plenty of features to work on, and I see dealing with spammers as more of a server admin task.

I am, eventually, going to add a JIP system to this (you are updated with all drawings previously placed and not deleted - probably not "direct mode" things though). Am wondering if that might promote even more spamming on persistent missions (like Evo), but that is an issue for those that run the server.

Share this post


Link to post
Share on other sites

No idea who Woolridge is, but he went to the effort of recording himself using SPON Map (Youtube). Thanks!

I greatly appreciate the interest and will gladly link to anyone else making videos (I just have the free version of fraps and I'm too busy scripting anyway tounge2.gif ).

Share this post


Link to post
Share on other sites

YOU ARE WELCOME!

I think this script is great, and I used this video to show the script to my clan and try to convince them to use it in ALL the coop missions we edit. notworthy.gif

Share this post


Link to post
Share on other sites

Well, I'm glad of anyone who can help me out with testing! I've not been able to test it myself under battle conditions and would be very interested to see if it...actually worked ;P Do keep me up to date on how that goes!

I hope to get this script into an addon in the next major release, but didn't want to allow addons right away, since I didn't want the addon script and mission script to mess each other up if they we both being used. I realise that many people would prefer an addon, but I want everyone to have access to it in non-addon missions as well (all my scripts have no external requirements, except my own SPON Core, of course).

Share this post


Link to post
Share on other sites

We used it in MP and it worked.

Haven't noticed any impact, even when I'm started to colour the forests.

Sadly it got lost on respawn sad_o.gif

Share this post


Link to post
Share on other sites

It got lost on...respawn? Admittedly, that wasn't something that I tested (there is nothing like knowing that something will have no effect to be able to blithely ignore it in your testing ;P). I've just tested it (drawing on my own map in MP as the host, then killing myself with a grenade) and it kept all items on the map. I'll test it in dedicated server MP tomorrow if you are sure this is what happened.

Are you sure you don't mean on disconnect/reconnect or changing player slots without leaving the server (that is, JIP)? JIP support (getting updated with all current markers) is certainly possible, but I didn't get it quite working for this release so I disabled it entirely. So don't be surprised if you don't see the drawings/markers on JIP ;P

Share this post


Link to post
Share on other sites

Err, I don't mean that the marker got deleted, just Shift + M wasn't working anymore, so we hadn't had any access to your map.

Share this post


Link to post
Share on other sites

That does seem odd. Is there any chance that an addon or script is interfering with SPON Map, for example by taking over the key event handler (something else which reads the keyboard)? I don't see why this would happen at a respawn, though.

I've tested this in the v0.3.0 demo on a dedicated server (no addons) and I have no problems using the map after I respawn. If you also have problems in the demo then it is probably an addon at fault; if you can work out which one is causing the issue, I can check to see which of us is the cause and see about resolving the issue. If you can't isolate the problem then I would be able to test your mission if you send it to me (my email is in every released file ;P)

Future versions will default to using an action rather than a keypress to open my map, since that will ensure as much compatibility with other scripts as possible (suggested by Mandoble). Well, until SPON Core key event handling becomes a standard like XEH is ;P

(By the way, converting this to an addon is well on the way. It will always be developed as both an addon, which suits mods, and a mission-script, which suits those that don't want their missions to have a unnecessary requirements which will exclude a lot of casual players).

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  

×