Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Todo List

Class AI_SKAnalysis
Utypes that cause draws.

Add support for new scorekeeper forms.

Member can_act (Unit *actor, Unit *agent)
Eventually assert activeness instead of just returning an error.

Member do_create_in_action (Unit *actor, Unit *creator, int u3, Unit *transport)
Add crosscheck to make sure that an advanced unit does not exceed it's maximum size.

Member do_transfer_action (Unit *unit, Unit *from, int m, int amount, Unit *to)
Add return code specifying that only a partial amount of material was transferred.

Member garrison_unit (Unit *builder, Unit *newunit)
Add code to handle the garrison being put in a transport?

Add code to handle sub-occupants of doomed occupants?

Add code to post event for garrisoning damage?

Member analyze_scorekeeper (Side *side, Scorekeeper *sk)
Do compaction on resulting analyses.

Member analyze_scorekeepers (Side *side)
Perform compaction and summarization of analyses.

Member analyze_sk_action (Side *side, Scorekeeper *sk, Obj *skact, AI_SKAnalysis *parent)
Analyze 'cond' forms.

Support 'trigger' tests.

Member analyze_sk_sum_uprop_test (Side *side, Scorekeeper *sk, Obj *sktest, AI_SKAnalysis *parent)
Handle GDL memory leak involving uprop name.

Member analyze_sk_test (Side *side, Scorekeeper *sk, Obj *sktest, AI_SKAnalysis *parent)
Handle 'append', 'remove', and 'remove-list'.

Member analyze_sk_when_test (Side *side, Scorekeeper *sk, Obj *sktest, AI_SKAnalysis *parent)
Implement.

File aiscore.h
Add analysis of scorekeeper trigger.

File aiunit.cc
Import most of the functions in 'aiutil.c' into this file.

Make use of caching, where applicable.

Member can_defend_against_any (Unit *actor, Unit *defender)
Support counterfire.

Member can_prevent_capture_of_any (Unit *actor, Unit *anticaptor)
Check if our side or ally possesses each utype?

Member could_be_occupant_of (int u, int u2)
Consider whether u could ever get in u2 to start with.

Member could_defend_against (int u, int u2, Side *side)
Support counterfire.

File aiunit.h
Import most of the functions in 'aiutil.h' into this file.

Make use of caching, where applicable.

Member could_meet_size_goal (int u, int x, int y)
Should consider contribution of side treasury.

Member producer_worth (int u)
Consider occupant consumption.

Member can_attack (Unit *actor, Unit *attacker, int u3)
Get rid of ACP restrictions.

Consider 'consumption-per-attack' and 'hit-by'.

Member can_fire (Unit *actor, Unit *firer)
Get rid of combat models.

Get rid of ACP restrictions.

Consider 'consumption-per-fire' and 'hit-by'.

Member could_attack (int u, int u2)
Remove ACP restrictions.

Member could_fire_at (int u, int u2)
Remove ACP restrictions.

Member tmp_unit_detonator
Evil var for search. Replace with parambox instead.

Member can_move (Unit *actor, Unit *mover)
Allow ACP-indep movement.

Allow taking from treasury.

Member could_move (int uactor, int umover)
Allow ACP-indep movement.

Should cache results.

Member actor (u)
reanme to u_actor or actor_type?

Member mobile (u)
rename to u_mobile or moble_type?

Member u_mobile (u)
Consider ACP-less or ACP-indep movement. Materials are then the limiting factor and so this macro will no longer suffice.

File kernel.h
Add to this when understood better.

Member fill_utype_array_from_lisp (int *typeary, Obj *typeobj)
Handle utype objects?

Member eval_arithmetic_comparison_expression (Obj *expr)
Possibly make this as flexible as the arithmetic expression evaluator.

Member eval_sk_form (Side *side, Scorekeeper *sk, Obj *form)
Add other interesting cases.

Add other interesting cases here.

Member eval_sk_test (Side *side, Scorekeeper *sk, Obj *form)
Add other interesting cases.

Need GC so these memleaks don't accumulate.

Add other interesting cases here.

Member generate_effective_sk_whomask (Scorekeeper *sk)
Decide based on the when type once we support event and action scorekeepers.

Member sum_uprop (Side *side, Obj *form)
Generate optional sidemask.

Handle other filters.

Add a GC to GDL to handle memory leaks like the following.

Add a GC to GDL to handle memory leaks like the following.

Member can_overwatch (Unit *ounit, Unit *unit)
Handle any other probablility checks.

Member is_at_correct_uvstack_position (UnitView *uview, UnitView *uview2)
Add support for holding units belonging to the dside first in the stack, last in the stack, or in the natural side order. Currently, only the natural side order is supported.

Member query_unit_from_uview (UnitView *uview)
This function will need to be modified to behave differently for clients and servers once we are about to do the client-server separation. For clients, it will actually send a network query to the server asking if we can get back a shadow unit for the unit handle stored with the uview. NULL will be returned by the function if the network response is no unit, else a pointer to the shadow unit will be returned. For the server, it will simply return a pointer to the actual unit associated with the uview. For now, we default to the server behavior.

Member try_overwatch_against (Unit *unit)
Search in ring starting from min range.

Limit by max num of overwatch firings for victim type.

Member try_overwatch_from (int x, int y, int *counter, ParamBox *parambox)
Limit by max num of overwatch firings for victim type.

Member max_uviews_in_rect (int w, int h, int flags)
Account for height?

Member can_change_type (Unit *unit)
Move to 'aiunit.cc' where it probably belongs.

Fix prototype for separate actor/agent.

Member any_borders_at (x, y, b)
Not really correct, should finish.

Member lighting (x, y, snx, sny)
(should opencode distance call here)

Member Xconq::AI::handle_tactical_situation (Unit *unit)
Implement handling of occ danger.

Implement handling of targets of opportunity.


Generated on Sat Sep 17 10:31:28 2005 for XconqKernel by doxygen 1.3.6