Task #1867

Integrate SPON Core

Added by Spooner almost 6 years ago. Updated almost 5 years ago.

Status:Expired Start date:06/06/2009
Priority:High Due date:
Assignee:- % Done:

60%

Category:-
Target version:-
Component: Affected Version:
Close Reason:

Description

OK, here are the key parts of SPON Core which are still relevant. Anything you are keen for/opposed to in our "core"?

  • Lots of macros (many obsolete now or that I don't like any more).
  • Associative arrays/hash data type.
  • In-game trace log and TRACE_* macros.
  • Assertions and error handling: ASSERT_* macros and error function. Pop-up error window.
  • YAML parser. Yes, I know I've been going on about this forever, but it has been working forever and I've been too lazy to rerelease Core.
  • String functions not in kegs (I think).
  • SPON events (SPON_addEventHandler, SPON_publishGlobalEvent, SPON_publishLocalEvent and SPON_publishRemoteEvent). Still think these are the best remote execution systems I've seen, though probably need an overhaul.
  • SPON_groupID -> gets the index of a unit in its group.
  • Default ui config.

In the rubbish bin:

  • Key handlers.
  • SPON_men (now allUnits).
  • setPublicObjectVariable -> in setVariable now.
  • Trigger to find things, since now I can guarantee XEH (CBA is addon only) and can use that.

History

Updated by kju almost 6 years ago

cba is addon only?

String functions not in kegs (I think). - you mean kronzky right?

rest sounds good

you didnt mention your test case system did you?

Updated by Sickboy almost 6 years ago

Has my blessing!

Updated by Spooner almost 6 years ago

Yeah, testing is based around "Assertions and error handling: ASSERT_* macros and error function. Pop-up error window."

Yes, I do mean kronsky strings. Sorry, Ks getting mixed up.

However, I'd like to sort out a proper test framework eventually rather than just a load of assertions that you can use to make tests. Definitely not for first release, anyway!

Updated by Spooner almost 6 years ago

  • Status changed from New to Assigned
  • Assignee set to Spooner

Updated by Sickboy almost 6 years ago

  • Priority changed from Normal to High

Updated by Spooner almost 6 years ago

  • % Done changed from 0 to 50

Did much of this last night (138dc769). Ignoring all GUI stuff for now, since I don't think it is critical for a release. Still a little bit more important stuff to add, and a lot of testing to do.

Updated by kju almost 6 years ago

Looking great! Very nice nice.

Updated by Spooner almost 6 years ago

  • % Done changed from 50 to 60

Sorted out my unit tests (run BIS_fnc_testMain to test most of the "SPON" functions) and the functions they were testing, which were a both a bit messed up. I think they are good now, but it will take the "error on undefined reference" to be turned back on by BIS before I'm positive. Still haven't added my YAML tests though.

Testing will show some simple logging in RPT, but should spit out obvious error message if any assertion fails (will eventually be an error popup, but I want to leave integrating GUI elements into CBA until after release). Hopefully, this unit test system (which, admittedly is just a few assertions ASSERT_TRUE(), ASSERT_FALSE(), ASSERT_DEFINED(), ASSERT_OP() and some example test files) can be adopted by many of the other functions. I think the framework could be improved, so if anyone has suggestions, give me a shout.

Updated by kju almost 6 years ago

I did a brief look at the latest test cases and functions / overall addon.
Yet I would prefer doing a close look onces it is stable as I need some
time to understand it.

So once you feel, a review makes sense, tell me please.

Updated by Squelch almost 6 years ago

  • translation missing: en.field_private changed from 0 to 1

Updated by Squelch almost 6 years ago

  • translation missing: en.field_private changed from 1 to 0

Updated by Sickboy almost 5 years ago

  • Status changed from Assigned to Expired
  • Assignee deleted (Spooner)

Also available in: Atom PDF