Home   Help Search Login Register  

Author Topic: SPON Core v0.5.3 (incl. debug log) (ACCEPTED)  (Read 27284 times)

0 Members and 2 Guests are viewing this topic.

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
SPON Core v0.5.3 (incl. debug log) (ACCEPTED)
« on: 16 Sep 2007, 16:43:34 »


SPON Core v0.5.3
- Released: 2008-10-04
- Install size: 114k (mission scripts) / 183k (addon version)
- (mission version) 100% scripts with no addon dependencies
- (addon version) Requires XEH (1.9 or higher), but is included in the release.
- Requires ArmA 1.09 or higher
- See attached README.html for full details

SPON components@YouTube

SPON Core is required by:
    - SPON Attachments v0.3.0 (Attach/detatch ACOG and other accessories to weapons in-game).
    - SPON CrewNotify v0.1.0 (Notification of mount/dismount).
    - SPON HoloMap v0.3.0 (3D holographic representation of the game world)
    - SPON Map v0.7.0 (Freehand drawing and improved marker placement interface)
    - SPON Money v0.1.2 (Shopping and banking)
    - SPON Radar v0.1.0 ("Old-school" long-range radar with a sweeping beam revealing "blips")
    - SPON Rangefinder v0.3.0 (Shows range, azimuth and elevation overlayed on the SOFLAM/laser designator view)
    - SPON RearView v0.2.1 (Rear-view mirrors for most vanilla and QG vehicles).
    - SPON Recognise v0.3.0 (Recognise friends standing next to you, even if friendly tags are off).
    - SPON Scuba v0.1.0 (Underwater swimming and demolitions)
    - SPON Status v0.3.0 (Informational display clearly showing order-of-battle, group members and vehicle crew).
    - SPON VBIED v0.2.0 (Place car-bombs on vehicles).
    
Other scripts of mine that don't need SPON Core, but that include debugging messages that can be seen if SPON Core debug-log is used:
    - SPON Kits v0.1.1 (Standardised equipment kits).
    - SPON_deathMesssages v0.2.1 (Configurable death notifications to replace the default ones).

