/**********************************************************************
This file is part of Crack dot Com's free source code release of
Golgotha.
for
information about compiling & licensing issues visit this URL
If that doesn't help, contact Jonathan Clark at
golgotha_source@usa.net (Subject should have "GOLG" in it)
***********************************************************************/
#include "editor/e_state.hh"
#include "lisp/li_init.hh"
#include "lisp/lisp.hh"
#include "map.hh"
#include "map_man.hh"
#include "g1_tint.hh"
#include "player.hh"
#include "lisp/li_dialog.hh"
static li_object *set_team(int num)
{
li_call("add_undo", li_make_list(new li_int(G1_MAP_OBJECTS)));
g1_object_class *olist[G1_MAX_OBJECTS];
sw32 t=g1_get_map()->make_object_list(olist, G1_MAX_OBJECTS);
for (int i=0; iselected())
olist[i]->change_player_num(num);
g1_edit_state.current_team=num;
li_call("redraw");
return 0;
}
static li_object *team_0(li_object *o, li_environment *env) { return set_team(0); }
static li_object *team_1(li_object *o, li_environment *env) { return set_team(1); }
static li_object *team_2(li_object *o, li_environment *env) { return set_team(2); }
static li_object *team_3(li_object *o, li_environment *env) { return set_team(3); }
static li_object *team_4(li_object *o, li_environment *env) { return set_team(4); }
static li_object *tint_none(li_object *o, li_environment *env)
{
g1_tint=G1_TINT_OFF;
li_call("redraw");
return 0;
}
static li_object *tint_polys(li_object *o, li_environment *env)
{
g1_tint=G1_TINT_POLYS;
li_call("redraw");
return 0;
}
static li_object *tint_all(li_object *o, li_environment *env)
{
g1_tint=G1_TINT_ALL;
li_call("redraw");
return 0;
}
static int team_editing;
li_object *g1_set_player(li_object *o, li_environment *env)
{
g1_player_man.get(team_editing)->vars=li_car(o, env);
return 0;
}
static li_object *edit_team(int num)
{
team_editing=num;
li_create_dialog("Player Vars", g1_player_man.get(num)->vars.get(),
0, g1_set_player);
return 0;
}
li_object *edit_team_0(li_object *o, li_environment *env) { return edit_team(0); }
li_object *edit_team_1(li_object *o, li_environment *env) { return edit_team(1); }
li_object *edit_team_2(li_object *o, li_environment *env) { return edit_team(2); }
li_object *edit_team_3(li_object *o, li_environment *env) { return edit_team(3); }
li_object *edit_team_4(li_object *o, li_environment *env) { return edit_team(4); }
li_automatic_add_function(team_0, "team_0");
li_automatic_add_function(team_1, "team_1");
li_automatic_add_function(team_2, "team_2");
li_automatic_add_function(team_3, "team_3");
li_automatic_add_function(team_4, "team_4");
li_automatic_add_function(edit_team_0, "edit_team_0");
li_automatic_add_function(edit_team_1, "edit_team_1");
li_automatic_add_function(edit_team_2, "edit_team_2");
li_automatic_add_function(edit_team_3, "edit_team_3");
li_automatic_add_function(edit_team_4, "edit_team_4");
li_automatic_add_function(tint_none, "tint_none");
li_automatic_add_function(tint_polys, "tint_polys");
li_automatic_add_function(tint_all, "tint_all");