My functions (no dependency on SPON Core or use of debugging):
    - SPON_deepEquals v0.2.0 (Compare nested arrays for equivalency).
    - SPON_directionName v0.1.1 (Convert numeric vector or direction into name, e.g. [1, 1, 0] => "North-East")
    - SPON_getWeaponType v0.1.0 (Find out the general type of a weapon, based on its name, e.g. "M9" => "PISTOL").
    - SPON_formatNumber v0.1.0 (Proper number formatting, e.g. 1234.567, to two decimal places with 1000s seperators => "1,234.57")
    - SPON LOS v0.1.0 (Calculating line of sight)
    - SPON_viewVector v0.1.1 (direction the player's screen is "looking", rather than body or weapon facings)

My scripts used by third parties:
    - SPON Sensor - Vehicles detected by radar appear on everyone's map (Included in PRACS Beriev Be-32k addon).

Overview
Core components required by most of the other SPON script packs (the README for each package will say whether it actually requires SPON Core and what minimum version is required). Many of the features provided here might be of use in creating your own mission scripts.

SPON Core is avilable in two versions. One is an addon and the other is mission-script-based which does not require any addons to be installed on client or server. It requires ArmA 1.09 or higher.

Features
- Standard
    * Provides common features used by other SPON components, such as SPON VBIED, SPON Recognise and SPON Map.
    * User event handling: Any player or server can broadcast local or global events. Those that have previously registered for the event will have their code run (Used very similarly to standard ArmA events).
    * Broadcasting object variables with SPON_publicObjectVariable.
    * Key event handling: Allows de-coupled key event handlers to be set up (normally a new key event handler deletes any existing handler).
    * Some global variables (read-only) to complement the built-in "isServer".
    * SPON_formatTime function is available: Formats an elapsed time, in seconds, as 0:00:00 or 0:00:00.000, which is appropriate for formatting elapsed time ("time" command), but not time of day.

- Optional
    * Debug log:
          o Makes a permanent record of all debug messages, viewable in a window, thus not cluttering up the chat window with debug messages.
          o Allows the client to view all debug messages that have been generated on the client or the server at any time (JIP clients can only see server messages generated after they joined)!
    * Automatic monitoring of in-game men and vehicles:
          o Lists of player, men and vehicle objects in the mission are kept updated.
          o SPON events are published whenever any of these is found on the server for the first time and when a player is first or last found on the server. These events can be used to perform init actions on the objects, without the need of addons (Although init might be slightly delayed after the object has been created).

Limitations

Compatibility
    * Addons and Scripts:
          o If SPON mission-script is used with SPON addon, only the addon version will be run (so ensure your addons are up to date).
          o (Mission-version only) If SPON Core debug log is used with keys, rather than action to open the map, it is not compatible with any other script or addon that detects key-presses (unless it uses SPON Core or Shole's DEH key-press handlers, of course).

Known bugs
   * Variables updated with SPON_publicObjectVariable are not automatically updated for JIP players (though JIP players will get any new values sent after they have joined).
   * Debug message logging on dedicated servers is currently broken.

Plans
    * Ensure that SPON_players_* arrays are synchronised across all machines and updated immediately on join/leave in progress by another player.
    * Allow registering global event names, so that they can be published using less bandwidth.
    * Expand USAGE section in README.txt, to make the systems more usable by third parties

Credits
    *  Provide a common set of scripts to minimise the repetition of scripts within the other SPON components.
    * To provide a strong base for anyone developing SP, and especially MP, missions.
    * Consistent GUI across all SPON GUI-based components. Font/colour schema can be chosen from a selection of standard schema.
    * Avoid addons, in favour of scripting, as far as possible. Addon version and 100% mission-scripts versions are available!

Change Log
v0.5.3
- Fixed
    * Using the debug log can reset the value of nil.
    * Adding multiple key event handlers to one key will cause only the first to be run [Reported by i0n0s].
    * SPON_isMP is incorrectly set to true in SP missions (unless you are playing from the SP editor without saving the mission).

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

Download SPON Core v0.5.3
« Last Edit: 02 Jun 2009, 15:06:22 by Spooner »
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core
« Reply #1 on: 17 Sep 2007, 14:02:31 »
Something I forgot to mention, but which would be critical if you wanted to develop your own SPON events: event names must follow OFPEC global variable naming conventions. Although not strictly covered by OFPEC naming conventions, since they are just handled as strings, it is important that if third parties create new events that they do so in their own namespaces (e.g. All events I create will be prepended with "SPON_").
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core (incl. debug log)
« Reply #2 on: 29 Sep 2007, 13:20:58 »
Uploaded a new version (v0.1.2) which is just a bit of tweaking and bug-fixing; See the changelog in the original post for a list of changes. Also released first version of SPON Rangefinder and updated SPON VBIED.
« Last Edit: 29 Sep 2007, 13:59:40 by Spooner »
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline hellop

  • Members
  • *
Re: recordVehicles broken? Possible bug found.
« Reply #3 on: 09 Mar 2008, 05:20:30 »
In line 201 of recordVehicles.sqf I see:

if (not SPON_recordVehiclesRunBefore) then
{
   SPON_recordVehiclesRunBefore = false;  //this does the same thing


So, if SPON_recordVehiclesRunBefore is false, this if statement runs, then it sets it to false again, redundantly.  Maybe it should be set to true or the assignment omitted?

-hellop

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core (incl. debug log) (DO NOT SUBMIT)
« Reply #4 on: 09 Mar 2008, 10:12:48 »
Crap, people are reading my code ;P

You are right; that code is indeed redundant, but all it does is run a few unnecessary lines which do no harm. Still, thanks for pointing it out to me!

I'm actually in the process of rewriting SPON Core, so most of the object monitoring system will be going in the bin soon anyway. Although I feel that there are a lot of great things in Core, a lot of the things are quite naive in execution and a lot of things got left out because I couldn't get them working. I won't be re-releasing, however, until ArmA 1.09 is released as a final version, since I will be making heavy usage of the great new command addPublicVariableEventHandler.
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core (incl. debug log) (DO NOT SUBMIT)
« Reply #5 on: 11 Jun 2008, 13:47:49 »
Although I've been out of the game for quite a while, I have updated SPON Core for ArmA 1.14 (basically, it now uses publicVariable events rather than init-commands for all of its internal communications). All existing SPON components should still work and some of them I'll re-release to take advantage of the improvements in the Core. The main advantage, to you lot, is that now I've finally released SPON Map which was easier to get working with the newer functionality.
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline Mr.Peanut

  • Former Staff
  • ****
  • urp!
Re: SPON Core (incl. debug log) (DO NOT SUBMIT)
« Reply #6 on: 11 Jun 2008, 15:42:42 »
Spooner,
Did you come up with that "any name for a recursive function" trick in deep equals? It is great!
urp!

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core (incl. debug log) (DO NOT SUBMIT)
« Reply #7 on: 11 Jun 2008, 18:53:18 »
I can only say that I think that I did work that out myself, since I realised that people might want to name the function themselves. Quite a while since I wrote it though, and I've been "away" from ArmA scripting for quite a long time, so apologies if I forgot that I "borrowed" the idea ;P

EDIT: Oops, just realised I removed SPON Core v0.1.2 files and failed to add the SPON Core v0.2.0 ones. There is a copy of SPON Core v0.2.0 included inside the demo of SPON Map in case you are desparate. I'll try to correct this error ASAP.

EDIT-2: CORRECT v0.2.0 FILES UPLOADED.
« Last Edit: 11 Jun 2008, 19:34:50 by Spooner »
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core v0.5.0 (incl. debug log) (DO NOT SUBMIT)
« Reply #8 on: 21 Jul 2008, 22:36:53 »
New release
v0.5.0 - This is the first version available as an addon as well as a mission-script.
- Added
    * Assertion macros for design by contract (SPON_ASSERT(), SPON_ASSERT_FALSE(), SPON_ASSERT_OP() and SPON_ASSERT_DEFINED())
    * Error dialog with SPON_ERROR() macro provided to raise errors.
    * SPON_addPermanentAction implemented.
    * Added stringtable.csv to allow for internationalisation.
    * Now available as an addon as well as a mission script.
    * Lots of new utility scripts which might get documented one day.

- Modified
    * Simplification: You now just #include "SPON\Core\ui\core.hpp" (before you included common.hpp and, optionally, debug.hpp)
    * Merged debug.inc.sqf with macros.inc.sqf
    * Debug log now opened via an action by default

- Fixed
    * SPON_isMP is false on the hosting player's machine in non-dedicated MP games.
    * Debug mode parameter is case dependent.
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline U104

  • Members
  • *
Re: SPON Core v0.5.0 (incl. debug log) (READY)
« Reply #9 on: 06 Aug 2008, 00:33:47 »
i have a problem with the download i get the zip but the is nothing in it.  ???

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core v0.5.0 (incl. debug log) (READY)
« Reply #10 on: 06 Aug 2008, 11:07:04 »
What exactly are you trying to download? There is an attached zip for SPON Core, but that has been fine for 130+ people before, including myself and Bedges today. All the links in the release post (To SPON Attachments, etc) are links to other release threads, they aren't "right-click and save" links.
« Last Edit: 06 Aug 2008, 11:10:39 by Spooner »
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline i0n0s

  • Moderator
  • *****
Re: SPON Core v0.5.0 (incl. debug log) (READY)
« Reply #11 on: 06 Aug 2008, 17:05:59 »
Hi,
I have a little problem with the license you use: It's too viral.
I understand why you have implemented that license and support this reason.
But the GPL prevents me to use these scripts with any foreign scripts because the GPL forces me to put these under GPL too.
Since they are foreign scripts I simple don't have to right to put that script under GPL and I can't use any foreign scripts.

So I ask you to change the license to a less or non viral one (for example MPL) so it can use with other scripts easily.


Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: SPON Core v0.5.0 (incl. debug log) (READY)
« Reply #12 on: 07 Aug 2008, 01:53:38 »
Amazing! I'm sure you are the third person to notice I have applied a licence to my SPON releases and, no doubt, the first one take notice of it ;P

I did think about this issue when I originally released my code, and consciously chose the GPL over less restrictive licences (such as the LGPL and MPL). However, it was never my intention to restrict the community from being able to use the functionality of the SPON suite.

This whole thing rather depends on your interpretation of both the GPL and ArmA/modding in general. I'm no expert on licensing, so I might be completely out of whack from the very beginning. I was seeing ArmA as an interpreter, so that separate scripts were effectively separate programs running within separate virtual machines. Therefore, as long as there wasn't direct interaction between these scripts, the licensing wouldn't come into play. Now once those scripts start interacting, such as a third-party script utilising functionality from SPON Core, then that would in fact require GPLing that third-party script (which would mean that you wouldn't have to worry about "foreign" scripts that didn't require SPON components to work). On further consideration, this all falls down once my scripts are packaged into a 3rd party mission or my addons are packaged in a 3rd party mod, rather than simply being used together by the end-user, which I suppose would invoke the viral nature of the GPL. It all seemed simpler when I actually decided to use the GPL about a year ago ;P

Anyway, too early in the morning for me to make a considered decision, so I'll leave off that for today. What you are saying does seem reasonable though and I'll see what I can do about it for the next release (probably in about a week). If you have any further thoughts on the matter, I'll certainly bear them in mind.
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline i0n0s

  • Moderator
  • *****
Re: SPON Core v0.5.0 (incl. debug log) (READY)
« Reply #13 on: 07 Aug 2008, 02:05:41 »
Thanks for your reply.

Waiting for your decision.

Offline U104

  • Members
  • *
Re: SPON Core v0.5.0 (incl. debug log) (READY)
« Reply #14 on: 07 Aug 2008, 05:28:43 »
What exactly are you trying to download?
* SPON_Core_v0.5.0.zip when I click on the link, and tell it to download to my main ArmA directory, two seconds later it says it's done. the file says 0 Kb and when I try to open it, it is empty.