1999-12-25  Stan Shebs  <shebs@andros.cygnus.com>

	* table.def (conversion-default): New table.
	* combat.c (check_attack_action): Disallow direct unit attack
	if combat model 1.
	(model_1_attack): New function.
	(do_overrun_action): Use it.
	* task.c (do_hit_unit_task): Try to overrun if possible.

	* plan.c (good_cell_to_colonize): Use production_at.
	* side.c (create_side): Initialize conversion rates to defaults.
	* ui.c (toggle_user_at): New function.
	(advance_into_cell): Use it, for immobile advanced units.

	* score.c (eval_sk_last_side_wins): Disable test added by HR 10-28,
	seems no longer necessary because indepside not included in loop.

	* tkconq.h (enum movie_type): Add movie_hit_short.
	* tkmain.c (schedule_movie): Use it.
	(play_movies): Ditto, plus pass blast duration to draw_blast.
	* tkmap.c (draw_blast): Add duration argument.
	(draw_resource_usage): Space resource icons more closely if
	necessary to fit.

	* civ2.g: Add production for ocean/whales, add conversion
 	defaults, limit naval attacks on shore, adjust point values,
	declare settlers to be colonizers, set size goal for city
	placement.

1999-12-13  Stan Shebs  <shebs@andros.cygnus.com>

	* table.def (terrain-density): New table.
	* mkterr.c (add_random_changes): New function.
	(make_fractal_terrain): Call it.
	* side.h (Side c_rates): New field.
	* cmd.def (c-rate): New command, sets material conversion rates.
	* cmd.c (do_c_rate): New function.
	* run.c (run_advanced_units): Rewrite conversion to use user
	specified rates.
	* help.c (describe_mtype): Ensure description not empty.
	(describe_ttype): Abstractify subtype-x detection.
	* nlang.c (usual_date_string): Add "AD" if appropriate.
	* task.c (do_build_task): Go into reserve if waiting to accmulate
 	building material.
	* imf.c (parse_lisp_palette_entry): Handle 8-bit color values.

	* tkconq.h (UI dflt_color_terr_images): Remove, no longer used.
	* tkinit.c (init_display, init_material_images,
 	init_terrain_images): Remove refs, also handle subimages.
	* tkmap.c (draw_current): Draw resource usage on top of unit
 	image.

	* civ2.g: Define and use a set of civ-only terrain images,
	fill in terrain-density table, adjust city capacities and
	construction doctrine.
	* images/civt44x48.gif: New file, civ terrain images.

1999-12-09  Stan Shebs  <shebs@andros.cygnus.com>

	* run.c (production_at): New function.
	(run_advanced_units, allocate_used_cells): Use it.
	* task.c (do_build_task): Keep working on task even if
	insufficient materials to create.
	* write.c (write_unit_properties): Tweak default for reach.

	* macrow.c (draw_connections): Test tt_drawable.

	* tkconq.h (UI material_color, bestmimages): New fields.
	* tkinit.c (init_material_images, get_material_type_images): New.
	* tkmap.c (draw_resource_usage): Draw as multiple boxes using
	material colors.
	(update_at_unit): Widen update area if unit has a nonzero reach.

	* civ2.g: Define consumption-on-creation for all unit types,
 	remove cp values, add colors to resource materials, make rivers
 	generate more trade arrows.

1999-12-07  Stan Shebs  <shebs@andros.cygnus.com>

	* gvar.def (side-can-research): New global.
	* table.def (conversion): New material-material table.
	* utype.def (advanced-auto-construct, advanced-auto-research,
	use-own-cell): New properties.
	* cmd.c (do_research): Use new global, test for more cases.
	* iplayer.c (iplayer_save_state): Removed unneeded code.
	* kpublic.h (net_set_side_research): Declare.
	* nlang.c (UsualDateStepRange): New struct.
	(date_step_ranges): New array, was datesteptype.
	(init_calendar): Handle ranges of turns for date steps.
	(parse_date_step_range): New function.
	(parse_usual_date): Add arg, change all callers.
	(usual_date_string): Search ranges to find right step type.
	* plan.c (execute_plan): Comment out advanced unit escape.
	* run.c (run_advanced_units): Add material conversion step.
	(run_population): Use unit_handle.
	(allocate_used_cells): Make extra cell usage optional, don't
	handle inside search loop.
	* run2.c (run_side_research): Use material consumption.
	* tp.c (net_set_side_research): New function.
	(receive_side_prop): Handle side research packet.

	* tkconq.tcl (popup_research_dialog, fill_research_dialog,
 	ok_research): New procs.
	* tkcmd.c (aux_build_2): Clear map->inptype when build chosen.
	* tkmain.c (tk_available_advance, tk_set_side_research): New
	commands.
	(research_popped_up): New global.
	(update_turn_display): Popup research selection if necessary.
	(error_popped_up): New global.
	(low_run_error, low_run_warning): Set it.
	* tkmap.c (mapw_display): Suppress updates if flag set.
	(draw_resource_usage): New function.

	* ancient.g: Add readable names to advances.
	* ane.g: Set advanced-auto-construct and advanced-auto-research.
	* civ2.g: Add materials taxes, luxuries, and science, add correct
 	handling for these including conversion of material types, add
 	variable-step calendar, add doctrine for settlers.

1999-12-07  Hans Ronne  <hronne@pp.sbbs.se>

	Various bug fixes.
	* cmd.c (set_side_research): Prototype extern.
	(has_advance_to_research): Prototype extern.
	(parse_advance_spec): Prototype static.
	* kernel.h (set_side_research): Add missing prototype.
	* mkrivers.c (select_by_weight): Prototype extern.
	* ui.c (plot_meridians): Fix outside-area crashes in unix interface.
	(calc_view_misc): Comment out totsw adjustment.
	(calc_view_misc): Limit vp->sx to totsw instead of sxmax.
	* util.c (xmalloc): Temporary hack: handle mac imaging problems in 
	terrain.imf etc. by not dying when asked to allocate zero blocks. 

1999-12-01  Stan Shebs  <shebs@andros.cygnus.com>

	* cmd.c (do_debug, do_debugg, do_debugm): Add notification of
	debug state.
	* imf2imf.c (keyword_value): Remove, never used.
	* kernel.h, plan.c, tp.c (reserve_unit): Ditto.
	* kpublic.h, tp.c (net_reserve_unit): Ditto.
	* mkrivers.c (make_up_river_connections): Add weighted random walk
 	algorithm for use when no elevations are defined.
	* run2.c (run_side_research): Test for advances before running.
	* task.c (plausible_move_dir): Use more accurate move costing
	to decide plausibility.

	* lib/civ2.g: New game module, Civ II emulation.

1999-11-30  Stan Shebs  <shebs@andros.cygnus.com>

	Civ emulation support bits.
	* gvar.def (combat-model): New global.
	* utype.def (attack, defend, obsolete): New unit properties.
	* actions.c (do_create_in_action, check_create_in_action): Join an
 	advanced unit if one already present.
	* cmd.def (research): New command.
	* cmd.c (do_research, parse_advance_spec): New functions.
	* combat.c (could_hit): New function, was macro.
	* game.h (could_hit): Remove macro.
	* nlang.c (size_desc): New function.
	* run.c (run_construction): Handle missing unit plan.
	(allocate_used_cells): Use main city cell for free, test for
	independence correctly.
	* run2.c (run_side_research): New function.
	(run_turn_start): Call it.
	* side.h (Side research_topic): New field.
	* side.c (create_side): Set it.
	(set_side_research): New function.
	* ui.c (oneliner): Describe usage of cell.
	* unit.c (has_advance_to_build): Remove type if obsolete.

	* conq.h: Rearrange randomly. :-)
	* misc.h: Remove ANSI_PROTOTYPES stuff.
	* help.c (describe_ttype): Fix display of material relationships.

	* tkcmd.c (do_build): Only list units with prereq advances.
	* tkmain.c (draw_unit_info): Display size if appropriate.

	* imf.dir: Update.

	* PROJECTS: Reflect above projects.

1999-11-22  Stan Shebs  <shebs@andros.cygnus.com>

	* version.h: Bump to 7.2.95.

	* imf.h (Image orig_pixelsize): New field.
	* imf.c (write_pixmap): Add orig_pixelsize argument, write
	original pixel size if recorded.
	(write_imf): Update call.
	* tkimf.c (blacken_masked_area): Sharpen test of need to deepen
	image, record original pixel size if deepened.

	* tkconq.tcl (select_game): Improve wording of message.

1999-11-20  Stan Shebs  <shebs@andros.cygnus.com>

	* design.texi: Update platform-specific design info.
	* xcdesign.texi, xconq.texi: Make title in html version larger.
	* xconq.texi: Improve the intro material slightly, shorten
	many section titles.

1999-11-18  Stan Shebs  <shebs@andros.cygnus.com>

	* version.h: Bump to 7.2.94.

	* README-win: Update.

1999-11-17  Stan Shebs  <shebs@andros.cygnus.com>

	* config.h (SCOREFILE): Now default to scores.xcq.
	(STATSFILE): Now default to stats.txt.
	(SAVEFILE): Now default to save.xcq.
	(CHECKPOINTFILE): Now default to check.xcq.
	(ERRORFILE): Now default to ERRsave.xcq.
	(PREFERENCESFILE): Define here instead of in unix.c and win32.c.
	* unix.c (PREFERENCESFILE): Remove defn.
	* win32.c (PREFERENCESFILE, SCOREFILE): Remove defns.

	* module.c (copy_module): Don't overwrite the module name.
	* tp.c (download_game_module): Clear download module's filename.

	* nlang.c (exit_commentary): Remove, no longer interesting.
	* conq.h (exit_commentary): Remove decl.
	* cconq.c (exit_cconq): Remove call to exit_commentary.
	* xtconq.c (exit_xconq): Ditto.
	* tkmain.c (exit_xconq): Ditto, also remove get_scores call.

1999-11-15  Stan Shebs  <shebs@andros.cygnus.com>

	* tp.c (download_game_module): Clear module base module name.
	* write.c (write_entire_game_state): Ditto.
	* ui.c: Cleanups, more debug output.
	* win32.c: Use more 8.3 names for things.

	* tkcmd.c (do_quit): Improve wording of query.
	(aux_quit_save): Don't exit if save was cancelled.
	* tkmain.c: Remove some redundant decls.
	* tkmap.c (compute_x1_len): Pass vp instead of mapw, change all
	callers.
	(mapw_configure): Force world map to be based at 0.
	(draw_area_background): Fix size of background to draw.

1999-11-14  Stan Shebs  <shebs@andros.cygnus.com>

	* conq.h (interfacestatesafe): Remove decl, never changes.
	* macconq.c (interfacestatesafe): Remove, never changes.
	* macmenus.c (quit_the_game): Remove ref to interfacestatesafe.

	* tkconq.tcl (create_map_window): Add an extra blank to prompt
	area's seed.
	(ask_string_mode, update_string_mode, update_side_mode,
	clear_command_line): Fix fencepost errors.
	(popup_game_save): Don't record a save_filename if dialog was
	cancelled.
	* tkcmd.c (do_quit): Rewrite it and related aux_ routines to
	prompt for game save, rename aux_* routines to aux_quit_*.
	(do_resign): Ask for who to resign to.
	* tkmain.c (grok_side): Add help info, numeric input, substring
	matching.
	(low_init_error, low_init_warning, low_run_error,
 	low_run_warning): Use braces around strings sent to tcl.

	* terrain.imf: Remove commented-out bits.

	* xconq.6in: Update man page.
	* xtconq.6in: New file, old version of man page.
	* x11/Makefile.in: Make xtconq.6 for xtconq.

1999-11-12  Stan Shebs  <shebs@andros.cygnus.com>

	* write.c (write_entire_game_state): Notify everybody of save.

	* tkconq.tcl (create_map_menus): Pass argument to save, to
	distinguish save vs save as.
	(popup_game_save): New proc.
	* tkcmd.c (do_save): Rewrite to use.
	(aux_save_2, save_the_game, etc): Remove.
	* tkmain.c (tk_game_save): New tcl command.
	* tkmap.c (m_units_visible): Make units visible to designers.
	
	* intro.g: Move sides further apart, remove one town close to
	initial robot town.

	* PROJECTS: Reflect recent work, add some new ideas.

1999-11-11  Hans Ronne  <hronne@pp.sbbs.se>

	* xdraw.c (draw_map_info): Fix parenthesis bug.

1999-11-09  Stan Shebs  <shebs@andros.cygnus.com>

	* actions.c (execute_action): Make sure randomly-chosen side
	is not NULL.

	* module.h (Module hook, read_only, fill_type): Remove fields,
	never used.
	* module.c (copy_module): New function.
	(create_game_module): Use it instead of random field inits.
	(init_module_reshape): Remove unused setting of fill_type.
	* score.c (get_scores): Display game's title if possible.
	* tp.c (download_game_module): Simplify by using copy_module.
	(DOWNLOADPACKETSIZE): Also use 200 if on Windows.
	* write.c (write_entire_game_state): Simplify module handling.
	* macinit.c (open_game_from_name_and_volume): Remove unused
	setting of module->hook.

	* side.c (side_sees_unit): Remove commented-out code.
	* ui.c (unit_visible): Add designer case.
	* unit.c (designer_teleport): Use change_cell to move, add
	explicit updates for observers.

	* tkconq.tcl (add_show_all_item): New proc.
	(create_map_menus): Call if necessary.
	(adjust_file_menu): Disallow resignation if designing.
	(update_show_all_info): Use per-map test for show_all menu item.
	(dsave_types, etc): Convert to array, add rest of save options.
	(popup_designer_save): Add rest of save option checkboxes, use
	grid to lay out.
	(save_design): Add rest of options, ask user for name of file.
	* tkcmd.c: Use modern style for callbacks.
	(do_quit): Designers may quit without losing.
	* tkinit.c (init_display): Set tcl designer variable.
	* tkmain.c (tk_player_aitypename): Don't sprintf empty format.
	(tk_designer_save): Add rest of options, savefile name.
	* tkmap.c (cell_drawing_info): Fix drawing of unseen area
	when designing.

	* images/eur44x48.gif: New file.
	* terrain.imf (bocage, flooded, urban): Use it.
	(hill): New image family, picture of a single hill.
	* ww2-bn.g (clear): Use plains image.
	(hill): Use hill image.

	* PROJECTS: Reflect completed projects.

1999-11-04  Stan Shebs  <shebs@andros.cygnus.com>

	* river24x26.gif, river44x48.gif, river88x96.gif: Fine-tune
	appearance.

	* actions.c (make_unit_complete): Remove unused side.
	* iplayer.c (iplayer_init): Fix assignment.
	* mplayer.c (mplayer_init): Ditto.

	* tkconq.tcl (update_show_all_info): Track whether show_all
	was ever enabled.
	* tkmain.c (tk_player_aitypename): Don't printf null ptr.

	* ui.c, ui.h (compute_transition): New function, generic
	terrain transition computation broken out from tkmap.c,
	also add better handling around border terrain.
	(any_borders_in_dir): New function.
	* tkmap.c (draw_terrain_transition): Draw terrain images in
	overlap areas instead of just solid colors.

1999-11-01  Stan Shebs  <shebs@andros.cygnus.com>

	* images/stdta88x96.gif, stdtb88x96.gif: New files, terrain
	images for large magnification.
	* tran88x96.gif: Improve appearance of transitions.
	* stdt24x26.gif: Add more subimages.
	* terrain.imf: Add references to new file images.

1999-10-30  Stan Shebs  <shebs@andros.cygnus.com>

	* cmdline.c (set_players_from_options): Add an extra player that
	will be assigned to indepside later.
	* score.c: Make various statics and externs, iterate all
 	scorekeepers over real sides only, don't involve indepside.
	* side.h (for_all_real_sides): Put sidelist test into for loop.

	* mplayer.c (assign_to_improve): Comment out, not used.
	(mplayer_adjust_plan, assign_to_defense): Remove unused locals.
	(keep_defensive_goal): Fix parens, always return result.

	* plan.c (plan_passive): Make intro game build infantry in
	towns also.

	* combat.c (mobile_enemy_thread): Use side_sees_image instead of
	unit_actually_visible.
	* run.c (auto_pick_new_build_task, etc): Ditto.
	* task.c: Ditto.
	* side.c (side_sees_unit): Add side->see_all case, remove
	designer and debugging cases.
	(side_sees_image): Error if NULL side, add view-matching case.
	* ui.c (unit_actually_visible): Comment out.
	(unit_visible, occupants_visible): New function.
	(cell_terrain): Remove, fold code into oneliner.
	(oneliner): Test vp->show_all.
	* ui.h: Declare new functions.
	
	* conq.h (gameinited, warnings_logged): Declare.
	(add_remote_players, etc): Ditto.
	* cmd.c, cmdline.h, init.c, read.c, read2.c, side.c, unit.c,
 	util.c: Remove unneeded decls.
	* misc.h (log_warning): Declare.

	* macconq.c (update_turn_display): Set map->vp->show_all.
	* macdesign.c (enable_designing): Ditto.
	* macmouse.c (do_mouse_down_map_control_panel): Ditto.
	* macrow.c (draw_unit_and_occs): Use occupants_visible.
	* macwins.c (show_scores_window): Remove decl of get_scores.
	* macconq.h (gameinited): Remove redundant decl.

	* tkconq.tcl (create_map_menus): Don't create Show All entry.
	(update_show_all_info): Create it here instead.
	(update_show_all): Do nothing if see_all.

	* tkcmd.c, tkinit.c, tkmain.c, tkmap.c: Use is_designer instead of
 	side->designer everywhere.
	(do_map): Improve an error message.
	* tkinit.c (init_ui): Set dside here, warn if trying to open
	more than one display.
	* tkconq.h (ui_init): Remove decl.
	* tkmain.c (ui_init): Remove, fold parts into launch_game_2.
	(grok_string, etc): Enclose strings in braces when passing to tcl.
	* tkmap.c (draw_units, draw_unit_and_occs): Use unit_visible and
 	occupants_visible.

	* xdraw.c: Use unit_visible instead of unit_actually_visible.

	* intro.g: Give players towns instead of cities initially.

	* xconq.texi: Make a separate section for Mac preferences,
	add doc for more Mac menu items.
	* glossary.texi: Add new terms, clarify definitions of others.
	* PROJECTS: Add a couple minor ideas for Mac interface.

1999-10-28  Hans Ronne  <hronne@pp.sbbs.se>

	* ai.h (AIType): Add iplayertype = 2.
	* ai.c (iplayer_ops): Declare extern.
	(init_ai_types): Include iplayer_ops.
	* cmd.c (do_ai_side): Toggle between mplayer, iplayer and NULL.
	* config.h (numaitypes): Change to 3.
	* init.c (make_trial_assignments): Set indepside ai to iplayer.
	* iplayer.c: New file, lobotomized clone of the mplayer.
	* kernel/Makfile.in: Add iplayer.o.
	* mplayer.c (mplayer_init): Always free any existing strategy.
	* macconq.c (main): Remove junk left by mistake.
	* macinit.c (hit_player_setup_dialog): Add iplayer support.
	* macwins.c (create_notice_window): Increase width to 400.
	* score.c (eval_sk_last_side_wins): Don't count indeps without ai.
	(eval_sk_last_alliance_wins): Don't count indeps without ai.
	* tkconq.tcl (create_map_menus): Add menu item Iplayer.
	(create_map_menus): Pass "ai none" for menu item None.
	(toggle_ai_command): Add iplayer support.
	* tkmain.c (tk_player_aitypename): New function and prototype.
	(player_aitypename): New tcl command.

1999-10-26  Stan Shebs  <shebs@andros.cygnus.com>

	Reorganize see-all handling, add separate concept of show-all
	that only affects display.
	* side.h (Side show_all): New field.
	(Side may_set_show_all): Rename from may_set_see_all.
	* ui.h (VP show_all): Rename from see_all.
	* init.c (init_all_views): Use new field, don't set all_see_all.
	* actions.c, ai.c. combat.c, mplayer.c, nlang.c, plan.c, ps.c,
 	read.c, run.c, run2.c, score.c, side.c, side.h, ui.c, unit.c,
 	write.c: Use g_see_all() or side->see_all instead of all_see_all,
	side->may_set_show_all instead of side->may_set_see_all.
	* macconq.c, macdesign.c, macmap.c, macmouse.c, macrow.c: Ditto.
	* tkcmd.c, tkmain.c, tkmap.c: Ditto.
	* xcmd.c, xmap.c, xtmain.c: Ditto.
	* run.c (end_the_game): Set side->show_all.
	* side.c (become_designer, become_nondesigner): Ditto.

	* tkcmd.c (aux_design, really_do_design): Call set_show_all and
 	update_show_all_info.
	* tkconq.tcl (may_set_show_all): Rename from may_set_see_all.
	(default_map_options): New global array, use everywhere instead
	of map_options.
	(map_options): Index by map widget also.
	(update_view_controls_info): Don't set may_set_show_all.
	(update_show_all_info, update_show_all): New procs.
	* tkinit.c (init_display): Update show_all info.
	* tkmain.c (update_turn_display): Set show_all.
	* tkmap.c (m_terrain_visible, m_units_visible): New macros, use
	everywhere.
	(set_show_all): New function.

	* combat.c (do_overrun_action): Fix call to do_fire_at_action
	to not shoot at self(!).
	
	* side.c (paint_view_1): Add special case to do exact view.

	* unix.c (score_file_pathname): Look for env var XCONQ_SCORES
	instead of XCONQSCORES.

	* tkconq.h (UI told_outcome): Remove, never used.
	* tkmain.c (told_outcome): Make static local.
	* tkconq.tcl (disable_move_mode): New proc.
	(popup_game_over_dialog): Use it.
	(popup_design_palette): Add view painting button.
	(make_view_paint_frame): New proc.
	(make_terrain_paint_frame): Increase size of terrain samples.
	(make_people_paint_frame, make_control_paint_frame): Turn on
	people/control display in all maps.
	* tkinit.c (init_bitmaps): Add paint_view bitmap.
	* tkmap.c (handle_designer_mouse_down, paint_on_drag): Rewrite
	view painting.

	* PROJECTS: Reflect above project.

1999-10-25  Hans Ronne  <hronne@pp.sbbs.se>

	* actions.c (make_unit_complete): Remove (side ? side : indepside)
 	code.
	* combat.c (mobile_enemy_threat): Remove (side ? side : indepside)
 	code.
	* macwins.c (unit_doctrine): Remove (side ? side : indepside) code.
	* mknames.c (unit_namer): Remove (side ? side : indepside) code.

	* run.c (unit_priority): Remove (side ? side : indepside) code.
	(side_move_some_units): Remove unit->side != NULL checks.
	(run_advanced_units): Remove (side ? side : indepside) code.
	(auto_pick_new_plan): Remove (side ? side : indepside) code.
	
	* unit.c (set_unit_side): Remove (side ? side : indepside) code.
	(kill_unit_aux): (side ? side : indepside) code.
	
	* unit.h (unit_doctrine): (side ? side : indepside) code.

1999-10-25  Hans Ronne  <hronne@pp.sbbs.se>

	* actions.c (transfer_supply): Replace NULL side by from->side &
 	to->side.
	(check_develop_action): Use indepside and g_indepside_can_develop.
	(notify_tp): Remove NULL side check.
	(check_create_common): Remove NULL side check.
	(check_build_action): Remove NULL side check.
	
	* gvar.def (g_indepside_can_develop): New gvar.
	
	* imf.c (get_generic_images): Bug fix: add missing brackets.
	
	* init.c (adj_seen_terrain): Remove NULL side check.
	
	* macadv.c (mac_create_cicn): Remove prototype.
	(draw_city_statistics): Remove mac_create_cicn call.
	
	* maccolors.c (mac_create_cicn): Remove prototype.
	(set_side_colors): Remove mac_create_cicn call.
	
	* macimf.c (mac_interp_image_1): Remove mac_create_cicn call.
	
	* macmenus.c (enable_commands_for_unit): Remove NULL & indepside check.

	* mkunits.c (make_countries): Use indepside instead of NULL in fn
 	calls.
	
	* move.c (sides_allow_entry): Change NULL side to indepside.
	
	* mplayer.c (mplayer_adjust_plan): Remove NULL side check.
	
	* nlang.c (side_name): Remove NULL side check.
	(side_adjective): Remove NULL side check.
	(short_side_title): Remove NULL side check.
	(short_side_title_with_adjective): Remove NULL side check.
	(short_side_title_plural_p): Remove NULL side check.
	(shortest_side_title): Remove NULL side check.
	(notify_doctrine): Remove NULL side check.
	* plan.c (execute_standing_order): Remove NULL side check.
	(adj_known_ok_terrain): Remove NULL side check.
	* run.c (run_population): Remove NULL side check.
	* run2.c (unit_revolt): Remove NULL side check.
	(unit_revolt): Change NULL side to indepside.
	* side.c (side_number): Remove NULL side check.
	(side_controls_side): Remove NULL side check.
	(side_controls_unit): Remove NULL side check.
	(side_sees_unit): Remove NULL side check.
	(side_sees_image): Remove NULL side check.
	(set_trust): Remove NULL side check.
	(set_mutual_trust): Remove NULL side check.
	(set_doctrine): Remove NULL side check.
	(see_cell): Remove NULL side & indepside check. 
	(see_exact): Remove NULL side & indepside check.
	* side.h (side_in_play): Remove NULL side check.
	* ui.c (unit_actually_visible): Remove NULL to indepside conversion.
	(advance_into_cell): Change NULL side to indepside.
	(terrain_seen_at): Remove NULL side check.
	(unit_seen_at): Remove NULL side check.
	* unit.c (type_allowed_on_side): Remove NULL to indepside conversion.
	(unit_trusts_unit): Remove NULL side check.
	(set_unit_side): Remove NULL side check.
	* unit.h (indep): Remove NULL side check.
	* write.c (write_side_properties): Check that side->controlled_by
 	!= NULL.
	
1999-10-24  Hans Ronne  <hronne@pp.sbbs.se>
	
	* xinit.c (init_ui): Ignore indepside's request for ui.

1999-10-24  Hans Ronne  <hronne@pp.sbbs.se>
	
	* ane.g (peek-at-enemy): Set to true.
	(disable-standard-economy): Remove.
	(indep-may-build): Change to indepside-can-build.
	(indepside-has-ai): Set to true.
	(population): Set to true.
	(economy): Set to false.
	(supply): Set to false.

	* xtmain.c (run_game_proc): Comment out redundant run_local_ai.

	* tkconq.tcl (set_variants): Increase number of checkboxes to 16.
	(add_variants_dialog_items): Increase number of checkboxes to 16. 
	(add_player_dialog_item): Iterate from 1 to <= $maxs.
	(add_player_dialog_item): Test if $i <= $nums.
	(add_player_dialog_item): Select player 1 instead of 0.
	(select_player): Do for $newsel <= $nums.
	(show_variant_help): Add help for K_PEOPLE etc.
	
	* tkmain.c (tk_run_game): Comment out redundant run_local_ai.
	(MAXCHECKBOXES): Increase to 16.
	(interpret_variants): Change numcheckboxes to 10.
	(interpret_variants): Handle case K_PEOPLE etc.

	* maccolors.c (append_color_names): Fix library path bug.
	(append_terrain_names): Fix library path bug.
	
	* macconq.c (event_loop): Comment out redundant run_local_ai.
	(update_side_display): Test for indepside instead of NULL.

	* macdefs.h (diVariantsPeople): Define to 7.
	(diVariantsEconomy): Define to 8.
	(diVariantsSupply): Define to 9.
	(diVariantsIndepsAI): Define to 10.
	(diVariantsIndepsBuild): Define to 11.
	(diVariantsIndepsResearch): Define to 12.
	(diVariantsIndepsTreasury): Define to 13.
	(diVariantsFirstCheckBox): Change to 14.
	(diVariantsFirstSlider): Change to 20.
	(diVariantsWorldSize): Change to 23.
	(diVariantsRealTime): Change to 24.
	(diVariantsMoreVariants): Change to 25.
	(diVariantsHelp): Change to 26.

	* macinit.c (MAXCHECKBOXES): Change to 6. 
	(selected_a_player): Limit between 1 and numsides.
	(vary_people etc): Declare.
	(new_people etc): Declare.
	(start_new_game): Add comment about broadcast.
	(variants_dialog): Set diVariantsPeople etc.
	(variants_dialog):Handle cases diVariantsPeople etc.
	(interpret_variants): Zero vary_people etc.
	(interpret_variants):Handle cases K_PEOPLE etc.
	(implement_variants): Implement vary_people etc.
	(implement_variants): Use vary_population etc.
	(draw_player_setup_list): Iterate between 1 and g_sides_max.
	(draw_player_setup_list): Limit to numtotsides instead of numsides.
	(select_player): Limit between 1 and numsides.
	(hit_player_setup_dialog): Add 1 in select_player call.
	(open_game_from_name_and_volume): Add broadcast comment.
	(launch_game_2): Add comment about calling chain.

	* macimf.c (mac_init_cicn_1): Create colricon if necessary.

	* macmenus.c (do_menu_command): Fix Colors menu bug. 
	(do_menu_command): Use numtotsides instead of numsides. 

	* macwins.c (create_game_window): Use for_all_real_sides.
	(draw_game): Use for_all_real_sides.

	* actions.c (transfer_supply): Use side_has_treasury.
	(do_create_in_action): Use side_has_treasury.
	(check_create_common): Use side_has_treasury.
	(do_create_at_action): Use side_has_treasury.
	
	* ai.c (give_up): Don't allow indepside to resign.

	* gvar.def: Reorganize, add some comments.
	(g_disable-standard-economy): Remove.
	(g_people): New gvar.
	(g_economy): New gvar.
	(g_supply): New gvar.
	(g_indepside_has_ai): New gvar.
	(g_indepside_can_build): New name for g_indep_may_build.
	(g_indepside_can_research): New gvar.
	(g_indepside_has_treasury): New gvar.

	* help.c (describe_utype): Use g_economy instead.

	* init.c (make_trial_assignments): Create a player for the indepside.
	(make_trial_assignments): Use numtotsides instead of numsides.
	(make_trial_assignments): Set indepside AI type.
	(add_side_and_player): Use numtotsides instead of numsides.
	(init_all_views): Use numtotsides instead of numsides.
	(init_ranged_views): Use numtotsides instead of numsides.
	(assign_players_to_sides): Use numtotsides instead of numsides.
	(check_consistency): Use numtotsides instead of numsides.
	(exchange_players): Use numtotsides instead of numsides.
	(exchange_players): Skip indepside player from exchanges.
	
	* keyword.def (K_PEOPLE, K_ECONOMY, K_SUPPLY, 
	K_INDEPSIDE_HAS_AI, K_INDEPSIDE_HAS_TREASURY, 
	K_INDEPSIDE_CAN_BUILD, K_INDEPSIDE_CAN_RESEARCH): New keywords.
	
	* mac.c (open_scorefile_for_writing): Remove "Scores:" from filename.

	* makenames.c (assign_unit_number): Test for indepside instead of NULL.

	* makeunits.c (country_is_complete): Always return TRUE for indepside.

	* module.c (do_one_variant): Handle K_PEOPLE etc.

	* read.c (nextsideid): Declare extern.
	(interp_variant_defns): Handle K_PEOPLE etc.
	(interp_variant_defns): Call add_more_variants.
	(add_more_variants): New function and prototype.
	(interp_game_module): Call add_more_variants.
	(interp_side): Complete indepside if it is read from the form.
	(interp_side): Make sure indepside is completed before creating a
 	new side.

	* run.c (run_people): New function and prototype.
	(init_movement): Don't autofinish indepside if it has an AI or can
 	build etc.
	(run_local_ai): Comment out rate limiting code that caused buzzing.
	(run_advanced_units): Use side_has_treasury.
	(run_population): Use side_has_treasury.
	(run_construction): Use g_indepside_can_build instead.
	(run_research): Test for g_indepside_can_research.
		
	* run2.c (run_people): Declare extern.
	(run_turn_start): Use g_population, g_economy & g_supply.

	* score.c (side_loses): Don't allow indepside to lose.
	(side_loses): Resign advanced units to indepside instead of NULL side.
	(record_into_scorefile): Handle K_PEOPLE etc.
	(score_variant_desc): Handle K_PEOPLE etc.
	
	* side.c (numtotsides): Initialize.
	(init_sides): Only allocate indepside here, don't fill in.
	(init_sides): Start nextsideid, nextplayerid and next_doctrine_id
 	at 0.
	(create_side): Fill in indepside before creating any other side.
	(create_side): Check side_has_treasury before filling it up.
	(create_side): Don't link lastside->next for indepside.
	(side_n): Don't return null for indepside.
	
	* side.h (numtotsides): New global, includes indepside.
	(for_all_real_sides): New name for for_all_sides. Test for sidelist.
	(for_all_sides): Now also includes indepside.
	(side_has_treasury): New macro.
	
	* table.def (um_give_to_treasury): Set default true.
	(um_take_from_treasury): Set default true.
	
	* unit.c (create_unit): Set side to indepside instead of NULL
 	side.
	(change_unit_side): Don't force indepside to NULL side.
	(set_unit_side): Don't force indepside to NULL side.
	 
	* write.c (write_sides): Use numtotsides instead.
	(write_sides): Comment out case K_INDEPENDENT_UNITS.

	* XconqProj.rsrc (DITL 131 "Variants Items"): Add 4 checkboxes.

	* Xconq.r: Update from XconqProj.rsrc.

1999-10-21  Stan Shebs  <shebs@cartman.cygnus.com>

	* win32.c (open_scorefile_for_reading): Remove setuid call, add
	warning and retry if failure.
	(open_scorefile_for_writing): Similarly.
	(close_scorefile_for_writing): Remove setuid call.
	(score_file_pathname): Use XCONQ_SCORES as env var, and backslash
	as file separator.
	* score.c (record_into_scorefile): Add a warning message if open
	fails.
	(read_scorefile): Clear records list.
	(only_checking, we_have_a_winner): New globals.
	(eval_sk_form, eval_sk_last_side_wins,
 	eval_sk_last_alliance_wins): Look at only_checking.
	(side_loses): Check post-turn scorekeepers to see if any would
	declare a winner, if so, finish everybody's turns early.

	Add ability to open multiple map windows.
	* tkconq.tcl (create_map_window, make_normal_bindings, etc): Add
 	map number argument, send map number to command procedures for
 	buttons and menus, compute map widget from number and use.
	(update_game_side_info, etc): Iterate over all maps.
	* tkcmd.c (do_new_map): Call create_map.
	(do_zoom_in, do_zoom_out, really_do_design): Pass map number.
	* tkmain.c: Pass map numbers around everywhere.
	(lastrawx, lastrawy): Remove.
	(tk_run_game_idle): Pass map fields instead of globals to
	update_mouseover.
	(update_mouseover): Pass map number back to tcl updater.
	(tk_mouse_down_cmd, etc): Pass map number (as .m<nnn>) in first
 	argument.
	(tk_interp_key): Set curmap before calling command.
	(tk_execute_long_command): Ditto.
	(mapn): New global.
	(create_map): Set map number, pass into tcl code.

	* cmd.c (DURING_GAME_ONLY): New macro, use to disable commands
	at end of game.
	* tkcmd.c: Similarly.
	* tkconq.h (UI goodcolor): New field.
	* tkinit.c (set_colors, set_optional_colors): Set it.
	* tkmap.c (draw_current): Draw health bar above unit.
	* tkconq.tcl (endofgame): New global.
	(adjust_more_menu): Disable some items if end of game.
	(adjust_edit_menu, adjust_side_menu): New procs.
	(popup_scores, dismiss_scores, scrolled_textbox): New procs.
	(popup_game_over_dialog): Update scores if scores window up.
	(popup_run_warning_dialog): Don't offer to save if at end of game.
	* tkmain.c (tk_get_scores): New tcl command.
	(update_turn_display): Force all maps to survey mode correctly,
	set endofgame tcl var.
	(low_run_error, low_run_warning): Set endofgame in tcl if needed.
	* tkinit.c (update_action_controls_info): Only update during game.

	* xconq.texi: Document scorefile handling for Windows.

1999-10-14  Stan Shebs  <shebs@cartman.cygnus.com>

	* INSTALL: Add commentary about processing documentation.

	* xconq.texi: Major reorganization of interface description
	material, add material about common interface, many other fixups.
	* commands.texi: Add more detail, index entries for each command.

	* system.h (checkpoint_filename): Add argument.
	(remove_saved_game): Remove decl, no longer used.
	(remove_file): Declare.
	* mac.c, unix.c, win32.c: Similarly.
	* run2.c (save_checkpoint): New function, handles deletion of
	previous checkpoint file.
	(run_turn_start): Call it.
	* win32.c (stop_handler, crash_handler, hup_handler): Fix decls.

	* tkconq.tcl: Misc simplifications and comments.
	(map_xscroll_set, map_yscroll_set): Remove, no longer used.
	(popup_preferences_dialog): Add "Files" preferences, force
	varying-content area to fixed size.
	(add_map_prefs_items): Add checkboxes in 2-column grid.
	(add_files_prefs_items, remove_files_prefs_items): New procs.
	* tkmain.c (tk_save_prefs, ui_update_state, interp_unix_ui_data):
	Save/restore checkpoint interval preference.
	* tkimf.c (blacken_masked_area): Double pixel width if no colors
	available to assign to black.
	* tkmap.c (set_scrollbars): Comment out.

	* PROJECTS: Update to reflect doc work.

	* xconq.texi, game.dir, magnuszew.g: It's MagnusZew, not MagnusVew.

1999-10-08  Stan Shebs  <shebs@andros.cygnus.com>

	* xconq.texi: Various fixups, also add a chapter documenting the
 	common X11/Windows interface, add networking setup description.
	* commands.texi: Add doc of formerly Mac-specific commands.
	* refman.texi: Comment out an xref.

1999-10-06  Stan Shebs  <shebs@andros.cygnus.com>

	* unit.h (has_acp_left): New macro, accounts for acp-min.
	* plan.c (occupant_can_capture_neighbor): Use it.
	* run.c (side_move_some_units, unit_still_acting,
	unit_still_acting_no_plan, move_one_unit_multiple): Ditto.
	* side.c (find_next_mover, find_prev_mover, find_next_awake_mover,
 	find_prev_awake_mover): Ditto.
	* ui.c (could_be_next_unit): Ditto.
	* macconq.c (maybe_select_next_unit): Ditto.
	* macmap.c (draw_selected_unit, draw_selection_animation): Ditto.
	* macmouse.c (select_another): Ditto.
	* tkmain.c (tk_run_game_idle): Ditto.
	* tkmap.c (draw_current): Ditto.
	* xcloseup.c (build_unit_list): Ditto.
	* xdraw.c (draw_current): Ditto.
	* cconq.c (maybe_handle_input): Ditto.
	* cdraw.c (draw_unit_list_entry): Ditto.

	* run.c (num_local_ais): New global.
	(run_local_ai): Use it to decide whether to run.

	* tkmain.c (tk_run_game): Return a smaller re-run interval.
	(tk_animate_selection): Record in activity trace.

	* util.c [MAC]: Add TickCount-based version of gettimeofday.
	(record_activity_start, etc): Remove UNIX conditionals.
	(dump_activity_trace): Comment out gap writing.
	(log_warning): Make ewfp static, open and close file for each
	warning.

	* xconq.texi: Merge in play.texi, x11-sect.texi, mac-sect.texi,
 	and curses-sect.texi, add a "Quick Start" chapter, promote
	game library section to chapter.
	* play.texi, x11-sect.texi, mac-sect.texi, curses-sect.texi:
 	Remove.
	* doc/Makefile.in (DOCFILES_PLAY): Remove refs to deleted files.
	* refman.texi: Clean up acp description.

1999-10-03  Stan Shebs  <shebs@andros.cygnus.com>

	* version.h: Bump to 7.2.93.

	* win/Makefile.in (HFLAGS): Define.
	(ALL_CFLAGS): Use it.
	* wconq.c (XSetTile, XFlush, XSynchronize): Fix decls.

1999-10-01  Stan Shebs  <shebs@andros.cygnus.com>

	* ccmd.c, cconq.c, help.c, history.c, read.c, util.c, tkinit.c,
 	xinit.c: Remove __STDC__ conditionals.

	* imf.c (write_imf): Write imf if filedata available.

	Add autoscrolling to tcl/tk interface, remove scrollbars.
	* tkconq.tcl (create_map_window): Remove scrollbars.
	(map_xscroll_set, map_yscroll_set): Comment out bodies.
	(autoscroll): New proc.
	* tkmain.c (autoscroll_width, etc): New globals.
	(update_mouseover): Add autoscrolling.
	
Thu Sep 31 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>

	* util.c (log_warning): Always open and close file, use append mode.
	
Tue Sep 28 19:56:47 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tp.c (online, quitter): New globals.
	(for_all_remotes): Only do rids for programs still connected.
	(add_remote_program): Mark new program as online.
	(send_quit): Send rid, ensure packet is sent.
	(receive_quit): Signal that program is not online.
	* unix.c (crash_handler, hup_handler): Use error_save_filename.
	* win32.c: Ditto.
	(ERRORFILE): Define.

	* tkcmd.c (save_the_game): Call exit_xconq.
	* tkconq.tcl: Call exit_xconq to leave.
	* tkmain.c (tk_exit_xconq): New tcl command.
	(check_network): Close connection if quitter nonzero.
	(host_the_game): Mark host as online.
	(exit_xconq): Send a quit message.

	* tp.c (net_run_game): Detect if checksum changes but run_game
 	doesn't do anything.
	(receive_game_checksum): Test for before-run-game checksum.
	* tkmain.c (tk_run_game): Only compare run_local_ai checksum
	if not master.

	* win/Makefile.in (ALL_CFLAGS): Add more include paths.

Mon Sep 27 21:37:12 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* nlang.c (notify, etc): Remove K&R compat code.

	* tp.c (add_remote_program): Use correct remote player spec.
	(DOWNLOADPACKETSIZE): Increase to 200 if on Unix.
	(add_to_packet): Move to here from write.c, remove rid arg,
	simplify.
	(flush_write): Move to here from write.c.
	(net_run_game): Disable occasional checksum send.
	(send_game_checksum_error): New function.
	(receive_game_checksum): Call it.
	(receive_packet): Add 'E' packet for errors.
	(receive_error): New function.
	(game_checksum): Make externally visible.
	* write.c: Remove tmprid arg in add_to_packet calls.

	* tkconq.tcl (popup_open_dialog): Add arg.
	(popup_game_dialog): Leave b2 button enabled, make it do the
	open dialog.
	(popup_connect): Don't complain about unsupported connection times.
	(join_game): Remove experimental bits.
	(popup_chat): Disable connect button when chat window up.
	(dismiss_chat): Rename from dismiss_pregame_chat, reenable Chat
	button.
	(add_program): Change Connect button to Chat button.
	(insert_chat_string): Enable chat buffer temporarily if necessary
	to insert a string.
	(popup_init_error_dialog, popup_init_warning_dialog, etc): New.
	* tkmain.c (tk_send_variant_value): Always expect 6 args.
	(update_assignment): Don't select player.
	(update_variant_setting): Set values of world size and real times.
	(tk_run_game): Add game checksum tests before/after AI run.
	(host_the_game, init_all_displays, announce_read_progress,
 	announce_lengthy_process, etc, low_init_error, low_init_warnings,
	exit_xconq, launch_game, launch_game_2, unit_advance_dialog, etc):
	Move here from xconq.c and wconq.c, adjust to be more generic.

	* wconq.c (main): Clear use_stdio, remove -host/-join handling.
	* xconq.c (main): Set use_stdio initially, move stdout welcome
	so only appears if use command-line args, reorganize handling of
	-host and -join.

	* win/Makefile.in (WIN_CFLAGS): Suppress console with -mwindows.

Sun Sep 26 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* combat.c (mobile_enemy_threat): Fix null side crash in terrain_visible.
	* mplayer.c (review_units): Bug fix: check that plan->maingoal exists.
	* run.c (run_advanced_units): Fix null side crash in terrain_visible.
	(allocate_used_cells): Fix null side crash in terrain_visible.
	(auto_pick_new_plan): Fix null side crash in terrain_visible.
	* ui.c (unit_actually_visible): Bug fix: Set NULL side to indepside.
	* util.c (log_warning): Bug fix: close the file when done.

Fri Sep 24 16:36:06 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* side.h (Side rid): Remove slot, not needed.
	* ai.c: Add some comments.
	(init_ai): Handle networked case correctly.
	* init.c (set_player_advantage, rename_side_for_player,
	set_ai_for_player): New functions.
	(assign_players_to_sides): Remove setting of side->rid, test
	player->rid instead, improve warning message.
	* socket.c: Add some comments.
	(open_remote_connection): Remove dead code in hosting case,
	retry 5 instead of 15 times in joining case.
	(close_remote_connection): Handle arg of 0 usefully.
	* tp.c (init_remote_ui): Set rui->rid from player->rid.
	(net_set_player_advantage): Call set_player_advantage.
	(net_add_side_and_player, net_rename_side_for_player,
 	net_set_ai_for_player): New function.
	(receive_assignment_setting): Add rest of messages, share
	assignment callback use.

	* tkconq.tcl (update_allplayer_buttons): New proc, code to
	adjust buttons that affect all players.
	(add_player_dialog_items, add_player_cmd, select_player): Use it.
	(exchange_players_cmd): Only update if valid return from exchange.
	(join_game): Inform player about result of join attempt.
	* tkmain.c (tk_add_side_and_player, tk_rename_side_for_player,
	tk_set_ai_for_player): Use net_ functions.
	(tk_try_join_game): Return result of try_join_game.
	(try_join_game): Move here from xconq.c & wconq.c, also return
	success or failure.
	(update_assignment): Call update_allplayer_buttons.

	* wconq.c, xconq.c (try_join_game): Remove.
	* xconq.c (host_the_game): Warn about connection failure.
	
Fri Sep 24 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* ai.c (ai_init_shared): Fix bugs in u_can_make & u_is_base_builder.
	* mplayer.c (mplayer_adjust_defense): Remove function & prototype.
	(mplayer_adjust_offense): Remove function & prototype.
	(mplayer_react_to_action_result): Move function & prototype.
	(defensive_reaction): New function & prototype.
	(keep_defensive_goal): New function & prototype.
	(maybe_defend_own_transport): New function & prototype.
	(undefended_neighbour): New function & prototype.
	(maybe_defend_other_transport): New function & prototype.
	(offensive_reaction): New function & prototype.
	(review_units): Don't mess with defenders of other units & cells.
	(assign_to_defend_unit): Call clear_task_agenda.	
	(assign_to_defend_cell): Set defensive plan type.	
	* run.c (a_action_record): typedef structure.
	(latest_action): New static ActionRecord.
	(run_game): Allocate memory for latest_action.
	(move_one_unit_multiple): Update latest_action.
	(action_reaction_needed): New name for action_reaction.	
	(run_local_ai): Use distance to latest_action in action reaction.

	* kpublic.h (net_exchange_players): Add missing prototype.
	(net_set_player_advantage): Add missing prototype.
	* tp.c (receive_variant_setting): Bug fix: change second v4 to v5.

Thu Sep 23 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* maccmd.c (PROFILING): Define it if __profile__ is true.
	(int _trace): Only use it with THINK_C.
	(do_trace): Only use _trace with THINK_C
	(toggle_profiling): Fix display bug. Add CodeWarrior support.
	* macconq.c: (initialvrefnum): Declare extern.
	#include Profiler.h if __profile__ is true.
	(main): Init CodeWarrior profiling if __profile__ is true.
	(get_files): Move initialvrefnum declaration outside fn. 
	(exit_macconq): Dump profiling output if __profile__ is true.
	(handle_numeric_keypad): Remove redundant prototype.
	* macinit.c (filter_splash): Also show profiling status.
	* macwins.c (draw_game_date): Fix profiling display bug.

Wed Sep 22 19:11:53 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* socket.c (open_remote_connection): Always return something.
	(accept_remote_connection): Use Dprintf for debug output.
	* tp.c (update_variant_callback, update_assignment_callback):
	New globals.
	(net_set_player_advantage, net_exchange_players): New functions.
	(broadcast_variants_chosen): Send vOK instead of just v.
	(broadcast_players_assigned): Similarly.
	(receive_variant_setting, receive_assignment_setting): New.
	(receive_packet): Call them.

	* tkconq.tcl (popup_game_dialog): Make second button disappear.
	(add_variants_dialog_items): Make buttons broadcast variant
 	change.
	(broadcast_variant_value): New proc.
	(world_size_ok_cmd, real_time_ok_cmd): Call it.
	* tkmain.c (tk_send_variant_value): New tcl command.
	(tk_adjust_advantage): Call net_set_player_advantage.
	(tk_exchange_players): Call net_exchange_players.
	(update_variant_setting, update_assignment): New functions.
	(initial_ui_init): Set the callbacks with them.
	(tk_player_remote_status): Remove, no longer needed.

	* PROJECTS: Note need for Windows icon and side colorization
	in tcltk interface.

Tue Sep 21 18:58:04 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* mac.c (close_remote_connection): Add argument.

	* x11/Makefile.in (ALL_CFLAGS): Get tcl.h and tk.h from
	sibling dir if possible.

Tue Sep 21 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* macconq.c (exit_macconq): Pass 0 to close_remote_connection.
	(connect_game_dialog): Pass 0 to close_remote_connection.
	* macdesign.c (draw_design_window_tool): Fix enabledtooltype bug.
	* macmap.c (set_map_scrollbars): Remove int hilite and DGprintf calls.
	* macmenus.c (apply_to_all_selected): Fix undefined unit bug.

	* xtconq.c (main): Pass 0 to close_remote_connection.

Mon Sep 20 19:02:09 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl (remove_splash_screen_dialog_items,
 	popup_splash_screen, popup_player_dialog, popup_chat): Handle
 	setup dialog buttons more intelligently.
	(popup_game_dialog, popup_variants_dialog, popup_player_dialog):
 	Disable non-hosts' buttons.
	(popup_connect): Warn about unsupported connect options.
	(popup_hosting): Remove, no longer used.
	(popup_open_dialog): New proc.
	(update_player_entry): Comment out "remote" tagged text.
	(popup_chat): Disable chat area initially.
	(enable_chat): New proc.
	(insert_chat_string): Improve formatting of messages.
	(create_map_menus): Enable connect menu item.
	(adjust_file_menu): Adjust it appropriately.
	
	General cleanup of networking support.
	* side.h (side_has_local_display): Move to here from various
	files.
	* tp.h (add_remote_program, etc): Move decls here from tp.c.
	* tp.c (hosting): Define here.
	(download_game_module): Copy over more module properties.
	(receive_packet): Remove L packet.
	(receive_player_prop): Remove "Pyou" packet.
	* mac.c (hosting, connection_method_name): Remove, comment out
	code that uses.
	(open_remote_connection): Add hosting arg, return result.
	(close_remote_connection): Add argument.
	* socket.c: Similarly.
	* macconq.c, macconq.h, macinit.c, tkmain.c, wconq.c, xconq.c,
 	xtconq.c, xtmain.c, cconq.c: Update references.
	* system.h (open_remote_connection): Update decl.
	* skelconq.c, macinit.c, wconq.c, xconq.c, xtconq.c, cconq.c
 	(you_player, set_you_player, add_remote_player, launch_game):
 	Remove, no longer used.
	* wimfapp.c, imf2x.c, x2imf.c, ximfapp.c, xshowimf.c (my_rid,
 	numremotes): Remove, no longer needed.

	* tkmain.c (tk_start_new_game): New tcl command.
	(check_network): Call popup_game_dialog instead of only removing
	splash screen items.

	* wconq.c (host_the_game): Register self as first remote program
	(try_join_game): Send a player spec to host.
	(launch_game_2): New function.

	* combat.c (enough_to_garrison, mobile_enemy_threat): Fix
 	formatting.

	* flags.imf (flag-un, flag-robot): New flags.
	* intro.g: Use them.

Sun Sep 19 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* macwins.c (noticeStyle): New static TextStyle.
	(create_notice_window): Don't substract scrollbar from viewRect height.
	(create_notice_window): Use TEStylNew for notice_text.
	(append_notice): Rewrite to support use of text styles.
	(draw_notice): Remove TextFont, TextSize & EraseRect calls.
	(draw_notice): Move adjust_notice_scrollbar call.
	(adjust_notice_scrollbar): Rewrite and simplify.
	(grow_notice): Don't subtract scrollbar from viewRect height.
	(zoom_notice): Don't subtract scrollbar from viewRect height.
	
	* run.c (run_population): Notify side of unit size increases.
	(run_population): Add more info in other notify messages.
	(run_research): Notify side of completed advances.

	* stdt24x26.gif: Don't use white as "invisible", messes up ice image.

Sat Sep 18 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* maccolors.c (set_side_colors): Call append_image_names.
	(set_feature_color): Call append_image_names.
	(set_terrain_color): Call append_image_names.
	(set_terrain_color): Change hcs to hhs in best_image call.
	(set_terrain_color): Set and use timages[e] in best_image call.
	(append_image_names): New function and prototype.
	(append_color_names): New function and prototype.
	(append_terrain_names): New function and prototype.
	(append_imf_name): New function and prototype.
	(build_colors_popup_menu): Remove function and prototype.
	(append_color_callback): Remove function and prototype.

	* terrain.imf (blackhole, grassland, slope, swamp-2): Add color tiles.

Fri Sep 17 17:02:39 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* kernel/socket.c: New file, networking code common to Unix and
	Windows (Cygwin).
	* kernel/Makefile.in (socket.o): Add dependencies.
	* configure.in (HOBJS): Add socket.o.
	* configure: Regenerate.
	* unix.c, win32.c: Remove networking code.

	* conq.h (enum setup_stage): Rename stages, add game_load_stage.
	* init.c (make_trial_assignments): Add remote players.
	* system.h (close_remote_connection): Add argument.
	* tp.c (remote_player_specs): New global array.
	(add_remote_players): New function.
	(download_to_player): Comment out launch packet send.
	(download_game_module): Use gameModule instead of GameModule.
	(broadcast_variants_chosen): Send randstate first.
	(receive_packet): Change 'G' packet to 'g', comment out 'L'
	packet, adjust stage names.
	(receive_remote_program): Record remote player spec.

	* tkconq.tcl (popup_game_dialog): Remove Network button.
	(toggle_remote_cmd): Remove.
	(select_player): Remove remote button.
	(popup_chat): Rename from popup_pregame_chat, allow deiconify,
	disable splash dialog buttons when brought up, put both host
	and join buttons at top.
	(my_rid): New global.
	(add_program): Disable connection buttons, activate New/Open
	buttons for host.
	(insert_chat_string): Allow arg of 0 to do generic inserts.
	(create_map_menus): Add chat item to file menu.
	(adjust_file_menu): New proc.
	* tkmain.c (tk_launch_game): Set stage, make trial assignments
	after broadcasting that variants chosen.
	(tk_launch_game_2): Call launch_game_2.
	(check_network): Adjust stage names.

	* xconq.c (main): Simplify startup sequence.
	(host_the_game): Fill in spec of host.
	(launch_game_2): New function.

Fri Sep 17 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>

	* machelp.c (draw_help): Fix crashing bug in draw_unit_image call.

	* run.c (run_local_ai): Add explanatory comments.
	* run2.c (try_transfer_to_cell): Use for_all_occs_with_occs.
	(try_sharing_with_cell): Use for_all_occs_with_occs.
	(run_auto_repair): Also let bases repair units within transports.
	(run_auto_repair): Use for_all_occs_with_occs.
	* ui.c (take_supplies): Use supply of the transport's own transport.

	* tp.c (broadcast_variants_chosen): Add missing prototype.
	(broadcast_players_assigned): Add missing prototype.

Wed Sep 15 19:28:37 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* wconq.c (exit_xconq, launch_game, init_all_displays): Comment
	out more console prints.

	* conq.h, init.c, module.c, tp.c (typesdefined): Remove, never
 	actually used.

	* conq.h (enum setup_stage): New enum.
	(current_stage): New global.

	* imf.c, imf.h (get_img): Remove unused argument.
	* imf.c, ui.c, xcutil.c, ximf.c, maccolors.c, macimf.c, macinit.c,
 	tkimf.c: Fix all callers.

	* init.c, mac.c, mkrivers.c, mkroads.c, module.c. ps.c, score.c,
 	task.c: Remove PARAMS usages.

	* mac.c, win32.c (tmprid): Remove decl, never used.
	* cconq.c (hosting): Remove decl, never used.

	* tp.c (download_game_module): New function, split out from
	download_to_player.
	(broadcast_game_module): New function.
	(broadcast_variants_chosen, broadcast_players_assigned): New
 	functions.
	(receive_packet): Don't do trial assignments here, interpret
	'a' and 'v' packets.

	* tkconq.tcl (selected_game_title): Init to a default value.
	* tkmain.c (tk_start_new_game): Broadcast game module to other
	programs.
	(tk_launch_game): Broadcast that variants have been chosen.
	(tk_launch_game_2): Broadcast that players have been assigned.
	(last_stage): New global.
	(check_network): Call tcl commands to move dialogs through
	stages of game setup.

	* warn.g: Shorten name of module.

	* play.texi: Remove unhelpful references to GDL symbols, change
	"research" to "development" to match sources.

	* PROJECTS: Reflect above work, remove some mystifying ideas, add
 	a couple more ideas.

Tue Sep 14 19:11:45 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* INSTALL, INSTALL-mac, README-mac: Fix file references.

	* configure.in (CONFIGTARGET): New, chooses Win/Unix build.
	* configure: Regenerate.
	* Makefile.in (all-wconq): New target.
	(all): Base on $(ALLTARGET), which is set by configure.

	* lisp.c (read_form_aux): Warn about bad dice.
	(internal_type_error): New function.
	(car, cdr, cons, setq): Use it instead of warning.

	* tkconq.tcl (popup_help_dialog): Rename from create_help_window,
	add deiconify case, add close button, set default first screen
	to map node.
	(dismiss_help_dialog): New proc.
	* tkmain.c (popup_help): Update proc called.
	(tk_interp_key): Fix handling of prefix argument digits.
	(tk_execute_long_command): Fix typo.
	* tkmap.c (draw_blast): Shorten wait.
	(draw_blast_image): Simplify code slightly.

	* xconq.c (low_run_error): Dump to console also.
	* wconq.c (main, announce_lengthy_process, announce_progress,
	finish_lengthy_process): Comment out console writes.

	* warn.g: Add more constructs that cause warnings.

Thu Sep  9 19:07:36 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* INSTALL-mac, README-mac: Rename from INSTALL.mac, README.mac.
	* README-win: New file, info for Windows players.

	* PROJECTS: Add item about real-time game displays.

Thu Sep  9 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>

	* actions.c (do_build_action): Use A_BUILD_COMPLETED.
	* history.def (A_BUILD_COMPLETED): New action result.
	* mplayer.c (mplayer_adjust_plan): Don't call new ai code.
	(mplayer_adjust_offense): Remove redundant DMprintf calls.
	(mplayer_react_to_action_result): Call new ai code.
	* plan.c (execute_plan): Add comment.
	(plan_passive): Force passive units under ai control to replan.
	* run.c (action_reaction): New function and prototype.
	(need_ai_action_reaction): New constant.
	(move_one_unit_multiple): Save action type before execution.
	(move_one_unit_multiple): Set need_ai_action_reaction.
	(run_local_ai): Call ai_react_to_action_result.
	* utype.def (u_ai_war_garrison): Set default to 1.

Thu Sep  9 07:35:13 1999  Stan Shebs  <shebs@andros.cygnus.com>

	Support chat window interaction and >2 network players on Unix.
	* tp.c (broadcast_message): Remove, move into net_send_message.
	(add_remote_program, send_remote_id, net_send_chat): New functions.
	(send_packet): Also wait if hosting, before rids set up.
	(receive_packet): Add c, p, and r packets.
	(receive_chat, receive_remote_program): New functions.
	* unix.c (public_fd, public_fd_valid, remote_fd, fd_valid): New
 	globals.
	(open_remote_connection, low_send, wait_for, low_receive,
 	close_remote_connection): Rewrite to use them.
	(accept_remote_connection): New function.
	(low_receive): Call it for input from public fd.

	* tkconq.tcl (popup_connect_dialog, etc): Remove.
	(host_game): New proc.
	(popup_pregame_chat): Implement connection functionality at
	top of dialog.
	(add_program): New proc.
	(send_chat_bdg): New proc.
	(insert_chat_string): Rewrite to handle different rids.
	* tkmain.c (tk_try_host_game, tk_send_chat): New functions.
	(check_network): New function.
	(initial_ui_init): Set up to call it.
	(ui_mainloop): Call Tcl_DoOneEvent directly.
	(add_remote_locally, send_chat): New functions.

	* xconq.c: Change function definitions to new style.
	(host_the_game): Call add_remote_locally.
	(try_join_game): Build a default player spec, loop only until
	my_rid is nonzero.

	* skelconq.c, xtconq.c, macconq.c, cconq.c (add_remote_locally,
	send_chat): New functions, dummy versions.

Sun Sep 05 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>
	
	* ai.c (ai_update_plan): Remove function.
	(ai_handle_emergency): Remove function.
	* ai.h (ai_update_plan): Remove prototype.
	(ai_handle_emergency): Remove prototype.
	(a_ai_op): Remove to_update_plan & to_handle_emergency.
	* combat.c (enough_to_garrison): New function.
	(mobile_enemy_threat): New function.
	(defended_by_occupants): Modify & move here from mplayer.c.
	* conq.h (defended_by_occupants): Prototype.
	(enough_to_garrison): Prototype.
	(mobile_enemy_threat): Prototype.
	* gif.c (initialvrefnum): Remove declaration.
	(get_gif): Remove initialvrefnum search.
	* mac.c (open_file): Fix failure to open new file bug.
	Look in initialvrefnum if file is not found.
	Always use initialvrefnum for Xconq.DebugOut.
	Always use initialvrefnum for Xconq.Warnings.
	(open_module_library_file): Remove initialvrefnum search.
	(open_module_explicit_file): Remove initialvrefnum search (2 x).
	(open_module_explicit_file): Return NULL on failure.
	(open_library_file): Remove initialvrefnum search.
	* mplayer.c (any_auto_repair): Declare extern.
	(mplayer_ops): Remove mplayer_update_plan.
	(mplayer_ops): Remove mplayer_handle_emergency.
	(defended_by_occupants): Move prototype to conq.h.
	(mplayer_go_after_victim): Move prototype to start of file.
	(mplayer_go_after_captive): Move prototype to start of file.
	(mplayer_fire_at_opportunity): Move prototype to start of file.
	(mplayer_adjust_plan): Move to position after mplayer_decide_plan.
	(mplayer_adjust_plan): Return TRUE for advanced units.
	(mplayer_adjust_plan): Return FALSE if side is NULL.
	(mplayer_adjust_plan): Return TRUE if low on supplies.
	(mplayer_adjust_plan): Return TRUE if low on ammo.
	(mplayer_adjust_plan): Return TRUE if needing repair.
	(mplayer_adjust_plan): Call mplayer_handle_emergency.
	(mplayer_update_plan): Remove function and prototype.
	(mplayer_handle_emergency): Remove function and prototype.
	(mplayer_adjust_defense): New function and prototype.
	(mplayer_adjust_offense): New function and prototype.
	(assign_to_defense): Remove city defense code.
	(assign_to_defend_unit): Set PLAN_DEFENSIVE instead of clearing tasks.
	* nlang.c (goal_desc): Skip <goal sX not needed here (unlike goal_desig). 
	* run.c (run_local_ai): Remove commented out code.
	(auto_pick_new_build_task): Check that enemy city is visible.
	(auto_pick_new_plan): Use defended_by_occupants.
	(auto_pick_new_plan): Change in_play to is_active.
	* tp.c (net_set_occupy_task): New function.
	* utype.def (u_ai_min_defenders): Remove unit property.
	(u_ai_peace_garrison): New unit property. 
	(u_ai_war_garrison): New unit property. 

	* macrow.c (ai_region_at): Add missing prototype.

	* ane.g (u_ai_min_defenders): Remove unit property.
	(u_ai_peace_garrison): Set to 0.
	(u_ai_war_garrison): Set to 2. 
	
	* ChangeLog (Thu Aug 19 19:46:18 1999): Insert space in "doc/*.texi",
	since "/*" messed up CodeWarrior syntax coloring. 


Sun Sep  5 05:26:26 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* mplayer.c: Add some comments to exploration planning.
	(assign_explorer_to_theater): Make random search try harder,
	add an exhaustive search if random points don't work.
	* run.c: Remove PARAMS usages.
	* run2.c: Cosmetic improvements.

Sat Sep  4 06:34:54 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* history.h, kpublic.h, module.h, player.h, print.h, score.h,
	side.h, tp.h, ui.h, world.h: Remove PARAMS usages.
	* move.c (unit_speed): Fix wind effect calculations.
	* side.c (see_cell): Record unit as seen if see-always.
	* ui.c (draw_winds_here): Don't draw winds in unseen areas.

	* tkmap.c (update_at_unit): Use temps for unit x and y.

	* maccmd.c (do_one_occupant): Update arg to update_cell_display.
	* macconq.c (update_unit_acp_display): Ditto.
	* macwins.c (draw_unit_closeup, do_mouse_down_unit_closeup,
	destroy_unit_closeup): Ditto.
	* macmap.c (update_cell_display): Interpret flags argument
	correctly.
	* macwins.c: Remove PARAMS usages.

	* xcloseup.c, xcmd.c, xcutil.c, xcutil.h, xdraw.c, ximf.h, xmap.c,
	xshowimf.c, xtconq.c, xtconq.h, xtmain.c: Remove PARAMS usages,
	eliminate compiler warnings.
	* xtconq.c: Include xtconq.h instead of xconq.h.
	* xtconq.h: Merge in contents of xconq.h.
	* xconq.h: Remove.
	* Makefile.in: Update dependencies.
	(X_H): Change xconq.h to xtconq.h.
	(XT_H): Remove, never used.

	* ccmd.c, cconq.c, cconq.h, cdraw.c: Remove PARAMS usages,
	eliminate compiler warnings.	

Tue Aug 31 17:25:25 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl: Test env(USER) existence before using.

	* wconq.c: Make more function types match the decls.

Mon Aug 30 09:41:01 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* INSTALL: Add a bit more info about the tcl/tk requirement.

	* ai.c (give_up): Only look at ai_may_design if side has display.
	* util.c: Remove PARAMS usages.
	(log_warning): Check file pointer before using.

	* bitmaps/delay.b, bitmaps/sleep.b: New bitmaps.
	* tkconq.tcl: Consolidate debug output under a single test,
	add font family preference.
	(find_image_filename): New proc.
	(add_splash_screen_dialog_items): Use it.
	(fill_in_button_box): Add sleep, reserve, and delay buttons, add
	spacing between groups.
	(update_action_controls_info): Disable buttons if not current unit.
	(add_fonts_prefs_items): Add font family popup.
	(set_font_family_newpref): New proc.
	(ok_preferences): Move text size adjustments here from
	set_pref_value.
	(popup_design_palette): Make design palette a new window instead
	of additional map window frames, arrange buttons in grid.
	(make_terrain_paint_frame, etc): Make labels more descriptive.
	(make_winds_paint_frame): Add direction and force menus.
	(new_feature): Add newly-created feature to selection menu.
	(rename_feature): Fix rename_done handling.
	* tkinit.c (init_bitmaps): Create new bitmaps, create designer
	palette bitmaps from painting cursors.
	* tkmain.c (default_font_family): New global.
	(tk_save_prefs, ui_update_state, interp_unix_ui_data): Save
	and restore font family preference.
	(initial_ui_init): Be more informative about startup failures.
	(tk_library_paths, tk_set_feature_name): New tcl commands.
	(tk_set_design_data): Set wind painting data.
	* tkmap.c (draw_winds_row): Draw winds accurately if designing.
	(handle_designer_mouse_down, paint_on_drag): Handle wind painting.

	* PROJECTS: Reflect update of readme/install docs.

	* lib-x11: Remove.
	* INSTALL, Local.config, x11/Imakefile: Whack more vestiges.

Sat Aug 28 07:12:09 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* configure.in: Add --enable-build-warnings to control extra
	warnings, choose which subdirs to configure based on Unix vs
	Windows.
	* configure: Regenerate.
	* Makefile.in: Eliminate refs to lib-x11.
	* x11/Makefile.in: Ditto.
	* curses/Makefile.in, kernel/Makefile.in, tcltk/Makefile.in,
 	x11/Makefile.in: Change UNIX_CFLAGS to autoconf-using HFLAGS,
 	remove WARNING_CFLAGS.
	* actions.c, ai.c, ai.h, cmdline.c, cmdline.h, conq.h, generic.c,
 	help.h, imf.c, imf.h, imf2imf.c, lisp.c, lisp.h, misc.h, system.h,
 	imf2x.c, xcutil.h: Remove PARAMS usages.
	* gif.c, help.c, imf.c, imf2imf.c, lisp.c, unix.c, tkmain.c,
 	wimfapp.c, imf2x.c, x2imf.c, xconq.c, xcutil.c: Remove unused
 	variables, add prototypes, etc.
	* run2.c, side.c, macconq.c: Remove decl of update_area_display.
	* skelconq.c: Declare _dialog functions.
	* tkcmd.c: Remove exit_xconq decl.
	* wconq.c (check_player_displays): Remove uses.
	* xconq.c: Include tkconq.h.

	* tkconq.h (IMFLIB): Remove.
	(exit_xconq): Declare.
	* tkimf.c, tkinit.c: Remove imflib uses.
	* xconq.h, xcutil.c: Ditto.
	* ximf.c, xinit.c: Ditto.
	* PROJECTS: Remove lib-x11 item.

	* tkimf.c (tk_make_color_pixmap): Make imdepth a global.

Fri Aug 27 17:10:41 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tcltk/Makefile.in (UNIX_CFLAGS): Use @HFLAGS@.
	* tkimf.c (tk_make_color_pixmap): Add code to use Windows
	images correctly.
	* tkmap.c (draw_unseen_fuzz): Don't do if no clip masks.

	* win32.c (XCONQDATA): Suppress incoming definitions.

	* x11/xcutil.c, x11/xcutil.h: New files, renamed from xutil.c and
 	xutil.h, so as not to confuse Windows builds, believe it or not.
	* Imakefile, Makefile.in, imf2x.c, x2imf.c, xshowimf.c: Change
	all references.

Wed Aug 25 19:07:06 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkimf.c (TkPutImage): Steal decl from tk sources.
	(try_images, test_image, ximbuf, xim): New globals.
	(tk_make_color_pixmap, tk_make_mono_pixmap, tk_make_mask_pixmap):
 	Build pixmap using an XImage if possible.

Mon Aug 23 18:49:17 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* README: Add more descriptive material.
	* INSTALL: Update, move list of subdir to here from README.
	* README.mac: New file, was Mac-only readme not in source tree.
	* INSTALL.mac: New file, consolidation and update of
 	mac/DO_FIRST.mac and mac/README.mac.
	* mac/DO_FIRST.mac, mac/README.mac: Remove.

	* tkconq.tcl: Tweak uses of debug flag.
	(create_map_window): Only use green bg if debugging.
	(fill_in_side_list): Move offscreen lines over further.
	* tkinit.c (init_display): Don't call XSynchronize for normal
	DebugG usage, makes the display very slow.
	* tkmain.c: Add some comments.
	* tkmap.c (eventually_redraw): New function, centralizes all
	map redrawing activity.
	(mapw_event_proc, redraw_map): Call it.
	(mapw_widget_cmd): Pass newly-visible areas to eventually_redraw.
	(update_area, update_at_cell, update_at_unit): rewrite to call
	eventually_redraw and update idletasks.

	* xtconq.c: Omit bogus call to ui_mainloop.

	* PROJECTS: Reflect completed projects, add item about removing
	lib-x11 etc.

Sat Aug 21 04:55:39 1999  Stan Shebs  <shebs@andros.cygnus.com>

	Eliminate still more warnings.
	* cmd.c, help.c, history.c, mknames.c, mkterr.c, mkunits.c,
 	nlang.c, read.c, read2.c, score.c, side.c, supply.c, tp.c, ui.c,
 	unit.c, unit.h, world.c, write.c: Remove PARAMS usages, remove
 	unused variables, add missing function decls, comment out unused
 	functions, etc.
	* obstack.h (obstack_begin): Add parameter types to fn pointer.
	* mknames.c (propose_unit_name): Fix "junky" naming method.
	* read.c (find_unit_spec_by_name, find_unit_spec_by_number):
	Use PARSE_PROPERTY_RETURN instead of PARSE_PROPERTY.
	* score.c (all_sides_draw): Assign result of add_side_to_set.
	* side.c: Include ai.h.

	* tcltk/Makefile.in (WARNING_CFLAGS): New symbol.
	(ALL_CFLAGS): Use it.
	* tkcmd.c, tkconq.h, tkiapp.c, tkimf.c, tkinit.c, tkisamp.c,
 	tkmain.c, tkmap.c: Declare all functions correctly, remove unused
 	variables, return results from non-void functions, etc.
	
	* standard.g: Use "junky" method to name bases again.

Thu Aug 19 19:46:18 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* doc/Makefile.in: Remove unixplay.dvi and macplay.dvi builds,
	add more bits for hacking manual.
	* hacking.texi: Fix name and add @bye.
	* xconq.texi: Remove Mac and Unix conditionals.

	* doc/ *.texi: Remove explicit @node links, tweak section and
 	subsections so autolinking works, simplify copyright years.
	
Thu Aug 19 05:34:43 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* kernel/Makefile.in (WARNING_CFLAGS): New symbol.
	(ALL_CFLAGS): Use it.
	* utype.def (ai-min-defenders): Default to 0.
	* combat.c, move.c, run2.c: Remove PARAMS usages, unused variables,
	add missing function decls.
	* run2.c: Include ai.h.
	* kernel.h: Remove PARAMS.
	* mplayer.c: Add some comments.
	(mplayer_handle_emergency): Flip coin to decide whether to run,
 	reduces buzzing.
	* run.c (run_local_ai): Comment out plan update and emergency
	handling code, need to refigure how to do.
	(run_game): Add execute_plan result to planexecs.
	* plan.c (execute_plan): Return number of plan executions.
	* task.c: Tweak comments.

Tue Aug 17 05:07:05 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* images/animals32.gif: New file, pictures of animals.
	* animals.imf (animal-skeleton, carcass): New images.
	(elephant): Replace previous 32x32 image.
	(giraffe, zebra): Add 32x32 images.
	* ancient.g (carcass): Use carcass instead of ruins for image.
	* emblems.imf (german-cross): Make image more accurate.

	* mplayer.c: Don't include kernel.h, add decls for all static
	functions.
	(theater_at): Cast an array index.
	(mplayer_guide_explorer, etc): Comment out, never used.
	(mplayer_update_plan): Use network functions only.
	(mplayer_go_after_victim, mplayer_go_after_captive,
	mplayer_fire_at_opportunity): New functions, network versions
	of code in plan.c.
	(mplayer_handle_emergency): Use them.
	* tp.c (net_set_capture_task): New function.

	Eliminate more compiler warnings.
	* unit.h (ActionDefn dofn, checkfn): Remove fields.
	* actions.c (execute_action): Dispatch on action type directly,
 	instead of using checkfn and dofn fields.
	* actions.c, init.c, task.c: Remove unused vars.
	* game.h, skelconq.c, unit.h: Convert to pure standard C
	* kernel.h: Move decls of attack_can_damage_or_capture, etc.
	* misc.h: Remove decl of getenv.
	* obstack.h, obstack.c: Prototype fn argument of obstack_begin.
	* plan.c: Make static vars extern.
	(find_closest_unit): Prototype fn argument.
	
Mon Aug 16 19:12:23 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* win32.c (make_pathname, stop_handler, crash_handler): Fix
	argument lists.

	* tkconq.tcl: Remove initial text font setup, do only after
	windows created.
	(popup_hosting, popup_pregame_chat): New procs, chat window
	for players joining a game.
	* tkmain.c (tk_set_remote_for_player): Remove unneeded hostname.
	* tkcmd.c (do_build, aux_build): Ask where to build if the
	constructing unit can move or build at a distance.
 	(aux_build_2): New function.
	(impl_build): Add a location, generate a move task if needed.

	* PROJECTS: Reflect completion of above project.

Thu Aug 12 19:42:13 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl: Initialize imagery and font prefs correctly.
	(popup_preferences_dialog): Remove unused font size.

	* macmenus.c: Include ai.h.

Wed Aug 11 19:58:01 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* run.c: Remove some unused decls, pass only one arg to
 	execute_plan.
	(move_some_units): Compute result as sum, not max.
	(run_local_ai): Move AI calls here from execute_plan.
	* plan.c (execute_plan, plan_passive): Remove second arg.
	(execute_plan): Remove AI calls, can't do from inside kernel.
	(self_build_base_for_self): Tweak paren grouping.
	(plan_colonizer_support): Comment out, not used.
	* kernel.h (execute_plan): Update decl.
	
	* nlang.c (plan_desc): Mention if unit waiting for transport.

	* system.h (preferences_filename): Declare.

	* misc.h (record_activity_start, etc): Declare.
	* util.c (starting_trace): New global.
	(record_activity_start): Use it.
	(dump_activity_trace): Report gaps.

	* conq.h: Don't include ai.h.
	* ai.c, init.c, mplayer.c, run.c, ui.c: Include ai.h explicitly.
	* ai.c (defensive_worth, siege_worth): Remove unused vars.
	* init.c (check_game_validity): Ditto.

	* tkmain.c (tk_run_game_idle): Record activity.

	* x11/Makefile.in (X11_LIB): Add -lXext.

Tue Aug 10 03:54:24 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* aclocal.m4: New file, custom autoconf macros.
	* configure.in: Call autoconf macros to find tcl/tk libraries,
	add substs for host-specific flags and kernel files.
	* configure: Regenerate.
	* kernel/Makefile.in (HOBJS): New var, list of host-specific
	files, use instead of unix.o.
	* kernel/win32.c: New file, Windows-specific kernel functions.
	* x11/Makefile.in (TCLTK_LIB): Build from autoconf vars.
	(xconq): Link in -lm -ldl explicitly for now.

	Add a timeline collection and display mechanism.
	* util.c (TimelineBlock): New structure, storage for collected
	timeline info.
	(record_activity_start, record_activity_end, dump_activity_trace):
	New functions.
	* run.c (run_game, run_local_ai): Record start/end times.
	* tkcmd.c (do_trace): Toggle activity tracing.

	* tkconq.tcl (create_top_bottom_panes, etc): New procs to make
	panes with adjustable horizontal divide.
	(create_map_window): Use it to control notice window size, make
 	notices text ask for maximum space.
	(fill_in_button_box): New proc, split out from create_map_window.
	* tkconq.h (enum grayshade): Add light gray.
	* tkinit.c (init_bitmaps): Set it up.
	* tkmain.c (tk_run_game_idle): Prefer to scroll to nearest unit.
	* tkmap.c (GRAY): New macro, use everywhere with overlay values.
	(cell_drawing_info): Use 25% darkening for night/day, make
	design mode override completely.
	(draw_current): Fix use of colors.

	* gettysburg.g: Use cliffs image for ravine.
	* ww2-div-eur.g (beach): New border terrain type.
	* terrain.imf (beach): New border image.
	* images/beach44x48.gif: New file, beach border image.

	* xconq.texi: Update info about platforms.
	* hacking.texi: Add info about general goals of Xconq.
	* PROJECTS: Add more detail to illumination idea, remove
	multi-query idea, add a number of new ideas.

Sat Aug  7 05:27:34 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* ui.h (VP center, offsetx, offsety): Remove fields, not useful.
	* ui.c (xform_cell, nearest_cell, etc): Remove references.

	* tkmap.c (config_specs): Add -font.
	(mapw_configure): Comment out wired-in font.
	* tkconq.tcl (create_map_window): Use -font with map, pack with
	-expand true so small-mag map appears in center of frame, add
	tag "textual" to all text items in unitinfo pane, use tag to
	set common attributes.
	(set_map_view_option): Use view_option_flags to eliminate arg.
	(create_map_menus): Change calls appropriately, create a meridian
	interval submenu.
	(set_pref_value): Adjust font of all unitinfo items and map.
	* tkmain.c (draw_unit_info): Change text color for badly damaged
	units.
	(update_turn_display): Update cell display and unit info.
	(update_action_display): Ditto.

	From Hans Ronne:
	* ui.c (hws, hhs): Draw real hexes at power == 3.
	(bwid, cwid): Widen at power 3.
	(bsx, bsy, lsx, lsy): Adjust values to match.
	* macrow.c (draw_region): Say to use polygons at power 3.
	(draw_shorelines): Adjust positioning to match.
	* tkmap.c (cell_drawing_info): Use pics or polygons at power 3.
	* xinit.c (terrstyles): Similarly.
	
Wed Aug  4 18:49:43 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* flattop.g: Add some help info, rename "torps" to "torp",
	make PBYs harder for ships to catch, don't let torpedo bombers
	hit bases, start all carriers with full loads.
	* gazala.g: Don't let towns be captured if a combat unit is
	present.

	* PROJECTS: Reflect recently-completed projects, eliminate some
 	feeble ideas.

	* macimf.c (mac_interp_image_1): Don't complain about inability
	to handle 88x96 images.

	* terrain.imf (river): Restore 88x96 image.
	(hill): Add solid color.

	* tkconq.tcl (view_option_flags): New global array.
	(create_map_window): Pass image/pattern/transition prefs to
	main map widget.
	(create_map_menus): Remove terrain view style submenu.
	(zoom_in_out): New proc.
	(update_zoom): Merge into zoom_in_out.
	(init_newprefs): New proc, common pref setup in
	popup_preferences_dialog.
	(add_imagery_prefs_items, remove_imagery_prefs_items): New procs,
	implementation of imagery preferences topic.
	(select_prefs_topic): Add selection for imagery prefs.
	(ok_preferences): Save imagery prefs, make prefs apply to the
	existing map immediately.
	* tkcmd.c (do_map): Remove ai, lines, polygons, timages,
 	tpatterns, and transitions subcommands.
	(do_zoom_in, do_zoom_in): Call tcl version of zoom_in_out.
	* tkmain.c (create_map): Don't fill in image/pattern usage here.
	(zoom_in_out): Remove, no longer needed.
	* tkmap.c (MapW draw_terrain_images, etc): Regularize fields.
	(config_specs): Add options -lines, -polygons, -terrainimages,
	-terrainpatterns, -transitions for terrain display style.
	(mapw_configure): Center on the focus.
	(set_terrain_gc_for_image, etc): Use mapw fields for style.
	(toggle_mapw_polygons, toggle_mapw_lines, toggle_mapw_transitions,
	mapw_transitions): Remove, no longer needed.

Wed Aug  4 04:52:35 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imf.c: Include module.h and system.h.

Tue Aug  3 19:32:03 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* configure.in: Fix test of x_includes, generate images/Makefile
	but not mac/Makefile.
	* configure: Regenerate with autoconf 2.13.
	* Makefile.in (SUBDIRS): Don't recurse into mac dir, do recurse
	into images dir.
	(install-only): Don't install splash image here.
	(install-images): New action.
	(install-xconq): Install images also.
	* images/Makefile.in: New file.

Mon Aug  2 19:38:53 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imf.c (get_generic_images): Move to here from ui.c, remove
	unused side argument.
	* imf.h (get_generic_images): Declare.
	* ui.c, maccolors.c, tkinit.c: Change all callers.

	* tkconq.tcl (create_map_window): Shorten the unit info by 1 line,
	add an image sample for the current unit.
	(update_unit_picture): New proc.
	(popup_game_over_dialog): New proc.
	* tkcmd.c (do_resign): Make the query match the Mac version.
	* tkiapp.c (hack_find_imf): Remove.
	* tkimf.c (tkimages, numtkimages): New globals.
	(tk_load_imf, tk_interp_imf): No longer clone the family, record
 	the family as having had a hook added.
	(tk_find_imf): New function.
	* tkimf.h (tk_find_imf): Declare.
	* tkisamp.c (imfsample_replace_emblem): New function.
	(imfsample_cmd): Call it.
	* tkmain.c (draw_unit_info): Update unit picture.
	(update_turn_display): Popup game-over dialog if game is over.
	(hack_find_imf): Remove.

Sun Aug 01 12:00:00 1999  Hans Ronne  <ronne@bmc.uu.se>

	* maccmd.c (do_copying): Call show_help_window instead.
	(do_help): Call show_help_window instead.
	(do_warranty): Call show_help_window instead.
	(do_other): Call show_command_window instead.
	(enable_command): Rename to show_command_window.
	(show_command_window): Call create_command_window instead.
	(show_command_window): Call ActivateWindow.
	(create_command_dialog): Rename to create_command_window.
	(enable_construction): Rename to show_construction_window.
	(show_construction_window): Call ActivateWindow.
	(unit_do_build_2): Call show_construction_window instead.
		
	* macconq.h (show_game_window): New prototype.
	(notice_dialog): Rename to show_notice_window. 
	(scores_dialog): Rename to show_scores_window. 
	(instructions_dialog): Rename to show_instructions_window. 
	(help_dialog): Rename to show_help_window. 
	(show_history_window): New prototype.
	(show_design_window): New prototype.
	(enable_command): Rename to show_command_window.
	(enable_construction): Rename to show_construction_window.
	
	* macdesign.c (enable_designing): Call show_design_window.
	(show_design_window): New function.

	* machelp.c (instructions_dialog): Rename to show_instructions_window. 
	(show_instructions_window): Call ActivateWindow.
	(do_mouse_down_instructions): Call show_help_window instead. 
	(help_dialog): Rename to show_help_window.
	(show_help_window): Call ActivateWindow.
	
	* macinit.c (init_display): Call show_game_window instead.
	(init_display): Call show_notice_window instead.
	(init_display): Call show_instructions_window instead.

	* macmenus.c (do_menu_command): Call show_game_window instead. 
	(do_menu_command): Call show_notice_window instead.
	(do_menu_command): Call show_scores_window instead.
	(do_menu_command): Call show_history_window instead.
	(do_menu_command): Call show_instructions_window instead.
	(do_menu_command): Call show_help_window instead.
	(do_menu_command): Call show_command_window instead.
	(do_menu_command): Call show_construction_window instead.

	* macwins.c (show_game_window): New function.
	(create_game_window): Remove SelectTheWindow call.
	(create_construction_window): Remove SelectTheWindow call.
	(notice_dialog): Rename to show_notice_window. 
	(show_notice_window): Call ActivateWindow.
	(create_notice_window): Remove SelectTheWindow call.
	(scores_dialog): Rename to show_scores_window. 
	(show_scores_window): Call ActivateWindow.
	(show_history_window): New function.
	(create_history_window): Remove SelectTheWindow call.
	
	* side.c (find_agreement): Prototype.

	* terrain.imf (sea.gif): Change size to 32 x 32 to fix mac tiling.
	(river88x96.gif): Comment out since it causes problems on the mac.
	
	* sea.gif: Crop to 32 x32 size. Blur edges to improve tile display.

Thu Jul 29 19:07:14 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl (whelp): New proc, records help string for a widget.
	Use it everywhere.
	(create_map_window): Remove redundant survey button.
	(create_map_menus): Add postcommand proc to the find menu, make
	Selected/Current Unit item work.
	(adjust_find_menu): New proc.
	(update_widget_help): New proc.
	(make_normal_bindings): Bind it to all map entry events.
	* tkmain.c (update_mouseover): Record lastrawx,y here instead
	of tk_mouse_over_cmd, also only call back into tcl if mouse
	actually in map widget.
	* tkmap.c (MapW cursor): New field.
	(config_specs): Add -cursor.
	(handle_mouse_down): Comment out a move_look.

	* mac/Makefile.in: Remove, serves no real purpose.

Wed Jul 28 05:28:41 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* read.c (CHECK_INDEX_1, CHECK_INDEX_2): Provide more info in
	error message.

	* tkconq.tcl (view_option_list): Rename from view_options, add
	all the view options.
	(view_option_names): New global array, fill in.
	(create_map_window): Supply view option prefs to map widget.
	(create_map_menus): Set view option menu items to get values
	from global arrays, and to implement changes by calling
	set_map_view_option.
	(set_map_view_option): New proc.
	(popup_meridian_interval_dialog): New proc.
	(add_map_prefs_items): Build from view_option_list.
	(add_view_preference_checkbox): New proc.
	(set_font_size_newpref): Rename from set_font_size_pref, use
	only to change sample text in dialog.
	(select_prefs_topic): Fix frame switching.
	* tkmain.c (tk_save_prefs, ui_update_state, interp_unix_ui_data):
	Add rest of view option prefs.
	* tkmap.c (MapW draw_grid, etc): Add copies of viewport view
	option fields.
	(config_specs): Add config specs for all view options.
	(mapw_cmd): Remove unneeded settings of viewport.
	(mapw_configure): Set viewport parameters from widget fields.
	* tkcmd.c (do_map): Remove view-option-setting subcommands.

Sun Jul 25 20:10:48 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imfapp.c: Add includes to enable building with CW.
	(xconq_libs): Define.

Sun Jul 25 12:00:00 1999 Hans Ronne  <ronne@bmc.uu.se>

	* gif.c (make_pathname): Prototype extern.
	(get_gif_from_file): Prototype static.
	
	* imf.h (make_image_from_file_image): Prototype.
	(load_file_image): Prototype.
	(copy_from_file_image): Prototype.
	(make_raw_mono_data): Prototype.
	(get_file_image): Prototype.
	(get_gif): Prototype.

	* mplayer.c: Include kernel.h (temporary prototype fix).
	(mplayer_update_plan): Remove 8-bit chars in comments.

	* macgworld.c (auto_scroll_left): Fix type cast in GetKeys.
	(auto_scroll_right): Fix type cast in GetKeys.
	(auto_scroll_up): Fix type cast in GetKeys.
	(auto_scroll_down): Fix type cast in GetKeys.
	(auto_scroll_down_left): Fix type cast in GetKeys.
	(auto_scroll_down_right): Fix type cast in GetKeys.
	(auto_scroll_up_left): Fix type cast in GetKeys.
	(auto_scroll_up_right): Fix type cast in GetKeys.
	(auto_scroll_left_arrow): Fix type cast in GetKeys.
	(auto_scroll_right_arrow): Fix type cast in GetKeys.
	(auto_scroll_up_arrow): Fix type cast in GetKeys.
	(auto_scroll_down_arrow): Fix type cast in GetKeys.
	
	* macmenus.c: Clean up and reorganize prototypes etc.
	(do_done_moving_mi): Remove prototype.
	(do_disband_mi): Remove prototype.
	(worldmap_dialog): Move prototype to start of file.
	(find_location_dialog): Move prototype to start of file.
	(find_unit_dialog): Move prototype to start of file.
	(find_something): Move prototype to start of file.
	(query_position_modally): Put after prototypes.
	(set_position_modally): Put after prototypes.
	(do_menu_command): Fix type cast in GetKeys.
	(adjust_menus): Fix type cast in GetKeys.
	
	* ane.g: Remove 8-bit char in corvee.

Sat Jul 24 04:52:49 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl (view_options): New global, list of map view
	options.
	(create_map_window): Set initial map power from preference.
	(map_options): New global array, was map_grid etc.
	(create_map_menus, etc): Use it everywhere.
	(set_options_from_prefs): Fill in map_options from preferences.
	(popup_preferences_dialog): Handle more preferences.
	(add_map_prefs_items): Add more checkboxes.
	(remove_map_prefs_items): New proc.
	(add_fonts_prefs_items, remove_fonts_prefs_items,
	set_font_size_pref): New procs, setting for font size preference.
	(set_pref_value): Add immediate update for font size setting.
	(select_prefs_topic): Allow switching between sets of options.
	(ok_preferences): Call set_pref_value for everything here.
	* tkmain.c (default_draw_terrain_images,
	default_draw_terrain_patterns, default_font_size): New globals.
	(tk_save_prefs): Change to handle prefs array.
	(get_preferences, interp_unix_ui_data): Handle more preferences.
	(create_map): Init map->terrain_images and terrain_patterns from
	preferences.
	* tkmap.c (mapw_cmd): Init more view options from prefs.
	* tkinit.c (init_display): Define arguments as void.
	(init_other_images): Don't collect transitions if no clip masks.
	
	* macimf.c (mac_copy_bytes): Change jump arg to macrowbytes,
	fix calculation, change all callers.

Wed Jul 21 20:00:00 1999 Hans Ronne  <ronne@bmc.uu.se>

	* macconq.c (delay): New static int for use in autoscrolling code.
	(adjust_cursor): Don't do cursor adjustment outside visRgn.
	(adjust_cursor): Add autoscrolling code.

	* macconq.h (leftcursor): Declare.	
	(rightcursor): Declare.
	(downcursor): Declare.
	(upcursor): Declare.

	* macdefs.h (cLeft): Define to 401.
	(cRight): Define to 402.
	(cDown): Define to 403.
	(cUp): Define to 404.
	
	* macinit.c (leftcursor): Initialize.
	(rightcursor): Initialize.
	(downcursor): Initialize.
	(upcursor): Initialize.
	(init_cursors): Load autoscrolling cursors.
	
	* XconqProj.rsrc (CURS 401 "Left"): New cursor.
	(CURS 402 "Right"): New cursor.
	(CURS 403 "Down"): New cursor.
	(CURS 404 "Up"): New cursor.	

	* Xconq.r: Update from XconqProj.rsrc.	

Mon Jul 19 19:10:33 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* kernel/Makefile.dos: Remove, no longer used.

	* config.guess, config.sub: Update to current Cygnus versions.

	* wconq.c (XSynchronize): Define dummy version.

	* ChangeLog: Split ChangeLog by year (ChangeLog-98, etc).

	* mac.c (open_file): Don't try to be clever if explicitly
	opening in binary mode.

	* macconq.h (draw_hex_region): Add argument.
	* macdraw.c (calc_best_terrain_images): Use full height of cell
	when looking for best image.
	(draw_hex_region): Add argument for image variation, add ability
	to draw terrain images.
	(draw_connection_line_multiple): Add ability to draw connection
	images.
	(draw_terrain_sample): Pass 63 instead of -1 for all-dirs bitmask.
	* macrow.c (draw_terrain_row): Make quasi-random choice of
	terrain cell images to draw.
	
Sun Jul 18 16:15:00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* macgworld.c (scroll_map_window): Rewrite. Fix some bugs.

Sat Jul 17 16:15:00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* misc.h (open_file): Prototype.
	* mac.c (fopen_mac_or_unix): Rename to open_file everywhere.
	* module.c (load_side_config): Change comment to open_file.
	* gif.c (initialvrefnum): Declare.
	(get_gif): Add mac-specifc code for searching sister directory.
	(get_gif): Change fopen to open_file (3 x).
	* help.c (describe_news): Change fopen to open_file.
	* history.c (dump_statistics): Change fopen to open_file.
	* imf.c (load_imf_file): Change fopen to open_file.
	* imf.c (write_imf_dir): Change fopen to open_file.
	* init.c (saved_game): Change fopen to open_file.
	* ps.c (dump_ps_view): Change fopen to open_file.
	* tp.c (init_file_port): Change fopen to open_file (2 x).
	* ui.c (dump_text_view): Change fopen to open_file.
	* unix.c (open_file): New wrapper for fopen on unix side.
	(open_module_library_file): Change fopen to open_file.
	(open_module_explicit_file): Change fopen to open_file.
	(open_library_file): Change fopen to open_file (2 x).
	(open_scorefile_for_reading): Change fopen to open_file.
	(open_scorefile_for_writing): Change fopen to open_file.
	* util.c (update_debugging): Change fopen to open_file.
	(toggle_debugging): Change fopen to open_file.
	(log_warning): Change fopen to open_file.
	* write.c (write_game_module): Change fopen to open_file.

Sat Jul 17 12:15:00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* macmouse.c (do_mouse_down_map_control_panel): Use 15 
	instead of map-> sbarwid when calculating zoombox positions.
	(do_mouse_down_map_content): Don't select ctrl-clicked units.
	* macwins.c (draw_unit_closeup): Don't select closeup unit.
	(destroy_unit_closeup): Don't unselect closeup unit.
	
Fri Jul 16 08:24:00 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* macimf.c (mac_interp_image): Iterate through subimages.
	(mac_interp_image_1): New function, was body of mac_interp_image,
	also add getting from file images.
	(interp_ctab): Pass image instead of palette, handle raw
	palette also.
	(mac_init_cicn): Iterate through subimages.
	(mac_init_cicn_1): New function.
	* macinit.c (init_unit_images, init_terrain_images): Call
	describe_imf if debugging graphics.
	
Thu Jul 15 19:43:07 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imf.c, gif.c: Improve formatting and comments, don't allocate an
 	extra color cell.

	* tkimf.c (tk_interp_image_1): Rearrange processing so that
	raw and file data gets handled first, then take two separate
	paths for clipmask and non-clipmask cases.
	(tk_make_color_pixmap): Add a warning.
	* tkinit.c (init_display): Do XSynchronize when debugging.
	* tkmap.c (draw_terrain_transitions): Only draw shadow on
	south and east sides of cell.

Wed Jul 14 19:57:00 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imf.c (interp_image): Allocate space for subimages here...
	* tkimf.c (tk_interp_image): ...instead of here.
	
	* tkconq.tcl (unix_feature): New global, true if interface
	running on Unix.
	(create_map_menus): Use to adjust enablement of some view items;
	also switch terrain style to image and pattern checkboxes.
	(popup_preferences_dialog, etc): New proc, preference-setting
 	dialog and helpers.

	* hacking.texi: Make into a standalone doc, remove useless node
	links, add some details about graphics.
	* xcdesign.texi: Remove hacking.texi.
	* doc/Makefile.in: Add formatting rules for hacking doc.

Tue Jul 13 20:01:50 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* gif.c (get_gif_from_file): Remove commented-out code.
	* imf.c (make_image_from_file_image): Add subimage argument,
	rewrite to fill in subimage(s) but not create them.
	(write_imf): Write out subimage multiples and file data.
	* unix.c (preferences_filename): New function.

	* tkconq.h (Map terrain_images, terrain_patterns): New slots,
	replace terrain_style.
	(Map unit_style): Delete, no longer used.
	* tkcmd.c (do_map): Rename terrain style options.
	* tkimf.c (tk_interp_image): Add subimage argument, rewrite
	to allocate space for subimages if necessary.
	(tk_interp_image_1): New function, was tk_interp_image, but
	now operates on subimages.
	(tk_make_color_pixmap, etc): Add start/end prints.
	(blacken_masked_area, blacken_mono_masked_area): Fix calculations.
	* tkinit.c (init_ui): Get preferences here.
	* tkmain.c (default_vp): New global, holder for game defaults.
	(tk_save_prefs): New tcl command.
	(ui_update_state, get_preferences, interp_unix_ui_data): New.
	(create_map): Set map->terrain_images.
	* tkmap.c (mapw_cmd): Set view values from defaults.
	(set_terrain_gc_for_image): Simplify, only do if terrain_patterns
	enabled.
	(draw_terrain_row): Handle !use_clip_mask cases better.
	(draw_units): Draw dotdotdot when !use_clip_mask.
	(draw_current): Fix for windows, make only two pixels wide
 	normally.
	(draw_blast_image): Fix for windows.
	(draw_unit_image): Fix mono image handling.
	(draw_side_emblem): Make work for !use_clip_mask.

	* blasts.imf: Add color versions.

Sun Jul 11 12:15:00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* ai.c (ai_handle_emergency): New function.

	* ai.h (a_ai_op): Add to_handle_emergency.
	(ai_handle_emergency): New prototype.
	
	* gvar.def (g_peek_at_enemy): Set to 0 by default.

	* mplayer.c: Remove include of kernel.h.
	(mplayer_handle_emergency): New function and prototype.
	(mplayer_ops): Add mplayer_handle_emergency.
	(mplayer_update_plan): Move part to mplayer_handle_emergency.
	(mplayer_handle_emergency): Just do return instead of execute_task.

	* plan.c (execute_plan): Call ai_handle_emergency before execution.
	(plan_colonize): Change push_build_task to set_build_task.
	(plan_random): Crash fix: never set randmtype to NONMTYPE.

	* ui.c (find_unit_or_occ): Also permit this if side_sees_unit.

Sat Jul 10 18:15:00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* Floating.c: New source file for floating windows support.
	Paste in text from John DeWeese's info-mac README file.
	(ActivateWindow): Rewrite using PPostEvent trap.
	(HideTheWindow): Uncomment ReactToRemoval call.

	* Floating.h: New header file for floating windows support.
	(HideFloats): Uncomment prototype.
	(ShowFloats): Uncomment prototype.

	* macadv.c (city_dialog): Remove copy_from_gworld call.
	(unit_advance_dialog): Remove frontmap & copy_from_gworld call.
	(unit_build_dialog): Remove frontmap & copy_from_gworld call.
	(unit_plan_dialog): Remove frontmap & copy_from_gworld call.
	(global_advance_dialog): Remove frontmap & copy_from_gworld call.
	
	* maccmd.c (front_map): Remove prototype.
	(get_a_position): Use frontmap instead of FrontWindow.
	(get_a_unit): Use frontmap instead of FrontWindow.
	(get_a_visible_unit): Use frontmap instead of FrontWindow.
	(do_build): Change FrontWindow to topWindow for lists.
	(do_build): Change FrontWindow to topFloat for closeups.
	(do_build): Use frontmap instead of FrontWindow for maps.
	(unit_do_build_2): Change FrontWindow to topWindow.
	(enable_construction): Change FrontWindow to topWindow.
	(enable_construction): Call SelectTheWindow instead.
	(do_dir): Change front_map to frontmap.
	(do_dir_multiple): Change front_map to frontmap.
	(do_follow_action): Change front_map to frontmap.
	(do_end_turn): Change FrontWindow to topWindow.
	(do_one_occupant): Change front_map to frontmap.
	(enable_command): Call SelectTheWindow instead.
	(create_command_dialog): Set new WindowPtr to NULL.
	(create_command_dialog): Call SelectTheWindow.
	(do_mouse_down_command): Call TrackControl for Do.
	(do_produce): Change FrontWindow to topWindow for lists.
	(do_produce): Change FrontWindow to topFloat for closeups.
	(do_produce): Use frontmap instead of FrontWindow for maps.
	(do_recenter): Change front_map to frontmap.
	(do_set_view_angle): Change front_map to frontmap.
	(do_survey): Change front_map to frontmap.
	(do_zoom_in): Change front_map to frontmap.
	(do_zoom_out): Change front_map to frontmap.
	
	* maccolors.c (default_draw_scrollbars): Initialize.
	(default_draw_cpanel): Initialize.
	
	* macconq.c (floatsbarwid): Initialize to 10.
	(init_toolbox): Call InitFloats.
	(event_loop): Change FrontWindow to topWindow (3 x).
	(event_loop): Fix crashes when closing playersetupwin.
	(event_loop): Simplify, remove all code for the instructions dialog.
	(adjust_cursor): Use frontmap instead of FrontWindow.
	(adjust_cursor): Use map->conw & map->sbarwid.
	(handle_event):	Change FrontWindow to topWindow || topFloat.
	(handle_event):	Permit direct click action in non-top floats.
	(handle_event): Call SelectTheWindow instead.
	(handle_event): Call DragTheWindow instead.
	(handle_event): Close topFloat on key option + w.
	(handle_event):	Remove check for no front window.
	(handle_event):	Change FrontWindow to topWindow && topWindow (2 x).
	(handle_event):	Change obsolete app4Evt to osEvt.
	(handle_event):	Call ActivateWindow instead in case osEvt.
	(handle_event):	Also deactivate floats in case osEvt.
	(zoom_window): Set bring-to-front to false.
	(close_window): Don't disable design when closing designwin.	
	(close_window): Call HideTheWindow instead of HideWindow at the end.	
	(do_mouse_down): Call do_mouse_down_instructions.
	(activate_window): Call activate_instructions for instructionswin.
	(update_window): Set controls to FALSE if no map scrollbars.
	(update_window): Call draw_instructions for instructionswin.
	(update_window): Call draw_growicon_nolines if no scrollbars.
	(draw_growicon_nolines): New function.
	(maybe_select_next_unit): Use frontmap instead of FrontWindow.
	(stagger_window): Fix infinite loop by moving increment inside.
	(stagger_window): Tweak first window to Apple Platinum frames.
	(set_standard_state): Tweak to fit Apple Platinum frames.
	(force_update): Call set_content_rect before set_map_scrollbars.
	
	* macconq.h: Include Floating.h.
	(a_map): Remove obsolete osx & osy.
	(a_map): Add map->sbarwid.
	(default_draw_scrollbars): Declare extern.
	(default_draw_cpanel): Declare extern.
	(floatsbarwid): Declare extern.
	(draw_growicon_nolines): Prototype.
	(toggle_map_scrollbars): Prototype.
	(toggle_map_cpanel): Prototype.
	(draw_instructions): Prototype.
	(activate_instructions): Prototype.
	(create_instructions_window): Prototype.
	(do_mouse_down_instructions): New prototype.
	(create_instructions_dialog): Remove rototype.
	(hit_instructions_dialog): Remove prototype.
	(position_design_window): Remove prototype.
	
	* macdefs.h (miSideGlobalAdvance): Remove.
	(miSideRename): Change to 15.
	(miWindowsResearch): Define to 6.
	(miWindowsDesign): Define to 8.
	(miWindowsAgreements): Change to 9.
	(miWindowsWorldMap): Change to 10.
	(miWindowsNewMap): Change to 12.
	(miWindowsNewList): Change to 13.
	(miWindowsFirst): Change to 15.
	(miViewScrollBars): Define to 4.
	(miViewControlPanel): Define to 5.
	(miViewOtherMaps): Change from 4 to 6.
	(miViewOffscreen): Change from 19 to 20.
	(miViewMeridians): Change from 20 to 21.
	(miViewWorldMap): Define to 22.
	(diPrefsScrollBars): Define to diPrefsCommon + 28.
	(diPrefsControlPanel): Define to diPrefsCommon + 29.
	(dWorldMap): Define to 809.
	(diWorldMapOK): Define to 1.
	(wFloatFixed): Define to 139.
	(wFloatResize): Define to 140.
	(wInstructions): Define to 140.
	(cCloseButton): Define to 130.

	* macdesign.c (numtoolsused): Initialize.
	(enable_designing): Remove position_design_window call.
	(enable_designing): Call SelectTheWindow instead.
	(disable_designing): Call HideTheWindow instead.
	(create_design_window): Use wFloatFixed instead of wDesign.
	(create_design_window): Set new WindowPtr to NULL.
	(create_design_window): Use SetWTitle instead.
	(create_design_window): Use MoveWindow instead.
	(create_design_window): Adjust size after number of used tools.
	(create_design_window): Call MakeFloat instead of ShowWindow.
	(position_design_window): Remove function.	
	(draw_design_window_tool): Don't draw unused tools.	
	(draw_design_window_tool): Change OffsetRect call accordingly.	
	(do_mouse_down_design): Skip unused tools in computing toolchoice.	
	(feature_rename_dialog): Don't deactivate FrontWindow.
	(designer_save_dialog): Don't deactivate FrontWindow.
	(designer_reshape_dialog): Don't deactivate FrontWindow.
	
	* macgworld.c (scroll_map_window): Handle scrolling behind floats.
	(scroll_map_window): Handle drag due to GrowIcon when no scrollbars.
	(handle_numeric_keypad): Use frontmap instead of front_map.
	(handle_numeric_keypad): Get world map if control key was down.
	(handle_numeric_keypad): Scroll list with arrows, map with keypad.
	(handle_numeric_keypad): Only return if there is no map at all.
	(handle_numeric_keypad): Call magnify_map instead of do_zoom_out.
	(handle_numeric_keypad): Call magnify_map instead of do_zoom_in.
	(set_offscreen_buffers): Call force_map_update instead.
	(set_offscreen_buffers): Set and restore the port.
	(set_meridians):  Call force_map_update instead.
	(set_meridians): Set and restore the port.
		
	* machelp.c (closebutton). New control.
	(openhelpbutton): New control.
	(closewinbutton): New control.
	(draw_instructions_text): Remove function.
	(create_instructions_dialog): Remove function.
	(hit_instructions_dialog): Remove function.
	(instructions_dialog): Rewrite and simplify.
	(create_instructions_window): New function.
	(draw_instructions): New function.
	(activate_instructions): New function.
	(do_mouse_down_instructions): New function.
	(help_dialog): Call SelectTheWindow instead.
	(create_help_window): Set new WindowPtr to NULL.
	(create_help_window): Get closebutton.
	(activate_help): Handle all six buttons.
	(do_mouse_down_help): Call TrackControl for all buttons.
	(do_mouse_down_help): Handle closebutton.
	(zoom_help): Change FrontWindow() to topWindow.
	(zoom_help): Set bring-to-front to false.
	
	* macinit.c (player_setup_dialog): Call SelectTheWindow instead.
	(announce_progress): Call SelectTheWindow instead.
	(finish_lengthy_process): Call SelectTheWindow instead.
	(init_display): Remove SelectWindow call for gamewin.
	(init_display): Remove SelectWindow call for noticewin.
	(init_display): Create worldmap by default.
	
	* maclist.c (create_list): Call SelectTheWindow instead.
	(create_list): Set new WindowPtr to NULL.
	(draw_list_contents): Remove HiliteControl calls.
	(zoom_list): Set bring-to-front to false.
	(adjust_list_decor): Tweak it to fix display bug.
	(scroll_list_using_key): Set the port.
	(activate_list): Clean up. Remove all GrowthIcon code.
	(activate_list): Remove invalidation of scrollbars.
	(activate_list): Remove outcommented HideControl calls.
	
	* macmap.c (xform): Remove obsolete origin shift.
	(xform_fractional): Remove obsolete origin shift.
	(xform_flat): Remove obsolete origin shift.
	(xform_fractional_flat): Remove obsolete origin shift.
	(m_xform_unit): Remove obsolete origin shift.
	(m_xform_unit_self): Remove obsolete origin shift.
	(m_xform_occupant): Remove obsolete origin shift.
	(create_map): Set map->conw & map->sbarwid.
	(create_map): Add wFloatResize template in GetNewWindow calls.
	(create_map): Set new WindowPtr to NULL.
	(create_map): New code to size and position worldmap.
	(create_map): Use frontmap instead of front_map.
	(create_map): Tweak SizeWindow to fit Apple Platinum theme.
	(create_map): Call MakeFloat for worldmapwin.
	(create_map): Call SelectTheWindow for all map windows.
	(create_map): Use SetWTitle for worldmap.
	(create_map): Size scrollbars to 0 if no map->sbarwid.
	(create_map): Call draw_growicon_nolines.
	(create_map): Make the new map frontmap.
	(set_content_rect): Use map->sbarwid.
	(set_map_scrollbars): Remove HiliteControl calls.
	(grow_map): Call draw_growicon_nolines if no scrollbars.
	(zoom_map): Use map->sbarwid. 
	(zoom_map): Remove 1 pixel in set_standard_state call. 
	(zoom_map): Set bring-to-front to false.
	(zoom_map): Call draw_growicon_nolines if no scrollbars.
	(adjust_map_decor): Use map->sbarwid. 
	(activate_map): Clean up. Remove all GrowthIcon code.
	(activate_map): Remove invalidation of scrollbars.
	(activate_map): Remove ShowControl calls.
	(activate_map): Remove HideControl calls.
	(activate_map): Make activated map frontmap.
	(activate_map): Use map->sbarwid. 
	(activate_map): Unhilite controls in all maps below the frontmap.
	(activate_map): Recalculate frontmap on inactivation.
	(front_map): Rewrite. Restrict search to non-floating windows.
	(destroy_map): Call DisposeTheWindow instead.
	(destroy_map): Recalculate frontmap.
	(destroy_map): Hilite scrollbars of new frontmap.
	(draw_top_line): Set the port.
	(draw_selection_animation): Remove obsolete origin shift code.
	
	* macmenus.c (query_position_modally): Use frontmap.
	(set_position_modally): Use frontmap instead of FrontWindow.
	(add_window_menu_item): Remove worldmap test.
	(do_menu_command): Remove position_design_window call.
	(do_menu_command): Remove case miSideGlobalAdvance.
	(do_menu_command): Add case miWindowsResearch.
	(do_menu_command): Add case miWindowsDesign.
	(do_menu_command): Set map to worldmap if option key is down.
	(do_menu_command): Else set map to frontmap.
	(do_menu_command): Change FrontWindow to topWindow (20 x).
	(do_menu_command):  Call SelectTheWindow instead (5 x).
	(do_menu_command): Change size calculation for new worldmap.
	(do_menu_command): Add call to toggle_map_scrollbars.
	(do_menu_command): Add call to toggle_map_cpanel.
	(do_menu_command): Add call to worldmap_dialog.
	(do_print_mi): Change FrontWindow to topWindow (2 x).
	(do_select_all_mi): Change FrontWindow to topWindow (2 x).
	(do_select_all_mi): Use frontmap instead of FrontWindow for maps.
	(do_find_previous_mi): Use frontmap instead of FrontWindow.
	(do_find_next_mi): Use frontmap instead of FrontWindow.
	(do_find_location_mi): Use frontmap instead of FrontWindow.
	(do_find_selected_mi): Chose the list command if it is in the topWindow.
	(do_find_selected_mi): Change FrontWindow to topWindow for lists.
	(do_find_selected_mi): Change FrontWindow to topWindow for construction.
	(do_find_selected_mi): Change FrontWindow to topFloat for closeups.
	(do_find_selected_mi): Use frontmap instead of FrontWindow for maps.
	(worldmap_dialog): New function and prototype.
	(apply_to_all_selected): Change FrontWindow to topWindow for lists.
	(apply_to_all_selected): Change FrontWindow to topFloat for closeups.
	(apply_to_all_selected): Use frontmap instead of FrontWindow for maps.
	(do_city_dialog_mi): Change FrontWindow to topWindow.
	(do_closeup_mi): Change FrontWindow to topWindow for lists.
	(do_closeup_mi): Change FrontWindow to topFloat for closeups.
	(do_closeup_mi): Use frontmap instead of FrontWindow for maps.
	(do_city_dialog_mi): Use frontmap instead of FrontWindow.
	(do_down_command): Use frontmap instead of FrontWindow.
	(moveonclick_mi): Use frontmap instead of FrontWindow.
	(do_up_command): Use frontmap instead of FrontWindow.
	(autoselect_mi): Use frontmap instead of FrontWindow.
	(autoselect_mi): Don't set curunit to NULL.
	(adjust_menus): Change frontmap to map everywhere to avoid confusion.
	(adjust_menus): Change closeupwin to topFloat.
	(adjust_menus): Change frontlist to list everywhere.
	(adjust_menus): Change frontcloseup to closeup everywhere.
	(adjust_menus): Change frontwin to win everywhere.
	(adjust_menus): Make worldmap frontmap if ctrl key was down.
	(adjust_menus): Change FrontWindow to topWindow (2 x).
	(adjust_menus): Add enable/disable miWindowsResearch.
	(adjust_menus): Add enable/disable miWindowsDesign.
	(adjust_menus): Enable/disable miViewWorldMap.
	(adjust_menus): Support enabling/disabling scrollbars.
	(adjust_menus): Support enabling/disabling control panel.
	(adjust_menus): Remove enable/disable miSideGlobalAdvance.
	
	* macmouse.c (global_advance_dialog): Remove prototype.
	(scroll_best_map_to_unit): Call SelectTheWindow.
	(do_mouse_down_map): Use map->conw instead of conwid.
	(do_mouse_down_map_control_panel): Use map->sbarwid.
	(do_mouse_down_map_control_panel): Use map->conw (5 x).
	(set_map_mag): Call force_map_update instead of update_gworld.
	(toggle_map_topline): Remove obsolete tmprect & tmprgn.
	(toggle_map_topline): Set the port correctly to fix drawing bug.
	(toggle_map_topline): Fix display bug by using force_map_update.
	(toggle_map_topunit): Remove obsolete tmprect & tmprgn.
	(toggle_map_topunit):  Set the port correctly to fix drawing bug.
	(toggle_map_scrollbars): New function.
	(toggle_map_scrollbars): New function.
	(toggle_map_cpanel): New function.
	(do_mouse_down_map_content): Refocus by clicking worldmap.
	
	* macprefs.c (interp_mac_ui_data): Read default_draw_cpanel.
	(interp_mac_ui_data): Read default_draw_scrollbars.
	(ui_update_state): Set default_draw_scrollbars.
	(ui_update_state): Set default_draw_cpanel.
	(set_preferences): Get default_draw_scrollbars.
	(set_preferences): Get default_draw_cpanel.
	(add_preferences_topic_items): Set default_draw_scrollbars.
	(add_preferences_topic_items): Set default_draw_cpanel.
	
	* macwins.c (gamewinw): Change to 160.
	(closeupwinwid): Change to 240.
	(create_game_window): Use wFloatFixed instead of wGame.
	(create_game_window): Set new WindowPtr to NULL.
	(create_game_window): Use SetWTitle.
	(create_game_window): Tweak MoveWindow call.
	(create_game_window): Call MakeFloat & SelectTheWindow.
	(draw_game_side): Tweak plot_sicn calls (2 x).
	(create_construction_window): Set new WindowPtr to NULL.
	(create_construction_window): Tweak window position.
	(create_construction_window): Call SelectTheWindow instead.
	(do_mouse_down_construction): Call SelectTheWindow (2 x).
	(zoom_construction): Set bring-to-front to false.
	(create_unit_closeup): Use wFloatFixed instead of wUnitCloseup.
	(create_unit_closeup): Set new WindowPtr to NULL.
	(create_unit_closeup): Position adjacent to the unit.
	(create_unit_closeup): Call MakeFloat & SelectTheWindow instead.
	(draw_unit_closeup): Call HideTheWindow instead.
	(draw_unit_closeup): Tweak plan->goal to fit new goal_desc code.
	(draw_unit_closeup): Remove spaces after Plan: Goal: Task:
	(create_history_window): Set new WindowPtr to NULL.
	(create_history_window): Call SelectTheWindow instead.
	(zoom_history): Set bring-to-front to false.
	(notice_dialog): Call SelectTheWindow instead.
	(create_notice_window): Use wFloatFixed instead of wNotice.
	(create_notice_window): Set new WindowPtr to NULL.
	(create_notice_window): Use SetWTitle instead.
	(create_notice_window): Tweak SizeWindow call.
	(create_notice_window): Call add_window_menu_item.
	(create_notice_window): Use floatsbarwid instead of sbarwid.
	(create_notice_window): Tweak vscrollrect.top.
	(create_notice_window): Tweak MoveWindow call.
	(create_notice_window): Call MakeFloat & SelectTheWindow.
	(grow_notice): Use floatsbarwid instead of sbarwid.
	(grow_notice): Tweak SizeWindow and MoveWindow calls.
	(zoom_notice): Set bring-to-front to false.
	(zoom_notice): Use floatsbarwid instead of sbarwid.
	(zoom_notice): Tweak SizeWindow and MoveWindow calls.
	(scores_dialog): Call SelectTheWindow instead.
	(create_scores_window): Set new WindowPtr to NULL.
	(zoom_scores): Set bring-to-front to false.
	
	* XconqProj.rsrc (CNTL 130 "Close Button"): New control. 
	(DITL 700 "Preferences Items"): Move buttons.
	(DITL 702 "Preferences Map Items"): Add 2 new checkboxes.
	(DITL 809 "World Map"): New dialog item list.
	(DLOG 809 "World Map"): New dialog.
	(MENU 130 "Edit"): Change "Design..." to "Designer Mode".
	(MENU 133 "More"): Remove Cmd-9 for "Rename" item.
	(MENU 134 "Side"): Remove "Science Dialog" item.
	(MENU 134 "Windows"): Add "Research" and "Design" items.
	(MENU 136 "Map View"): Add "World Map" item.
	(MENU 216 "Grids & Boxes Popup"): Add scrollbars & cpanel.
	(WDEF 128 "Infinity Windoid" upgrade from 2.5.1 to 3.0 FAT.
	(WIND 137 "Command"): Set width to 300, height to 55.
	(WIND 139 "Float Fixed"): New window.
	(WIND 140 "Float Resize"): New window.
	(WIND 141 "Instructions"): New window.

	* Xconq.r: Update from XconqProj.rsrc.	
	
Fri Jul  9 16:09:34 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* win/Makefile.in (TKIMF_LIB, TKIAPP_LIB): Define and use.
	(wimfapp): Add build rule.

	* tkconq.tcl (dbg_set_design_data): Refresh the display when the
	current feature changes.
	* tkmap.c (mapw_widget_cmd): Change focus when scrolling.
	(draw_borders): Only do images if a border image type, don't
	use set_terrain_gc_for_image with border images.
	(draw_connections): Similarly.
	(draw_feature_boundary): Remove fid argument, rewrite to draw
	single boundary instead of pair, also draw only if necessary.
	(draw_ai_region): Improve efficiency, fix line width.

	* stdt44x48.gif, terrain.imf: Add another desert image, try a
	different swamp image, roughen the plains images slightly.

	* gif.c (get_gif_from_file): Comment out file image blackening.

	* PROJECTS: Whack some no-longer-interesting ideas, add more
	thoughts about doc and agreements.

Tue Jul  6 19:26:37 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imf.c (interp_image): Remove unimportant warning about palette
	change.
	(make_raw_mono_data): New function.
	(add_shrunken_image, add_magnified_image): Call it.
	(get_file_image): Link the new file image into the list.
	(make_image_from_file_image): Allocate space for one extra color.
	* gif.c (get_gif_from_file): Return a result, also identify a
	black color and paint into transparent areas.
	(get_gif): Use the result from get_gif_from_file.
	(ReadGIF, etc): Return failure codes everywhere.

	* imfapp.tcl: Arrange selected images horizontally.
	(set_bg_color): New proc, set background for all image samples.
	* tkimf.c, tkimf.h (use_clip_mask): New global, determines whether
 	to use clip mask or boolean ops to draw images with masks.
	* tkimf.c (tk_interp_image): Use make_raw_mono_data, also use
 	use_clip_mask to decide about making bitmaps vs pixmaps.
	(make_raw_palette): New function.
	(tk_make_mono_pixmap, tk_make_mask_pixmap, blacken_masked_area,
	blacken_mono_masked_area): New functions.
	* tkisamp.c (draw_one_main_image): New function.
	(imfsample_display): Call it, fix font handling.
	(draw_one_image): Add boolean op drawing option.
	(draw_one_emblem): Delete.
	* tkmain.c (tk_player_remote_status): Handle when player not
	found.
	* tkmap.c: Add !use_clip_mask cases everywhere.

	* wconq.c (main): Set use_clip_mask, set up correct dialog start
	sequence.
	(host_the_game, try_join_game): New functions.
	* wimfapp.c: Make work, remove tcl- and X-specific code.

	* stdt44x48.gif: Add some more variant images, roughen up some
	images, fix ice display by removing white as a transparent color.
	* terrain.imf: Reflect additional variants.

	* PROJECTS: Reflect above work, remove some weird ideas.

Sat Jul  3 18:15:00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* actions.c, ai.c, ai.h, combat.c, conq.h, game.h, goal.def,
 	gvar.def, help.c, init.c, kernel.h, keyword.def, kpublic.h, mac.c,
 	macadv.c, msccmd.c, maccolors.c, macconq.c, macconq.h, macdefs.h,
 	macdraw.c, maclist.c, macmap.c, macmenus.c, macmouse.c,
 	macprefs.c, mavrow.c, macwins.c, mkunits.c, move.c, mplayer.c,
 	plan.c, read.c, run.c, run2.c, side.c, side.h, table.def, task.c,
 	tp.c, ui.c, ui.h, unit.c, unit.h, utype.def, world.c, world.h,
 	write.c: Clean up, remove change markers.

Sat Jun 26 15:31:42 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkmap.c (draw_terrain_row): Fix the quasi-random image selector.

	* images/stdt24x26.gif: New file, terrain images for power 4.
	* stdt44x48.gif: Improve images, add more variations.

	* terrain.imf: Add 24x26 sizes, adjust some solid colors.

Sat Jun 26 11.56.00 1999 Hans Ronne   <ronne@bmc.uu.se>

	* mac.c (fopen_mac_or_unix): New function.
	(open_module_library_file): Call it instead of fopen.
	(open_module_explicit_file): Call it instead of fopen.
	(open_library_file): Call it instead of fopen.
	(open_scorefile_for_reading): Call it instead of fopen. 
	(open_scorefile_for_writing): Call it instead of fopen.
	* module.c (load_side_config): Call open_module instead of fopen.
	* imf.c (interp_image): Add brackets around #ifdef UNIX block.
	* actions.c (check_create_common): Fix unit2 typo in null side
 	test.

Fri Jun 25 18:14:08 1999  Stan Shebs  <shebs@andros.cygnus.com>

	Add support for terrain images.
	* imf.h (Image numsubimages, subx, suby): New slots.
	* imf.c (interp_image): Fill in from "x" property.
	(make_image_from_file_image): Get offsets from filedata, add
	ability to collect multiple images for a normal image, use
	copy_from_file_image for build all types of subimages.
	(copy_from_file_image): New function, extract image/subimage
	data from a file image (tileset).

	* tkimf.c (tk_interp_image): Call for generic subimages.
	* tkmap.c (draw_terrain_row): Draw terrain images.

	* terrain.imf: Add offsets, references to stdt44x48.gif.

	* images/stdt44x48.gif: New file, GIF of standard terrain types.
	* images/sea.gif: New file, GIF with sea pattern.

	* tkmap.c (draw_map_outline): Fix typo.

Thu Jun 24 18:49:05 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* combat.c (do_overrun_action): Fix arg to do_fire_at_action.

	* tkmap.c (MapW last_wsx, etc): New slots.
	(mapw_widget_cmd): Call draw_map_outline.
	(draw_map_outline): Add arg, rewrite to work for incremental
	updates (scrolling) and for redraws.

Thu Jun 24 23:50:00 1999  Hans Ronne  <ronne@bmc.uu.se>

	* ancients.g: Remove, obsolete version of ane.g.

Tue Jun 22 18:50:35 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* cmdline.c (print_instructions): Handle empty mainmodule.
	* tkmain.c (tk_game_info): Handle empty game list.
	* tkconq.tcl (add_new_game_dialog_items): Disable OK button
	if no games found.

	* gif.c (get_gif): Add search in ../images for images.
	(get_gif_from_file): New function, was body of get_gif.
	* imf.c (make_image_from_file_image): Add a warning.
	(load_file_image): Use success/fail result from get_gif.

	* tkcmd.c (do_map): Add argument "ai".
	* tkconq.tcl: Add view menu entry for AI Info.
	* tkinit.c (tranpics): Remove.
	(init_bitmaps): Don't fill in.
	* tkmap.c (draw_ai_region): New function.
	(draw_row): Call it.
	(draw_borders): Handle wrapped drawing correctly.

	* tkiapp.c (ui_init): Rename from tk_init.
	* ximfapp.c (main): Call ui_init, pass command-line args.

	* gazala.g: Add long unit names, set side classes correctly.

	* road44x48.gif: Improve appearance.
	* tran44x48.gif: Add a small bit of 50% shade at 3-way meeting
	corners.

	* PROJECTS: Add item about gazala game, note about fuzz.

Mon Jun 21 20:05:16 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* bitmaps/bord16.b, bord32.b, bord64.b, conn16.b, conn32.b,
	rr16.b, rr32.b, tran16.b, tran32.b: Remove, no longer used.

Thu Jun 17 19:08:54 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* cconq.c, xtconq.c: Add dummy functions to make build again.

	* imf.h (Image istransition): New slot.
	* imf.c (interp_image): Recognize "transition" keyword.
	(make_image_from_file_image): Handle transition images.

	* tkimf.c (tk_interp_image): Handle transitions.
	* tkinit.c (generic_transition): New global.
	(init_other_images): Set it up.
	* tkmap.c (draw_terrain_transitions): Rewrite to use image family
 	with subimages.

	* terrain.imf (transition): New image family.
	* images/tran24x26.gif, tran44x48.gif, tran88x96.gif: New images,
	generic transition terrain masks.

	* tkconq.h (Map scrolled_to_unit): Rename from scrolled_away.
	* tkmain.c (tk_run_game_idle): Limit srolling to curunit.
	(set_current_unit, action_point): Set scrolled_to_unit.
	(update_action_result_display): Clear scrolled_to_unit.
	* tkmap.c (handle_world_mouse_down): Remove scrolled_away set.

	* river44x48.gif: Improve appearance.

	* ane.g: New game, ancient Near East from Hans Ronne.

	* kernel/dos.c, kernel/vms.h, kernel/vms.c, kernel/kerncmp.com,
 	kernel/xcmp.com, kernel/xlink.com: Remove, no longer useful.

Mon Jun 14 18:29:56 1999  Stan Shebs  <shebs@andros.cygnus.com>

	Add support for reading images from GIFs directly, plus ability
	to collect multiple images from a single "file image".
	* kernel/gif.c: New file, GIF reader lifted from NetPBM.
	* kernel/Makefile.in: Compile it.
	* keyword.def (file): New keyword.
	* imf.h (Image filedata, file_image, subimages): New slots.
	(FileImage): New structure.
	* imf.c (K_FILE_): New enum.
	(file_images): New global.
	(get_img): Replace dummy style arg with subimage arg.
	(get_subimg): New function.
	(interp_image): Recognize connection and border images, and
	images whose data is in a file.
	(make_image_from_file_image): New function.
	(add_shrunken_image, add_magnified_image): Call it.
	(best_image): Rewrite to handle images that are mixes of
	regular images and tiles.
	(get_file_image, load_file_image): New functions.
	* ui.c (halfsides): New global array.

	* tkimf.c (tk_interp_image): Add subimg arg, change callers,
	call make_image_from_file_image and self recursively.
	* tkinit.c (bordpics, connpics, rrpics): Remove, no longer needed.
	* tkmap.c (set_terrain_gc_for_image): Only do for tiles.
	(draw_unseen_fuzz): Use halfsides array.
	(draw_borders, draw_connections): Rewrite to use subimages.

	* system.h (default_images_pathname): Declare.
	* init.c (init_library_path): Add search for image library.
	* mac.c (XCONQIMAGES): New define.
	(default_library_pathname): Rename from default_library_filename.
	(default_images_pathname): New function.
	* unix.c: Similarly.
	* ui.c (get_generic_images): Iterate over all library paths.

	* ui.c (calc_view_misc): Restore hexagon_adjust addition.

	* images/cliff44x48.gif, dirt24x26.gif, dirt44x48.gif,
 	river24x26.gif, river44x48.gif, river88x96.gif, riverc24x26.gif,
	riverc44x48.gif, road24x26.gif, road44x48.gif, rr24x26.gif,
	rr44x48.gif: New images, border and connection terrain.

	* terrain.imf (river, road, etc): Add forms to use new gifs.
	* africa.g, gazala.g, gettysburg.g, panzer.g, ww2-adv.g,
	ww2-bn.g, ww2-div-eur.g: Adjust terrain images to use these.

	* PROJECTS: Remove items for above project.

Mon Jun  7 19:47:46 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* earth-50km.g, t-e50-river.g: Improve terrain and rivers in
	Brazil, Alaska, and Siberia.

	* PROJECTS: Reflect above project, tweak other ideas.

Fri Jun  4 17:16:58 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* skelconq.c: Update to reflect recent kernel changes.

	* cmd.c (find_agreement): Declare.
	* cmd.c, ui.h (DEF_CMD): Remove unused argtype argument.
	* cmd.def: Update all command definitions.

	* macmap.c (m_nearest_unit): Fix call to nearest_unit.

Wed Jun  2 19:23:14 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* classic.g: Use silhouettes for all unit images.
	* galaxy.g, galaxy2.g: Make variants say "Galaxy Seen".
	* gazala.g: Improve terrain appearance.
	* nat-names.g, ng-african.g, ng-american.g, ng-asian.g,
	ng-european.g: Add more side-specific place names.
	* space.g: Improve naming, add doctrine.
	* ng-features.g: New file, naming for geographic features.
	* standard.g: Use it.

	* ai.c: Reformat to standard.
	(offensive_worth, defensive_worth): Handle zero case.
	* combat.c: Reformat to standard.
	* mplayer.c (mplayer_update_plan): Reformat to standard,
	add more tests for null pointers.
	(defended_by_occupants): Similarly.
	* run.c (run_construction): Check before dereferencing null
	pointers, reformat to standard.

Tue Jun  1 18:41:59 1999  Hans Ronne  <ronne@bmc.uu.se>

	* combat.c, conq.h, game.h, help.c, init.c, keyword.def,
 	mkunits.c, move.c, mplayer.c, plan.def, read.c, run.c, run2.c,
 	score.c, side.h, supply.c, table.def, ui.c, unit.c, unit.h,
 	utype.def, world.c, world.h, write.c, maccmd.c, maccolors.c,
 	macconq.h, macdefs.h, macdraw.c, macinit.c. maclist.c, macmap.c,
 	macmenus.c, macmouse.c, macprefs.c, macrow.c. macwins.c: Remove
 	old change markers.

	* actions.c (transfer_supply): Disable use of indepside treasury.
	(do_create_in_action): Make separate call to has_advance_to_build.
	(do_create_in_action): Use the builders stash of cps if allowed.
	(do_create_in_action): Fix null side treasury crashes.
	(check_create_common): Make separate call to has_advance_to_build.
	(check_create_common): Fix null side treasury crashes.
	(set_created_unit_props): Turn on automation for indeps & AI
 	controlled sides.
	(do_create_at_action): Make separate call to has_advance_to_build.
	(do_create_at_action): Use the builders stash of cps if allowed.
	(do_create_at_action): Fix null side treasury crashes.
	(make_unit_complete): Fix null actionvector crashes at turn zero.
	(do_transfer_part_action): Make separate call to
 	has_advance_to_build.
	(check_change_type_action): Add separate call to
 	has_advance_to_build.
		
	* ai.c (numaitypes): Move to config.h to make it globally
 	accessible.
	(set_side_ai): Turn on automation for indeps & AI controlled
 	sides.
	(ai_update_plan): New function.
	(goal_truth): Handle GOAL_UNIT_OCCUPIED and GOAL_COLONIZE.
	(ai_init_shared): Call set_u_is_ground_mobile etc.
	(ai_init_shared): Set u_colonizer.
	(ai_init_shared): Call set_u_offensive_worth etc.
	(ai_init_shared): Set u_naval_mobile, u_ground_mobile and
 	u_facility.
	(offensive_worth): New function.
	(defensive_worth): New function.
	(exploring_worth): New function.
	(colonizing_worth): New function.
	(facility_worth): New function.
	(siege_worth): New function.
	(random_worth): New function.
	(set_u_offensive_worth): New function.
	(set_u_defensive_worth): New function.
	(set_u_explorer_worth): New function.
	(set_u_colonizer_worth): New function.
	(set_u_facility_worth): New unction.
	(set_u_random_worth): New function.
	(set_u_siege_worth): New function.
	(set_u_is_ground_mobile): New function.
	(set_u_is_naval_mobile): New function.
	(set_u_is_air_mobile): New function.
	(set_u_is_advanced): New function.
	(set_u_is_colonizer): New function.
	(set_u_is_facility): New function.

	* ai.h (a_ai_op): Add (*to_update_plan).
	(ai_update_plan): Prototype new function.
	(offensive_worth, defensive_worth, etc): New prototype.

	* combat.c (do_overrun_action): Make ovverun after fire possible.
	(check_overrun_action): Make overrun after fire & into empty cell
 	possible.
	(do_fire_at_action): Use SideMask code to handle fire display.
	(do_fire_at_action): Permit attempt to capture after fire from
 	adjacent cell.
	(do_fire_into_action): Use SideMask code to handle fire display.
	(maybe_hit_unit): Support uu_cellwide_protection_against.
	(maybe_hit_unit): Support uu_cellwide_protection_for.
	(maybe_hit_unit): Use SideMask code to handle hit display.
	(maybe_hit_unit): Fix occupant recursion bug.
	(attempt_to_capture_unit): Support uu_cellwide_protection_against.
	(attempt_to_capture_unit): Support uu_cellwide_protection_for.
	(detonate_on_cell): Use for_all_stack_with_occs instead of
 	for_all_stack.
	(can_capture_directly): New function.
	(type_can_capture_directly): New function.
	(type_can_carry): New function.
	(occ_can_defend_transport): New function.
	
	* config.h (MAXATYPES): Increase to 254.
	(numaitypes): Move here from ai.c to make it globally accessible.

	* conq.h (advanced_utypes etc): Remove.
	(numadv etc): Remove.
	(can_extract_at): Prototype.
	(can_load_at): Prototype.
	(can_capture_directly): Prototype.
	(type_can_capture_directly): Prototype.
	(type_can_carry): Prototype.
	(occ_can_defend_transport): Prototype.
	(has_advance_to_build): Prototype.
	(unit_actually_visible): New prototype.

	* game.h (for_all_advanced_utypes, etc): Remove.
	
	* goal.def (GOAL_UNIT_OCCUPIED, GOAL_COLONIZE): New goals.

	* gvar.def (g_default_runlength): New name for
 	g_ai_build_runlength.
	(g_disable_standard_economy): New gvar.
	(g_disband_unfinished_units): New gvar.
	(g_salvage_unfinished_cps): New gvar.
	(g_salvage_unfinished_materials): New gvar.
	(g_ai_advanced_unit_separation): New gvar.
	(g_ai_badtask_remove_chance): New gvar.
	(g_ai_badtask_max_retries): New gvar.
	(g_ai_badtask_reserve_chance): New gvar.
	(g_units_may_go_into_reserve): New gvar.
	(g_units_may_go_to_sleep): New gvar.
	
	* help.c (may_detonate): Prototype.
	(describe_utype): Make display of Material Handling conditional.
	(describe_utype): Add "None" option to required advances code.
	(u_property_desc, etc): Add spaces after commas to permit new
 	lines.
	(append_help_phrase): Add more dashes and an extra linefeed.

	* imf.c (interp_image): Disable palette run warning on the Mac. 

	* init.c (advanced_utypes etc): Remove.
	(final_init): Remove call to setup_utype_vectors.
	(setup_utype_vectors): Remove function.

	* kernel.h (go_after_captive): New prototype.
	(attack_can_damage_or_capture): New prototype.
	(fire_can_damage_or_capture): New prototype.
	(real_capture_chance): New prototype.

	* keyword.def (K_AUTOPLAN): New keyword.
	(K_CP_STASH): New keyword.

	* kpublic.h (net_resume_build_task): New extern prototype.

	* mac.c: Include MacTypes.h ifdef NEW_HEADERS, else include
 	Types.h.

	* mkunits.c (make_countries): Add separate call to
 	has_advance_to_build.
	(place_unit): Add separate call to has_advance_to_build.

	* move.c (do_move_action): Fix u2->nu2 typo & remove nu2
 	declaration.
	(do_enter_action): Fix u2->nu2 typo & remove nu2 declaration.

	* mplayer.c: Include kernel.h.
	(assign_to_defend_unit): Prototype new function.
	(assign_to_defend_cell): Prototype new function.
	(assign_to_defend_vicinity): Prototype new function.
	(mplayer_update_plan): Prototype new function.
	(defended_by_occupants): Prototype new function.
	(mplayer_ops): Add mplayer_update_plan.
	(update_unit_plans_randomly): Support g_units_may_go_into_reserve.
	(update_unit_plans_randomly): Support g_units_may_go_to_sleep.
	(mplayer_decide_plan): Skip for advanced units.
	(mplayer_decide_plan): Use u_colonizer_worth instead of
 	u_colonizer.
	(mplayer_update_plan): New function.
	(need_this_type_to_build_explorers): Check that we can build the
 	desired type.
	(assign_to_colonize): Rewrite. Use GOAL_COLONIZE and
 	PLAN_COLONIZING.
	(assign_to_improve): Clear task agenda and set NULL goal.
	(type_can_build_attackers): Check that we can build the desired
 	type.
	(type_can_build_colonizers): Add separate call to
 	has_advance_to_build.
	(type_can_build_colonizers): Use u_colonizer_worth instead of
 	u_colonizer.
	(preferred_build_type): Also count enemy occs by using
 	for_all_stack_with_occs.
	(preferred_build_type): Add separate call to has_advance_to_build.
	(preferred_build_type): Use u_colonizer_worth instead of
 	u_colonizer.
	(defended_by_occupants): New function.
	(assign_to_defense): Rewrite. Handle defense of units.
	(assign_to_defend_unit): New function.
	(assign_to_defend_cell): New function.
	(assign_to_defend_vicinity): New function.
	(assign_to_defend_theater): New function.
	(mplayer_adjust_plan): Skip for advanced units.
	(mplayer_adjust_plan): Add PLAN_COLONIZING & PLAN_IMPROVING.
	(mplayer_adjust_plan): Support g_units_may_go_into_reserve.
	(build_base_for_self): Check that we can build the desired type.
	(build_base_for_others): Check that we can build the desired type.
	(build_depot_for_self): Check that we can build the desired type.
	(rethink_plan): Support g_units_may_go_into_reserve.
	
	* plan.c: (execute_plan): Skip for advanced units.
	(execute_plan): Mark obsolete try code.
	(execute_plan): Support g_units_may_go_into_reserve.
	(execute_plan): Call ai_update_plan before execution.
	(plan_offense): Handle GOAL_UNIT_OCCUPIED and GOAL_CELL_OCCUPIED.
	(plan_offense): Support g_units_may_go_into_reserve.
	(plan_offense): Support g_units_may_go_to_sleep.
	(self_build_base_for_self): Check that we can build the desired
 	type.
	(plan_offense_support): Check that we can build the desired type.
	(plan_defense): Handle GOAL_UNIT_OCCUPIED and GOAL_CELL_OCCUPIED.
	(plan_defense): Call go_after_victim also for unit that can fire.
	(plan_defense): Use u_ai_tactical_range.
	(plan_defense): Support g_units_may_go_into_reserve.
	(plan_colonize): Rewrite. Use GOAL_COLONIZE.
	(plan_colonizer_support): Add separate call to
 	has_advance_to_build (2 times).
	(plan_colonizer_support): Use u_colonizer_worth instead of
 	u_colonizer.
 	(plan_improve): Add separate call to has_advance_to_build (2
 	times).
 	(good_cell_to_colonize): Rewrite. Check for presence of other
 	unit.  Check size goal for ALL advanced utypes. Remove check for
 	nearby enemy units.
	(plan_exploration): Support g_units_may_go_into_reserve.
	(plan_exploration): Handle GOAL_UNIT_OCCUPIED and
 	GOAL_CELL_OCCUPIED.
	(plan_exploration): Support g_units_may_go_to_sleep.
	(plan_explorer_support): Check that we can build the desired type.
	(victim_here): Also count with damage by fire and damage to occs.
	(victim_here): Give large size units higher rating.
	(victim_here): Give independent units lower rating.
	(victim_here): Give units that threaten our advanced units higher
 	rating.
	(go_after_captive): New function.
	(target_here): Also count with damage by fire and damage to occs.
	(target_here): Give large size units higher rating.
	(target_here): Give independent units lower rating.
	(target_here): Give units that threaten our advanced units higher
 	rating.
 	(capture_indep_if_nearby): Use u_ai_tactical_range.
 	(capture_useful_if_nearby): Use u_ai_tactical_range.

	* read.c (interp_unit): Restore code where ids start at 1 instead
 	of 0.
	(interp_unit): Add K_CP_STASH & K_AUTOPLAN.

	* run.c (unit_plan_dialog): New extern prototype.
	(net_resume_build_task): New extern prototype.
	(has_advance_to_research): New prototype.
	(select_by_weight): Prototype extern.
	(unit_build_dialog): Change prototype so that it returns int.
	(has_advance_to_build): Remove prototype.
	(create_selected_unit): Remove function and prototype.
	(auto_pick_new_plan): New function and prototype.
	(set_new_build_task): Remove function and prototype.
	(run_advanced_units): Enable run_construction for UNIX again.
	(run_population): Fix indepside crashes.
	(run_construction): Completely rewritten & extensively debugged.
	(auto_pick_new_research): Rewrite so that random task is picked.
	(auto_pick_new_build_task): Rewrite. Call auto_pick_new_plan.
	(auto_pick_new_plan): New function.

	* run2.c (vary_winds): Prototype.
	(update_area_display): Prototype extern.
	(run_turn_start): Check g_disable_standard_economy.

	* side.c (update_area_display): Prototype extern.
	(create_side): Fix toggle AI bug by initializing
 	newside->prefixarg.
	(side_controls_unit): Give debuggers full control.
	(side_sees_unit): Include trusted side, debuggers, g_peek_at_enemy
 	and endofgame.

	* side.h (has_advance): Fix null side crashes.

	* table.def (uu_builder_can_reuse_cp): New table.
	(uu_cellwide_protection_against): New table.
	(uu_cellwide_protection_for): New table.

	* task.c (attack_can_damage_or_capture): Move prototype to
 	kernel.h.
	(do_hit_unit_task): Count with fire and capture at pointblank
 	range.
	(do_hit_unit_task): Fix firing range bug.
	(do_hit_unit_task): Move in to capture if unit is undefended.
	(attack_can_damage_or_capture): Do attack if occ can be damaged.
	(fire_can_damage): Do attack if occ can be damaged.
	(fire_can_damage_or_capture):New function.
	(real_capture_chance): New function.
	(execute_task): Support g_ai_badtask_remove_chance.
	(execute_task): Support g_ai_badtask_max_retries.
	(execute_task): Support g_ai_badtask_reserve_chance.
	(execute_task): Support g_units_may_go_into_reserve.
	(set_build_task): Rewrite. Optionally disband any salvage
 	unfinished unit.
	(push_build_task): Rewrite. Optionally disband any salvage
 	unfinished unit.
	(set_occupy_task): New function.
	
	* tp.c (net_resume_build_task): New function (prototyped in
 	kpublic.h).

	* ui.c: Include MacTypes.h ifdef NEW_HEADERS, else include
 	Types.h.
	(xform_cell): Move core calculations to new function
 	xform_cell_flat.
	(xform_cell_flat): New function.
	(xform_cell_fractional_flat): New function.
	(favored_type): Check that we can build the desired type.

	* ui.h (xform_cell_flat, xform_cell_fractional_flat): New
 	prototypes.

	* unit.c (default_size): Change from 0 to 1.
	(has_advance_to_build): Remove prototype.
	(create_unit): Initialize unit->autoplan.
	(create_unit): Initialize unit->cp_stash.
	(can_carry): Check for u_facility_total_max & u_mobile_total_max.
	(type_can_occupy): Check for u_facility_total_max &
 	u_mobile_total_max.
	(type_allowed_on_side): Remove call to has_advance_to_build.
	(set_unit_side): Turn on autobuild & autoresearch if side is under
 	AI control.

	* unit.h (a_unit): Add unit->cp_stash.
	(a_unit): Add unit->autoplan.
	(for_all_occs_with_occs): Define new macro.
	(type_ever_available): Prototype extern.
	
	* utype.def (u_offensive_worth): New utype property.
	(u_defensive_worth): New utype property.
	(u_explorer_worth): New utype property.
	(u_colonizer_worth): New utype property.
	(u_facility_worth): New utype property.
	(u_random_worth): New utype property.
	(u_siege_worth): New utype property.
	(u_offensive): Change default from 1 to 0.
	(u_explorer): Change default from 1 to 0.
	(u_besieger): New utype property.
	(u_ship): New utype property.
	(u_ground): New utype property.
	(u_air): New utype property.
	(u_facility_total_max): New utype property.
	(u_mobile_total_max): New utype property.
	(u_ai_min_defenders) : Ner utype property.
	(u_ai_tactival_range): New utype property.
	
	* world.c (latlong_to_xy): Fix meridian drawing bug.

	* world.h (cell_is_within_n_steps): Rename to
 	cell_is_within_range.
	(for_all_cells_within_n_steps): Rename to
 	for_all_cells_within_range.
	(for_all_stack_with_occs): Define new macro.

	* write.c (write_area_users): Change so that nextid starts at 1
 	instead of 0.
	(write_units): Restore old code so that nextid starts at 1 instead
 	of 0.
	(write_unit_properties): Add K_AUTOPLAN & K_CP_STASH.

	* macadv.c: (MAX_DISPLAYED_FACS): New macro constant.
	(MAX_DISPLAYED_OCCS): New macro constant.
	(CLEAR_AGENDA): New macro constant.
	(unit_build_dialog): Change prototype.
	(has_advance_to_build): Remove prototype.
	(create_selected_unit): Remove prototype.
	(copy_rect_from_gworld): New function and prototype.
	(city_dialog): Rewrite. Many bug fixes and improvements. 
	Most important ones:  Add conditional call to draw_unit_info. 
	Use backcolor to draw region outside the area in the city map.
	Use copy_rect_from_gworld to do the offscreen graphics.
	Disable all auto checkboxes when dside is under AI control.
	Check that unit has a plan. Add new Plan Type popup menu.
	Add new Autoplan checkbox. Add new AI control checkbox.
	Split occupant panel into facilities and garrison panels.
	Fix runlength bug and limit it to CLEAR_AGENDA.
	Call net_clear_task_agenda & net_set_unit_asleep for idle units.
	Add separate call to has_advance_to_build.
	(draw_city_statistics): Rewrite. Many bug fixes and improvements. 
	Most important ones: Add drawing of unit icon.
	Fix sporadic name bug by call to side_adjective.	
	Fix parenthesis bug in construction status field.	
	Fix crashing bug in occupant display code.	
	Use u_facility_worth instead of !mobile to identify facilities.	
	Add AI control info text field.	 Add new facilities and garrison
	panels.
	Fix bugs in construction status. 
	Use white background color with unit icons.
	Add cps to occupant names when debugging.
	(draw_landuse_near_unit): Rename macro to for_all_cells_within_range.
	(unit_build_dialog): Rewrite. Many bug fixes. return int instead
	of *unit.
	Add separate call to has_advance_to_build.
	(unit_plan_dialog): New function and prototype.
	(global_advance_dialog): Fix autoresearch bug.
	Fix crashes due to incorrect oldprojects[] array size.	 
	Move SetPort call to position after conditional return.
	Fix sporadic name bug by two calls to side_adjective.

	* maccmd.c (do_set_view_angle): Only set vertscale if given a
 	valid prefixarg.

	* maccolors.c (default_draw_ai): Initialize to TRUE.
	(alert_256_colors): Initialize to TRUE.

	* macconq.c (main): Move check_screen_depths after get files and
 	make conditional.
	(update_area_display): Prototype extern. Add Side parameter.
		
	* macconq.h: Include MacWindows.h ifdef NEW_HEADERS, else include
 	Windows.h.
	(a_map): Add map->draw_ai.
	(default_draw_ai): New extern.
	(alert_256_colors): New extern.
	(xform_fractional): Move prototype here.
	(xform_flat): New prototype.
	(xform_fractional_flat): New prototype.
	
	* macdefs.h: (mPlanTypePopup): New menu.
	(miPlanTypeColonizing): New menu item.
	(miPlanTypeImproving): New menu item.
	(miPlanTypeRandom): New menu item.
	(diPrefsAIRegions): New dialog item.
	(diPrefs256colors): New dialog item.
	(dCity): All dialog items renumbered and renamed.
	(dPlan): New dialog with 3 dialog items.

	* macdraw.c (draw_unit_image): Rewrite. Support sidecolors in
 	closeups etc.
	(draw_unit_image): Restore colors BEFORE calling gray_out_rect (2
 	times).
	(draw_unit_image): Fix emblem bug due to new emblem_position code.

	* maclist.c (create_list): Use GetNewCWindow if hasColorQD.
	(draw_unit_list_entry): Fix task_desc prototype error.

	* macmap.c (xform_fractional): Move prototype to macconq.h.
	(xform_flat): New function.
	(xform_fractional_flat): New function.
	(adjust_latlong_interval): New function and prototype.
	(create_map): Use default_draw_ai.
	(create_map): Call adjust_latlong_interval.
	(set_map_power): Call adjust_latlong_interval.
	(set_map_angle): Compute a suitable vertscale.
	(draw_meridians): Fix sporadic longitude top error.
	(draw_meridians): Call xform_fractional_flat instead of
 	xform_fractional.
	(draw_selections_at): Fix (x,y) bug.
	(draw_selected_unit): Draw enemy units in red.
	(draw_selection_animation): Draw enemy units in red.
	(update_cell): Make DestRect larger to include row below.
	(update_cell): Use UNWRAP_RECT for meridians & feature names.

	* macmenus.c: (all_ai_ops): Prototype extern for use in
 	build_ai_type_menu.
	(query_position_modally): Unselect all selected units outside our
 	control.
	(do_closeup_mi): Prototype extern for use in ctrl-clicking of
 	unit.
	(build_ai_type_menu): Load AIs dynamically to the menu.
	(do_menu_command): Add support for dynamically loaded AIs.
	(do_menu_command): Support PLAN_COLONIZING & PLAN_IMPROVING.
	(apply_to_all_selected): Don't apply to selected units that we
 	don't control.
	(do_closeup_mi): Remove static declaration.
	(adjust_menus): Add support for dynamically loaded AIs.
	(adjust_menus): Don't enable commands for enemy unit closeups.
	(enable_commands_for_unit): Support PLAN_COLONIZING &
 	PLAN_IMPROVING.
	(enable_commands_for_unit): Fix menu number bug that disables More
 	menu items.

	* macmouse.c (do_closeup_mi): Prototype extern for use in
 	ctrl-clicking of unit.
	(do_mouse_down_map_content): Disable move and fire cmds for
 	selected enemy units.
	(do_mouse_down_map_content): Rewrite ctrl-clicking code using
 	side_sees_unit.  Call do_closeup_mi if ctrl-clicking non-advanced
 	unit, else call city_dialog.
	(select_all_units_in_rect): Always permit this if side_sees_unit.

	* macprefs.c (interp_mac_ui_data): Support default_draw_ai &
 	alert_256_colors.
	(ui_update_state): Support default_draw_ai & alert_256_colors.
	(set_preferences): Add case diPrefsAIRegions & diPrefs256colors.
	(set_preferences): Support default_draw_ai & alert_256_colors.
	(add_preferences_topic_items): Support default_draw_ai &
 	alert_256_colors.
	
	* macrow.c (draw_cliffs): Fix ouside-area crashes.
	(draw_contours): Trigger unwrapping 1 hex from right edge.
	(draw_gridlines): Trigger unwrapping 1 hex from right edge.
	(draw_shorelines): Trigger unwrapping 1 hex from right edge.
	(draw_feature_boundary_simple): Trigger unwrapping 1 hex from
 	right edge.

	* macwins.c (closeupwinwid): Change to 340.
	(init_construction_lists): Add separate call to
 	has_advance_to_build.
	(adjust_construction_controls): Check that we can build the
 	desired type.
	(side_rename_dialog): Fix colorscheme bug.
	(preferred_closeup_size): Add 4 pixels at bottom.
	(draw_unit_closeup): Make sure this is the selected unit on all
 	maps.
	(draw_unit_closeup): Optionally permit peeking at enemy units.
	(draw_unit_closeup): Fix duplicate goal_desc problem.
	(draw_unit_closeup): Align goal_desc and remove flanking junk.
	(draw_unit_closeup): Align task_desc and write "Task".
	(do_mouse_down_unit_closeup): Make sure this is the selected unit
 	on all maps.
	(destroy_unit_closeup): Make sure this is the selected unit on all
 	maps.

	* XconqProj.rsrc: (DITL 803 "City"): Extensively modified.
	(DITL 702 "Preferences Map Items"): Add AI regions checkbox.
	(DITL 704 "Preferences Offscreen Items"): Add recommend 256 colors
 	checkbox.
	(DITL 804 "City Research"): Minor changes.
	(DITL 805 "Global Science"): Minor changes.
	(DITL 807 "City Build"): Minor changes.
	(DITL 808 "City Plan"): New dialog item list.
	(DLOG 808 "City Plan"): New dialog.
	(MENU 206 "AI Types"): Remove static AI items.
	(MENU 249 "Plan Types"): Restore damaged resource. Add 3 new
 	items.

	* Xconq.r: Update from XconqProj.rsrc.
	
	* xconq.c (unit_build_dialog): Rewrite. Fix argument error.
	(unit_plan_dialog): New function.
	
	* game.dir, imf.dir: Fix end-of-lines so that it does not crash on
 	Macs.

Mon May 31 05:46:26 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* read.c (interp_variant_defns): Complain about bad variants
	instead of trying to compensate.

	* bitmaps/return.b: New bitmap.

	* tkconq.tcl: Set item widths for imf samples.
	(select_player): Handle unused slots better.
	(create_map_window): Add return button.
	(update_action_controls_info): Handle return button.
	* tkcmd.c (do_embark): Improve error mesage.
	(do_fire): Complain if no keystroke.
	* tkinit.c: Init return bitmap.
	* tkmain.c (tk_interp_key): Clear inpch.

	* test/warn.g: Add invalid variants to test new warnings.

	* ancient.g (real-time-per-turn): Set.
	* panzer.g (ferry-on-entry): Let all types of vehicles handle
	artillery.

	* PROJECTS: Reflect above changes, add still more ideas.

Tue May 11 19:29:12 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* cmd.def (agreement-draft, agreement-drafter, agreement-propose,
	agreement-proposer, agreement-sign, agreement-signer,
	agreement-term): New commands.
	* cmd.c (do_agreement_draft, do_agreement_drafter, etc): New
	functions.
	* cmdline.c (parse_command_line): Handle -h by creating player
	specs immediately.
	* side.h (agreement_list, etc): Rename from agreementlist etc.
	* side.c (agreement_list, etc): Ditto.
	(find_agreement): New function.
	(create_agreement): Fix.
	* ui.h (VP see_all): New slot.
	* ui.c (find_unit_or_occ): Add side arg, account for occupant
 	visibility rules.
	Change all callers.
	(calc_view_misc): Comment out hexagon_adjust, seems unneeded.
	* write.c (write_agreements): Use for_all_agreements.

	* greek.g, voyages.g: Add ship vanish messages.

	* tkconq.tcl (add_player_dialog_items): Add tag for remote players,
	button for declaring a player remote.
	(toggle_remote_cmd): New proc.
	(create_left_right_panes): New proc.
	(create_map_window): Use it, also put maps inside frames, so that
	they get centered if smaller than frame.
	(create_map_menus): Remove unused "Set Mag" item.
	(create_agreements_window): Make it actually do something.
	(new_agreement, close_agreements_window, update_agreement_display,
	select_agreement): New procs.
	(fit_map, resize_world_map): New procs.
	* tkmain.c (tk_player_remote_status, tk_set_remote_for_player,
	tk_map_size_at_power, tk_agreements): New tcl commands.
	* tkmap.c (mapw_configure): Comment out geometry guessing code.
	(x_find_unit_or_occ): Account for occupant visibility rules.
	(redraw_map): Set vp see_all correctly.

	* xconq.c (host_the_game): New function.
	(main): Call it.
	(add_remote_player): Fill in code formerly in main.

Tue May  4 04:44:53 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* atype.def, mtype.def, ttype.def (available): Remove.
	* utype.def (available): Allow negative values, as doc'ed.
	* keyword.def (battle, silhouette): Remove.
	* actions.c (distribute_material): Check for unit trust.
	* imf.h (Image style): Remove.
	(ImageFamily preferred_style): Remove.
	* imf.c: Remove style references everywhere.
	(interp_image): No longer recognize silhouette keyword.
	* ui.c: Ditto.
	* init.c (check_game_validity): Remove availability checks,
	add test of u_wrecked_type value.
	* nlang.c (task_desc): Describe pickup task.
	* read.c: Remove recognition of K_BATTLE.
	* run2.c (run_economy): Rewrite to scan needy units in second
	pass.
	(need_left, try_sharing_need): New functions.
	* world.c (search_and_apply): Terminate early if pred fails.

	* imfapp.tcl: Set initial shownames.
	* tkconq.tcl (create_map_menus): Remove unit style entries.
	(run_game_cmd, run_game_idle_cmd): Call C code every millisecond.
	* tkconq.h (UI dflt_color_unit_images, pref_color_unit_images):
	Remove.
	(UI besttimages): New slot, cached terrain images.
	* tkcmd.c (do_map): Remove unit image style subcommands.
	* tkinit.c (init_display): Remove setting of removed slots.
	(init_terrain_images): Cache best terrain images.
	* tkisamp.c: Set -shownames off by default.
	* tkmap.c (mapw_configure): Get a bold font, set it as the
	default GC's font.
	(draw_map_overhead): Rewrite upper/lower bound calcs.
	(draw_borders, etc): Don't pass in vw, calc instead.
	(compute_x1_len): Compute x1 and length more accurately.
	(draw_feature_name): Draw name in gray, draw shadow.
	(set_terrain_gc_for_image): Optimize and simplify.
	(draw_terrain_row, etc): Use cached terrain images.
	(draw_unit_name): Merge in draw_legend_text.
	(draw_legend): Remove, never used.

	* xtconq.h (UI pref_color_unit_images, use_color_unit_images):
 	Remove.
	* xcmd.c (do_map): Remove color/silhouette style options.
	* xdraw.c: Update copyright.
	* xmap.c: Remove tweaking of preferred style.
	
	* std-s.imf: New file, silhouettes of standard game images.
	* standard.imf: Remove silhouette versions.
	* imf.dir: Update.
	* standard.g: Add variant for silhouette display.
	* nat-names.g, ng-african.g, ng-american.g, ng-asian.g: Add more
 	nationality-specific namers.

	* design.texi: Remove battle info.
	* refman.texi: Ditto, plus update doc of type availability,
	add index type info to all @deffn Table lines.
	* syntax.texi: Describe advances, update some lists.
	* PROJECTS: Move unimplemented "battle" object info here,
	update random ideas, reflect above changes.

Thu Apr 22 19:53:11 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* mtype.def (initial-treasury): New material type property.
	* nlang.c (goal_desc): Describe vicinity-holding goal better.
	* side.c (create_side): Fill in treasury according to initial.
	* world.c (paint_border, paint_connection): Restore update
	of adjacent cell also.

	* imfapp.tcl: Update displayed images when adding file.
	* tkconq.tcl (popup_connect_dialog, join_game, etc): New procs.
	(can_repair, can_detonate, etc): New globals.
	(adjust_play_menu, adjust_more_menu): Use them.
	(update_action_controls_info): Set them.
	(update_game_side_info): Fix raise syntax.
	(popup_design_palette): Fix elev etc buttons.
	(make_people_paint_frame, make_control_paint_frame): Turn on
	appropriate view control automatically.
	(make_temp_paint_frame): Make work.
	* tkconq.h (Map scrolled_away): New slot.
	* tkcmd.c (embarkation_unit): New function.
	(do_embark): Use it.
	* tkinit.c, tkmain.c: Test and print results of tcl evaluations.
	(update_action_controls_info): Specify unusual flags in a list.
	* tkmain.c (tk_try_join_game): New tcl command.
	(tk_run_game_idle): Rewrite scroll-to-unit algorithm.
	(draw_unit_info): Only update when necessary.
	(update_cell_display): Avoid update if not needed.
	(update_side_progress_display, update_side_score_display): New
	functions.
	(update_side_display, update_unit_display): Use them.
	(update_unit_type_list): Remove side argument, only update if
	change.
	(init_unit_type_list): New function.
	(low_notify): Put argument in braces.
	* tkmap.c (cell_drawing_info): Tune.
	(draw_map_outline, map_outline): New functions, draw outline of
	magnified map in larger map.
	(handle_world_mouse_down): Set map->scrolled_away.
	(handle_designer_mouse_down): Add elevation painting.

	* xconq.c (try_join_game): New function, code split from main.

	* ancient.g: Add some help info, require more grassland in
	initial area, set initial treasury.
	* nw-europe.g: Use unit numbers instead of names, add more towns.
	* t-nw-eur.g: Add more railroads.
	* ww2-div-eur.g: Fix train movement.
	* panzer.g: Let infantry types move faster on slopes.
	
	* refman.texi: Remove reference to type extensions.
	* PROJECTS: Whack some poor ideas.

Mon Apr 19 19:10:09 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* xdraw.c, xcloseup.c: Update calls to task_desc.
	* cdraw.c: Ditto.

Wed Apr 14 18:31:13 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* mplayer.c (assign_explorer_to_theater): Filter out invalid
 	locations.
	* nlang.c (task_desc): Describe occupy task.
	* task.c (create_move_to_task): Change error to warning.

	* maclist.c, macmap.c, macmenus.c, macwins.c: Add argument
	to task_desc, rename research to develop.

	* tkmain.c (update_cell_display): Don't update adjacent cells
	if at small mags.

	* configure.in: Handle empty x_includes correctly.

	* unix.c (open_remote_connection): Test for FASYNC before using.

Tue Apr 13 18:59:18 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* actions.c (do_create_in_action): Use up treasury correctly.
	(do_create_at_action): Ditto, plus revert "full city bug fix".
	(check_create_common): Clean up comments and simplify a bit.
	(can_extract_at, can_load_at): Don't succeed with unseen terrain.
	* ui.c (advance_into_cell): Add more cases.

	* tkconq.tcl (fill_in_side_list): Put treasury materials into two
	columns.
	* tkcmd.c (do_map): Use prefix to set meridian interval.
	* tkmap.c (draw_current): Draw emblem also.

	* ancient.g: Adjust terrain for more forest, create some mineral
	deposits in grassland and desert.
	
	* PROJECTS: Remove item about occupants doing construction,
	problem appears fixed.

Mon Apr 12 19:28:32 1999  Stan Shebs  <shebs@andros.cygnus.com>

	Rename "research" on units to "develop".
	* action.def (develop): Change from "research".
	* table.def (acp-to-develop, material-to-develop,
 	tech-per-develop): Rename.
	* task.def (develop): Rename.
	* actions.c (prep_develop_action, etc): Rename.
	* help.c, mplayer.c, nlang.c, plan.c, run2.c, task.c, tp.c: Rename
 	references to research.
	* ancient.g, classic.g, fantasy.g, lhsunit.g, postmodern.g,
	stdunit.g, time.g, wizard.g, all.g, warn.g: Rename references.
	* refman.texi: Update references.

	* gvar.def (ai-may-resign): Remove, should not be in GDL.
	* actions.c (can_extract_at, can_load_at): New functions.
	* ai.c (give_up): Fix tests.
	* conq.h (task_desc, destination_desc): Add argument.
	* help.c (describe_utype): Describe uu_occ_combat.
	* history.c: Comment out "game is over" message.
	* nlang.c (destination_desc): Add unit argument, use to improve
	descriptions.
	(task_desc): Add unit argument, use more English and less
 	computerese.
	* run.c (run_game): Make sides with no display or AI autofinish.
	* score.c (side_loses): Lose to controlling side if it exists.
	* side.c (create_side): Don't set ai_may_resign.
	* task.c (do_build_task): Push a develop task instead of doing
	action directly.
	(do_collect_task): Rewrite to use x,y better.
	* tp.c (downloadbuf): Double size.
	* ui.c (advance_into_cell): Do collect task if possible.

	* tkconq.tcl: Disable isometric buttons by default, use #010101
	color in global for progress bar, adjust position of date string.
	(update_action_controls_info): Adjust build button.
	* tkmain.c: Update call to task_desc.
	* tkmap.c: Call XSetLineAttributes only when needed, reset when
	done with it.

	* lookglass.b: Thicken handle.

	* ancient.g: Make farms work, disallow attacks on inanimate objects.
	* cherbourg.g: Make ports more durable.
	* normandy.g: Add a comment.
	* panzer.g: Don't allow artillery to fire from any vehicle.
	* ww2-bn.g: Move position of hill, set min range of coastal arty.
	
	* PROJECTS: Reflect above changes, add item about connectedness
	of initial view.

Wed Apr  7 18:37:17 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* actions.c (do_add_terrain_action), combat.c (one_attack, etc),
 	move.c (change_control_side_around, etc), run.c, run2.c, side.c,
 	unit.c (glimpse_adjacent_terrain, etc), world.c
 	(change_terrain_type, etc): Use correct flags to
 	update_cell_display.
	* side.c (init_view): Don't allocate terrview if terrain view
	is known never to be different from reality.
	(reveal_side): Use update_area_display.
	(see_cell): Decide about updating adjacent cells depending on
	change of terrain view.
	* plan.c (plan_random): Generate better random parms to tasks.
	* task.c (create_move_to_task): Check x,y values.

	* tkconq.tcl (world_size_ok_cmd): Fix name.
	(run_game_cmd): Only run one action per call.
	* tkmain.c (update_cell_display): Only draw adjacent cells if
 	necessary.
	* tkmap.c (draw_unit_name): Draw name or number.

	* cherbourg.g: Name more units.
	* mormon.g: Use stockade, log-cabin, and cathedral images.
	* t-nw-eur.g: Add latitude and longitude.
	* ww2-bn.g: Give more HP to supply types, make ports fill up
	cell.
	* ww2-div-eur.g (acp-to-attack): Don't let HQs attack anything.
	(hp-min): Don't let ships destroy ground units.
	
	* PROJECTS: Update.

Fri Apr  2 17:36:08 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* table.def (gives-to-treasury, takes-from-treasury): New tables.
	* actions.c (transfer_supply): Send excess to treasury if
 	possible.
	(do_create_in_action, do_create_at_action): Consume treasury
 	material if necessary.
	(check_create_common): Account for treasury.
	* task.c (aux_collect_here): Test for treasury usage.
	
	* conq.h (UPDATE_ALWAYS, UPDATE_ADJ): New defines.
	* combat.c (capture_unit_2): Use them.
	* side.c (reveal_side, all_see_occupy, etc): Ditto.
	* world.c (paint_cell_1): Ditto.
	
	* help.c: Describe more game parameters.

	* ui.h (VP isometric, isodir): New slots.
	* ui.c (new_vp): Set default isodir.
	(xform_cell, xform_unit, nearest_cell): Handle isometric views.
	* hex16iso.b, hex32iso.b, hex64iso.b, iso.b, rotl.b, rotr.b: New
 	bitmaps.
	* rr16.b: Fill in rest of railroad segments.

	* tkconq.tcl (textfont, boldfont): Make global again.
	(create_map_window): Add buttons for isometric view.
	(fill_in_side_list): New proc, add display of treasury.
	(can_act, can_plan, etc): New globals.
	(adjust_play_menu): Use them.
	(update_side_progress): Use old rect coords to compute new ones.
	(update_side_treasury, update_action_controls_info): New procs.
	* tkconq.h (UI cellshades, hexisopics): New slots.
	* tkcmd.c (do_map): Add "map iso" and "map over" commands.
	(do_set_view_angle): Implement.
	* tkinit.c (init_display): Set up treasury indexes.
	(init_bitmaps): Set up isometric cell bitmaps.
	(init_shades): New function.
	(update_action_controls_info): New function.
	* tkmain.c (tk_numtreasury, tk_mtype_name, tk_mtype_actual): New
	tcl commands.
	(update_cell_display): Update adjacent cells if requested.
	(update_side_display): Update treasury.
	(update_action_display): Update action menu flags.
	* tkmap.c (draw_area_background): Fix off-by-one error.
	(draw_map_overhead): New function, was body of draw_map_widget.
	(draw_map_isometric): New function, draws isometric display.
	(draw_terrain_iso, shading): New functions.
	(draw_units): Handle isometric view.
	(mapw_transitions): New function.

	* ancient.g: Add images, add some advance relationships, add more
	combat table entries, add treasury usage, add side library.
	* cherbourg.g: Make port valuable.
	* empire.g, flattop.g, ww2-div-pac.g: Use cruiser images.
	* ww2-bn.g: Make port always visible.

	* aircraft.imf (2e): Add.
	* ancient.imf (chariot-archer): Add.
	* dwellings.imf (log-cabin, stockade): Add.
	* people.imf (priest, shaman): Add.
	* places.imf (cathedral, granary, watchtower): Add.
	* ships.imf (ca, trireme): Add color version.
	(cl): Add.
	* standard.imf: Add more flagpoles, improve appearances.
	
	* README: Update.
	* PROJECTS: Reflect above changes.

Thu Mar 25 19:25:23 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* combat.c (capture_unit_2): Don't assign unit number here.
	* side.c (all_see_occupy): Only wake up nearby units if the
	viewing happens during the game, not during setup.
	* unit.c (change_unit_side): Always redo unit number.
	(type_ever_available): New function.
	* write.c (write_unit_properties): Never default materials.

	* tkconq.tcl (fill_in_unit_type_list): New proc, split from
	create_map_window, also only create entries if utype available
	to player.
	(make_normal_bindings, enable_unitlist, select_unit_type): Adjust
 	accordingly.
	(update_unitlist_name): Change to fill in full name of type.
	(update_unitlist_char): Rename from update_unitlist_name.
	* tkinit.c (utype_indexes): New global array.
	(init_display): Compute it.
	* tkmain.c (tk_numutypes_available, tk_utype_actual): New commands.
	(update_unit_type_list, enable_in_unit_type_list): Look up
 	position of utype.
	* tkmap.c (draw_blast): Draw full size at small powers.
	
	* ww2-bn.g (city-center): New place type.
	* t-normandy.g: Change Cherbourg and Caen to be city centers.
	
	* PROJECTS: Remove item about graying out of unit list in X
	interface.

Sun Mar 21 16:20:09 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* gvar.def (synthesis-done): New globals, records syntheses.
	* actions.c (check_repair_action): Test material-to-repair of
	repairee, not repairer.
	* generic.c (DEF_VAR_L): Don't have getters do lazy eval of
	default function, too hard to do game restoration right.
	(init_globals): Do it here instead.
	* help.c: Describe more tables and type properties.
	(uu_table_column_not_default, aa_table_column_not_default,
 	uu_table_column_desc, uu_table_rowcol_desc, aa_table_column_desc,
 	aa_table_rowcol_desc, tb_fraction_desc, tb_bool_desc): New.
	* init.c (check_game_validity): Test advance availability.
	(patch_object_references): Improve test for initacp restore.
	(run_synth_methods): Restore saved synthesis state, build
	synthesis-done list when done.
	(init_view_cell): Don't roll dice for seeing units if we read
	the view in.
	(make_initial_materials): return done/not done.
	* mkunits.c (make_independent_units): Run only once.
	* move.c (change_control_side_around): Fix arg to
	update_cell_display.
	* side.c (cover_area_1): Ditto.
	(see_cell, see_exact): Comment out setting of unit-view-date.
	* side.h (Side unit_view_restored): New slot.
	* read.c: Record if side's unit view restored.
	* task.c (do_collect_task): Set tmpunit earlier.
	* unit.c (init_unit_actorstate): Set initacp along with acp.
	* util.c: Assume ints are at least 32 bits.
	(xrandom): Use long long arith if 32-bit arith would overflow.
	* write.c: Remove special case for synth method list.
	(write_globals): Write nil setting if default Lisp function.
	(write_side_properties): Default everingame to ingame.
	(write_unit_properties): Default size to 0.
	(write_unit_act): Fix initacp default.

	* skelconq.c (main): Call init_debug_to_stdout.

	* bitmaps/fuzz16.b, fuzz32.b, fuzz64.b: New bitmaps, masks for
	edges of seen area.
	* tkconq.tcl (create_map_window): Add side emblems to unitlist.
	* tkcmd.c (aux_set_formation): Fix calculation.
	* tkinit.c (fuzzpics): New global.
	(init_bitmaps): Fill it.
	* tkmap.c (draw_unseen_fuzz): New function.
	(draw_terrain_transitions): Don't draw unseen transitions,
	randomize choice of transition, make overlay work.
	(update_at_cell): Reactivate flags.

	* standard.imf (4e, airbase, bomb, dd): Adjust emblem position.
	* stdunit.g (occupant-max): Remove, not needed.
	* ww2-div-pac.g (already-seen): Reduce chance of seeing.

	* lib-uses.sh: Fix paths, look at atype.def also.
	* src-uses.sh: Ditto.
	* test-save.sh: Only say anything if saves don't match, record
	savefiles under module name.
	
	* hacking.texi: Improve movie info.
	* PROJECTS: Still more ideas.

Fri Mar 12 17:34:36 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* atype.def, mtype.def, ttype.def, utype.def (extensions): Remove
 	property, useless.
	* game.h (get_u_extension, etc): Remove decl.
	* types.c: Remove definitions.
	* help.c: Describe more tables and type properties.
	(tb_mult_desc): New function.

	* bitmaps/rr16.b, rr32.b: New files, masks for railroad terrain.
	* tkinit.c: Use them.
	(rrpics): New global.
	* tkmain.c (tk_set_design_tool, tk_set_design_data): Set tool
 	according to terrain subtype.
	* tkmap.c (draw_connections): Use rrpics if railroad type.
	(handle_designer_mouse_down): Paint terrain according to subtype.
	(limitx): Bring in bounds calc by one.
	
	* ancient.imf: Add axeman, clubman, color archer and hoplite.
	* dwellings.imf: Add color parthenon, village.
	* people.imf (villager): New image.
	* tanks.imf (tank-desert): New image.
	* terrain.imf (hills): Add shaded image.
	* vehicles.imf (auto-green): New image.
	* beirut.g: Use auto-green, make buildings on losing side
	revolt instead of disappearing.
	* ww2-div-eur.g: Reverse order of roads and rivers.
	
	* PROJECTS: Add a bunch more ideas, reflect above projects.

Sun Mar  7 14:12:18 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* combat.c (check_overrun_action): Fail if attacker can't attack
	one of the units in the defending stack.
	(check_fire_at_action): Fail if hit chance is 0.
	* help.c (describe_game_design): Fix report of advantages, display
	scorefile name to designers.
	(describe_utype): Describe all the detonation parameters, also
	accident parameters.
	(may_detonate): New function.
	(describe_setup): Mention if no synth done, describe maze gen.
	(describe_world): Describe default colors to designer.
	(tb_value_desc): New function.
	(u_property_desc, etc): Use it as default data formatter, simplify
	data formatting code.
	(tb_percent_desc, tb_percent_100th_desc): New functions.
	* imf.c (emblem_position): Position an 8x6 block if solid color.
	* mplayer.c, plan.c: Cleanup change comments, ansify decls.
	* ui.c (unit_actually_visible): Test side view coverage.
	* unit.c (nextid): Set default back to 1.

	* tkconq.tcl (add_player_dialog_items): Put side/player list
	inside a sunken relief frame, add enable/disable for exchange
	button.
	(update_player_entry): Gray out info about sides that won't be
	in the game.
	(map_lighting): Default to on.
	(adjust_play_menu, adjust_more_menu, adjust_view_menu): New procs.
	(create_map_menus): Set to call them.
	(adjust_menu_entry): New proc.
	(update_unit_info): Set curunit.
	* tkcmd.c (do_map): Add subcommand for transition display.
	(cmd_error): Remove vprintf call.
	* tkinit.c: Include tran16.b.
	(update_view_controls_info): New function.
	* tkmain.c (tk_side_ingame): New tcl command.
	(tk_run_game_idle): Update curunit if unit type changes, such as
	when wrecked, also update mouseover regularly.
	(draw_unit_info): Update curunit.
	* tkmap.c (MapW draw_transitions): New slot.
	(draw_map_widget): Draw transitions at map power 4.
	(set_terrain_gc_for_image): Let terrain style always affect map
	drawing, irrespective of mag power.
	(draw_terrain_transitions): Fix shoreline shading, reset fill
	style back to solid.
	(draw_current): Always draw the unit too.
	(draw_side_emblem): Handle solid color emblem.
	
	* bitmaps/tran16.b: New file.
	* tran32.b: Add a 4th row, improve shapes of existing transitions.

	* beirut.g: Add solid color emblems.
	* panzer.g: Improve names of infantry types, fix random OB to be
	more like real-life units, make arty and inf start in transports.
	(mp-to-enter-own): Define.
	* stdterr.g: Flip order of road and river.
	* terrain.imf: Add some 64x64 tiles for common types.

Tue Mar  2 19:48:55 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* conq.h (UPDATE_RIGHTNOW, UPDATE_COVER, etc): Define.
	* run2.c (all_see_cell_weather, change_people_side_around): Use.
	(vary_winds): New function, cut from run_environment.
	(mix_winds): Fix calculation.
	* mknames.c (make_up_side_name): Add a comment.

	* bitmaps/tran32.b: New file, 32x32 transitions.

	* tkconq.h (UI warncolor, blastimages): New slots.
	* tkconq.tcl (add_player_dialog_items, select_player): Indicate
 	selected assignment with heavy line instead of relief.
	(create_map_window): Make separate frame for turn number.
	(update_side_progress): Change rect size instead of deleting
	and replacing.
	* tkinit.c (tranpics): New global.
	(init_other_images): New function.
	(init_display): Call it.
	(set_optional_colors): Set up warncolor.
	(init_bitmaps): Set up transition bitmap.
	* tkmain.c (tk_can_rename): New tcl command.
	(update_fire_at_display, update_fire_into_display): Implement.
	(play_movies): Simplify.
	* tkmap.c (draw_terrain_transitions): New function.
	(draw_map_widget): Call it, also draw curunit on top of all else.
	(draw_unit_and_occs): Don't draw curunit.
	(draw_blast_image): Use blast image families.
	(draw_fire_line): New function, animates firing.

	* x2imf.c (main): Don't reverse bitmap data here.

	* lib/blasts.imf: New file, blast image families.
	* normandy.g: Add sequential variant.
	* p-e1-1938.g: Tweak people to match terrain.
	* standard.g: Use short generic names for lakes and islands.
	* u-normandy.g: Set town origside to Allies.
	* terrain.imf: Lighten color of mountains.
	
	* PROJECTS: Remove items about ng-weird and occupant viewing
	in X11 interface.

Wed Feb 24 19:41:35 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* combat.c (type_can_capture): Account for capture-after-attack
	possibility.
	* help.c (describe_utype): Describe more properties and tables,
	fix some logic.
	(describe_setup): Describe spur generation.
	* imf.c (emblem_position): Change arg from eimg to eimf, and use.
	* init.c (init_view_cell): Check if winds defined before setting.
	* nlang.c (unit_handle): Add more description-format options.

	* tkconq.h (Map curunit_id): New slot.
	(Map savedcurunit): Remove, never used.
	* tkcmd.c (REQUIRE_UNIT): Clear curunit_id.
	* tkmain.c (tk_side_emblem): Return "null" if no image.
	(tk_run_game_idle): Test if curunit is wrong and handle.
	(tk_animate_selection): Ditto.
	(set_current_unit): Set map->curunit_id.
	* tkmap.c (draw_current): Test curunit_id.
	(draw_blast): Add case for detonation blast type.
	(draw_blast_image): Invert the rect.
	(draw_unit_image): Pass emblem imf to emblem_position.
	(update_area): New function.
	* tkconq.tcl (update_player_entry): Skip over missing images.

	* beirut.g: Change to use measurements in feet, rename junkheap
	to block, let tanks move through block, add action-notices.
	* earth-1deg.g: Default "bare" variant to false.
	* flattop.g: Aircraft don't consume fuel while sitting on deck.
	* insects.g: Add bare terrain type, let mounds and nests hit
	back at attackers, reduce capture chance for mounds unless indep,
	add auto-repair and doctrine for construction run lengths.
	* monster.g: Tweak terrain colors, define
	withdraw-chance-per-attack.
	* mormon.g: Declare places already-seen, add stack protection
	and action notices, limit side number, and add Fort Duchesne.
	* red-october.g, rom-civ-war.g: Limit side number.
	* russian-rev.g: Make railroads black, add speed-damage-effect.
	* u-e1-1938.g: Add bases in US.
	* ww2-38.g: Start European sides with standing armies.
	* ww2-sides.g: Limit side number.
	
	* refman.texi: Describe description-format better.

Fri Feb 19 17:24:00 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* nlang.c (plan_desc): Don't deref NULL pointer.
	* read.c (interp_goal): Recognize string naming unit.
	* ui.c (plot_meridians): Test spacing using middle of area,
	not edge.
	* world.c (latlong_to_xy): Handle negative longitudes correctly.

	* tkconq.h: Add decls.
	* tkconq.tcl: Set up textfont and boldfont when window opened.
	(create_map_window): Create laurels images, offscreen.
	(create_map_menus): Set up weather submenu items.
	(update_game_side_info): Move laurels into view if side won.
	
	* tkcmd.c (REQUIRE_UNIT): Remove side arg everywhere.
	* tkmain.c (tk_run_game): Control maxactions from arg, return
	desired interval until next call.
	(tk_run_game_idle): Put unit back in middle of screen if moving
	off one side.
	(eval_tcl_cmd): Allow arguments a la printf.
	* tkcmd.c, tkinit.c, tkmain.c, tkmap.c: Use it everywhere.
	* tkmap.c (put_on_screen, in_middle): Remove side arg.

	* bitmaps/laurels.b: New bitmap, indicates winning sides.
	* tkinit.c (init_bitmaps): Make available to tcl.

	* midway.g: Start on 30 May, use unit numbers instead of names.
	* voyages.g: Reenable side library.
	
	* PROJECTS: Add some PzGen emulation ideas, remove item about
	code shift between tkmain.c and tkmap.c.

Tue Feb 16 19:16:44 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* imf.c (emblem_position): Keep emblem inside unit's rect.
	* ui.h (VP center, offsetx, offsety): New slots.
	* ui.c (calc_view_misc): Compute.
	(xform_cell, nearest_cell): Use.
	* unit.c (designer_create_unit): Fix and simplify.
	* write.c (write_units): Fix test for occupancy.

	* tkconq.tcl (all_see_all, may_set_see_all): New globals.
	(can_see_people, can_see_control, etc): New globals.
	(create_map_window): Put world map inside a sunken frame,
	add side loss strikeover line.
	(create_map_menus): Adjust view items according to globals.
	(update_game_side_info): Handle more info about side's status.
	(update_view_controls_info): New proc.
	* tkinit.c (init_display): Call update_view_controls_info.
	* tkisamp.c: Use XCreateGC instead of Tk_GetGC, use separate
	GC for pixmap copying.
	* tkmain.c (update_side_display): Pass more data to
	update_game_side_info.
	(update_turn_display): Turn on see_all if end of game.
	(create_map, zoom_in_out, etc): Move here from tkmap.c.
	* tkmap.c (MapW border_width, relief): Remove.
	(mapw_widget_cmd): Fix scrolling bounds.
	(mapw_display): Put update outline under control of debug flag.
	(set_scrollbars): Fix calcs.
	(xform, xform_fractional): Move offset calcs to generic code.
	(update_at_unit): Reduce update area to cell alone.

	* nat-names.g, ng-african.g, ng-american.g, ng-asian.g,
	ng-european.g: Add more national unit namers.
	* standard.g (default-namer): Set it.
	
	* PROJECTS: Add more random ideas.

Thu Feb 11 19:06:13 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* gvar.def (default-namer): New global.
	* mknames.c (run_namer): Use it, instead of looking for
	"independent-names".
	* read.c (merge_unit_namers): Handle a list of unit types.
	* skelconq.c (update_area_display, unit_build_dialog): Define.

	* tkconq.tcl (add_splash_screen_dialog_items): Don't fail if
	splash image not found.
	(add_real_time_dialog_items, real_time_ok_cmd): Implement.
	(set_variants): Set real-time variant values.
	(dsave_types, etc): New globals.
	(popup_designer_save): Use them.
	(save_design): Use them here too.
	* tkcmd.c: Ansify.
	(do_save): Remove useless code.
	* tkmain.c (tk_designer_save): New tcl command.
	(tk_set_variant_value): Handle real-time variants.
	(set_variant_real_time): New function.
	* tkmap.c (draw_legend_text): Make legends white on black.
	
	* beirut.g: Don't number buildings.
	* nat-names.g, ng-african.g, ng-american.g: Add more
	country-specific namers.
	* ng-european.g: New file, namers for European countries.
	
	* PROJECTS: Add more ideas, remove project about setup dialogs
	for tcl/tk.

	* configure.in: Add tests for ranlib and ar.
	* configure: Regenerate.

Mon Feb  8 18:26:42 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* INSTALL: Update to reflect changes.
	* Makefile.in (all-ximfapp): Rename from all-imftk.

	* tcltk/Makefile.in (libtkiapp.a): New library.
	(install-only): Install imfapp.tcl.
	* imfapp.tcl: New file, was imftk.tcl.
	* tkconq.tcl (new_width, etc): Set default value.
	(update_side_progress): Add arg, gray out rect if side inactive.
	* tkiapp.c: New file, body of imf application.
	* tkisamp.c (Imfsample show_bbox, show_solid, with_terrain,
	with_emblem, numvisrows, firstvisrow): New slots.
	(config_specs -showbbox, -showsolid): New arguments.
	(imfsample_cmd): Init them.
	(imfsample_widget_cmd): Interpret them, add yview impl.
	(imfsample_add_imf): Add -all to add all images.
	(imfsample_display): Use new slots.
	(draw_one_emblem): New function.
	(draw_one_image): Use it.
	* tkmain.c (update_side_display): Pass side activity to tcl.

	* win/wimfapp.c: New file, main program of Windows imfapp.

	* x11/Makefile.in (ximfapp): Build it.
	* ximfapp.c: New file, main program of X11 imfapp.
	* xutil.c (read_xbm_file): Reverse raw bits.

	* PROJECTS: Add a bunch more ideas.

Wed Feb  3 19:35:39 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* Makefile.in: Switch to building the tcl/tk version by default.
	(all-xtconq): New action to build old X11 version.
	* x11/Makefile.in: Similarly, plus rename old stuff to "xtconq".
	(install-xtconq): New action.
	* xtconqad.h: Rename from xconqad.h.
	
	* tkconq.tcl (handling_key): New global.
	(handle_key_binding): Set it.
	(ask_bool_mode): Use it to decide when to make dialogs.
	(bool_yes, bool_no): New procs.
	(create_map_window): Use bitmaps for buttons, add build button.
	(make_normal_bindings): Make unitlist images clickable.
	(select_unit_type): New proc.
	* tkinit.c (init_bitmaps): Define bitmaps for buttons.
	* tkmain.c (tk_set_unit_type): New tcl command.
	* tkmap.c (ask_bool): Pass default directly to tcl code.
	
Mon Feb  1 19:30:57 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* Makefile.in (install-only): Install images.
	(MAKEDIRS): Add images dir.
	* curses/Makefile.in (install-only): Make empty.
	(install-cconq): New action.
	* tcl/Makefile.in, tk/Makefile.in (install-only): New action.
	* tcltk/Makefile (install-only): Install tcl files.
	* x11/Makefile.in (install-only): Add tkconq installation.
	
	* read.c (interp_variant_defns): Add default names for standard
	variants.

	* tkconq.tcl (add_splash_screen_dialog_items): Try to get splash
	image from different places.
	(remove_splash_screen_dialog_items): Disable 2nd and 3rd buttons.
	(popup_game_dialog): Remove unneeded button disabling.
	(popup_variants_dialog): Similarly.
	(add_variants_dialog_items): Allow rerunning by not creating
	items after first pass.
	(popup_world_size_dialog, add_world_size_dialog_items,
	remove_world_size_dialog_items, world_size_ok_cmd,
	world_size_cancel_cmd): New procs, support for world size setup.
 	(popup_real_time_dialog, etc): New procs, realtime setup.
	* tkmain.c: Search for tkconq.tcl in ../tkconq.
	(tk_set_variant_value): Add world size case.
	(interpret_variants): Rewrite to simplify special cases.
	(interpret_checkbox): New function.
	(set_variant_value, set_variant_world_size): New functions.
	
Fri Jan 29 16:14:49 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl (popup_splash_screen, add_splash_screen_dialog_items,
	etc): Adjust size and spacing of game setup dialogs.
	(add_player_dialog_items): Add advantage +/- buttons.
	(adjust_advantage_cmd): New proc.
	(select_player): Tweak state of advantage buttons.
	(create_map_window): Fix height calc.
	* tkmain.c (tk_min_advantage, tk_max_advantage, tk_adjust_advantage):
	New tcl commands.

	* splash.gif: Make larger, to fit tk dialog frame.

	* PROJECTS: Remove item about asking about saved game, default
	no-argument behavior will be to bring up new/open/connect dialogs.

Thu Jan 28 18:51:26 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* images/: New directory, home for binary-format image files.
	* images/splash.gif: New splash screen picture.

	* tkconq.tcl (debug): New global, for debugging.
	(popup_splash_screen): Put up splash image.
	(add_variants_dialog_items): Show selected game's title,
	generalize checkbox setup, add help area.
	(show_variant_help, clear_variant_help): New procs.
	(set_variants): Remove special cases.
	* tkmain.c (interpret_variants): Generalize/simplify, add
	setting of varianttext array.
	
	* mac.c [__MWERKS__]: Include various Mac headers.
	* macconq.h: Always include main set of Mac headers.
	* macconq.c (update_area_display): Define.
	* macimf.c 

Wed Jan 27 08:06:37 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* help.c (aa_table_row_not_default, aa_table_row_desc): New
	functions.
	(describe_atype): Use to list prerequisites.
	(describe_utype): Fix description of required advances.
	* run.c (run_advanced_units, run_construction, etc): Fix
 	formatting, handle indep units better, test for tasks rather
	than assuming they're present.
	* side.c (init_sides): Set up advances and treasury for indepside.
	* task.c (execute_task): Handle a null task.

	* tkinit.c (init_display): Set imf hooks here.
	* tkmain.c (tk_interpret_variants, tk_set_variant_value,
	tk_implement_variants, tk_maxsides, tk_add_side_and_player,
	tk_rename_side_for_player, tk_set_ai_for_player,
	tk_exchange_players): New tcl command functions.
	(tk_side_emblem): Check dside for using.
	(hack_find_imf): Handle finding imf during player setup.
	(interpret_variants, set_variant_value, implement_variants):
	New functions.
	* tkconq.tcl (add_variants_dialog_items): Add checkboxes.
	(remove_variants_dialog_items): Clean up checkboxes.
	(set_variants): Tweak variants' state.
	(add_player_dialog_items): Redesign framing for player list,
	add implementations for most buttons.
	(add_player_cmd, rename_side_for_player_cmd, toggle_ai_cmd,
	exchange_players_cmd, select_player, update_player_entry): New
	procs.
	(set_players): Make the player dialog go away.
	(create_map_window): Limit size of side list, add scrollbar.

	* ng-african.g, ng-asian.g, ng-misc.g: New files for nationality
	specific name generators.
	* nat-names.g (side-library): Use them.
	* ng-american.g: Add more real names.

Tue Jan 19 19:10:16 1999  Hans Ronne  <ronne@bmc.uu.se>

	* gvar.def (g_ai_may_resign): New constant.
	(g_indep_may_build): New constant.
	(g_ai_build_runlength): New constant.
	(g_peek_at_enemy): New constant.
	* mtype.def (m_treasury): New constant.
	* utype.def (u_minimal_size_goal): New constant.
	(u_reach): New constant.
	(u_colonizer): New constant.
	(u_improver): New constant.
	(u_facility): New constant.
	(u_offensive): New constant.
	(u_defensive): New constant.
	(u_explorer): New constant.
	(u_disable_standard_acp): New constant.
	* table.def (um_occ_add_production): New table.
	(um_occ_multiply_production): New table.
	(am_adv_add_production): New table.
	(am_adv_mult_production): New table.
	(ua_size_limit_without_adv): New table.
	(uu_size_limit_without_occ): New table.
	(uu_occ_add_maxcells): New table.
	(uu_occ_mult_maxcells): New table.
	(ua_adv_add_maxcells): New table.
	(ua_adv_mult_maxcells): New table.
	(uu_hp_on_completion): New table.
	* keyword.def: Add all the advanced unit keywords.
	* plan.def (PLAN_COLONIZING): New plan.
	(PLAN_IMPROVING): New plan.

	* actions.c (do_create_in_action): Fix independent ghost unit bug.
	(check_create_common): Fix idle mplayer bug.
	(set_created_unit_props): Fix independent ghost unit bug.
	(do_create_at_action): Fix independent ghost unit bug.	
	(do_create_at_action): Fix full city bug.
	(make_unit_complete): Call kick_out_enemy_users instead.
	(do_transfer_part_action): Fix independent ghost unit bug.
	* ai.c (give_up): Check ai_may_resign.
	* combat.c (capture_unit): Call kick_out_enemy_users instead. 
	* conq.h (kick_out_enemy_users): Prototype new function extern.
	Declare utype vectors and ints for advanced unit AI support.
	* game.h: Define utype macros for advanced unit AI support.
	Define DONE, NOUSER, NOADVANCE & NOUNIT to (-1).
	* init.c: Initialize utype vectors for advanced unit AI support.
	(setup_utype_vectors): New function and prototype.
	(final_init): Call setup_utype_vectors.
	* mknames.c (run_namer): Use independent names as fallback.
	* mkunits.c (place_unit): Fix independent ghost unit bug.
	* move.c (move_unit): Call kick_out_enemy_users instead.
	* mplayer.c (a_game_class): Add gc_advanced.
	(for_all_theaters): Add backslash for MWC compatibility.
	(for_all_cells_in_theater): Add braces for MWC compatibility.
	(assign_to_colonize): New function and prototype.
	(assign_to_improve): New function and prototype.
	(type_can_build_colonizers): New function and prototype.
	(find_game_class): Support gc_advanced.
	(mplayer_decide_plan): Call assign_to_colonize.
	(mplayer_decide_plan): Support PLAN_COLONIZING & PLAN_IMPROVING.
	(preferred_build_type): Support PLAN_COLONIZING & PLAN_IMPROVING.
	* plan.c (plan_improve): New function and prototype. 
	(plan_colonize): New function and prototype.
	(plan_colonizer_support): New function and prototype.
	(good_cell_to_colonize): New function and prototype.
	(execute_plan): Add case PLAN_COLONIZING & PLAN_IMPROVING.
	* read.c (fill_in_users): New function and prototype.
	(interp_area): Call fill_in_users.
	(fill_in_side): Handle K_NUMADVANCES, K_ADVANCE & K_TREASURY.
	(interp_unit): Fix saved game id zero bug (2 times).
	(interp_unit): Handle all the advanced unit keywords.
	* run2.c (compute_acp_advanced_unit): Remove prototype.
	(compute_moves): Remove call to compute_acp_advanced_unit. 
	(compute_moves): Add check for u_disable_standard_acp.
	* run.c: Rewrite all the advanced unit code. Major changes
	listed below.
	(create_selected_unit): Prototype extern.
	(has_advance_to_build): Prototype extern.
	(unit_build_dialog): Prototype extern.
	(run_construction): Prototype static.
	(set_new_build_task): Prototype static.
	(auto_pick_new_build_task): Prototype static.
	(compute_acp_advanced_unit): Remove function & prototype.
	(run_advanced_units): Rewritten. Support for treasury & facilities
	added.
	(run_population): Rewritten. Support for treasury & facilities added.
	(run_construction): New function. Replaces compute_acp_advanced_unit.
	(run_research): Rewritten. Support for autoresearch added.
	(allocate_used_cells): Rewritten. Support for facilities etc. added.
	(kick_out_enemy_users): New function. Handles new user layer
	correctly.
	(free_used_cells): Modify to handle new user layer correctly.
	(auto_pick_new_research): Use NOADVANCE. 	
	(set_new_build_task): New function.
	(create_selected_unit): New function.
	(auto_pick_new_build_task): New function.
	* score.c (side_loses): Don't kill losers cities. Make them
	independent.
	* side.h (a_side): Add global treasury.
	(a_side): Add side->ai_may_resign.
	* side.c (create_side): Allocate treasury.
	(create_side): Set side->ai_may_resign.
	* unit.c (default_reach): Remove. Repaced by u_reach.
	(create_unit): Allocate and zero unit production caches.
	(create_unit): Set newunit->reach to u_reach(type).
	(create_unit): Add unit->autobuild and unit->autoresearch.
	(enter_transport): Fix overcrowded transport bug.
	(unit_allowed_on_side): Call new_unit_allowed_on_side.
	(new_unit_allowed_on_side): New function. Fixes ghost unit bug.
	(designer_create_unit): Fix independent ghost unit bug.
	* unit.h: Remove declaration of default_reach.
	(a_unit): Add pointer to production caches.
	(a_unit): Add autobuild amd autoresearch.
	(new_unit_allowed_on_side): Prototype new function.
	* world.c (allocate_area_terrain): Change user layer type to short.
	(allocate_area_users): New function (prototyped extern in world.h.
	(fn_user_at): New function (prototyped extern in world.h.
	(fn_set_user_at): New function (prototyped extern in world.h.
	* world.h (struct a_area): Change user layer type to short.
	(allocate_area_users): Prototype new function.
	(fn_user_at): Prototype new function.
	(fn_set_user_at): Prototype new function.
	* write.c (write_area_users): New function and prototype.
	(write_areas): Call write_area_users. 
	(write_side_properties): Add advanced unit support.
	(write_units): Fix saved game id zero bug. 
	(write_unit_properties): Add advanced unit support.	
	
	* macadv.c: New name for macciv.c. All functions rewritten with
	numerous changes in dialogs etc. Major changes listed below.
	(create_selected_unit): New function in run.c prototyped.
	(unit_build_dialog): New function and prototype.
	(mac_create_cicn): Prototype extern CIconHandle.
	(mac_init_cicn): Prototype extern void.
	(city_dialog): Rewritten. Many changes.
	(draw_city_statistics): Rewritten. Many items added.
	(draw_landuse_near_unit): Modify for new user layer.
	(toggle_landuse_one_cell): Modify for new user layer.
	(unit_advance_dialog): Add support for autoresearch (3 times).
	(global_advance_dialog): Rewritten. Many changes.
	* maccolors.c: Remove old change markers.
	(default_draw_emblems): Initialize.
	* macconq.h: Remove old change markers and clean up file.
	(struct a_map): Add map->draw_emblems.
	(struct a_list): Add list->draw_emblems.
	(default_draw_emblems): Define extern int.
	(toggle_map_draw_emblems): Prototype extern void.
	(toggle_list_draw_emblems): Prototype extern void.
	* macdefs.h: Remove old change markers.
	(dCity): Add many new items for status info support.
	(dAdvance): Add new items for status info support.
	(dGlobalAdvance): Add new items for status info support.
	(dBuild): New dialog.
	(diPrefsDrawEmblems): New checkbox.
	(mAdvanceAchieved): New popup menu.
	(miListDrawEmblems): New menu item.
	(miTextDrawEmblems): New menu item.
	* macdraw.c: Remove old change markers.
	(draw_unit_image): Fix grayout bug.
	(draw_unit_image): Add user control of emblems.
	* macinit.c (launch_game): Remove extra call to init_unit_images.
	* maclist.c: Remove old change markers.
	(create_list): Set list->draw_emblems.
	(toggle_list_draw_emblems): New function.
	* macmap.c (create_map): Set map->draw_emblems.
	(draw_meridians): Adjust top corner clipping by 1 cell.
	(draw_meridians): Fix garbage outside area bug.
	(draw_unit_names_only): Fix xform-related crashes.
	* macmenus.c (do_menu_command): Call toggle_map_draw_emblems.	
	(do_menu_command): Call toggle_list_draw_emblems.	
	(adjust_menus): Enable miTextDrawEmblems.
	(adjust_menus): Disable miListSideColors & miListDrawEmblems.
	(adjust_menus): Enable miTextDrawEmblems.
	* macmouse.c: Remove old change markers.
	(toggle_map_draw_emblems): New function.
	(do_mouse_down_map_content): Skip checks for side when ctr-clicking.
	* macprefs.c: Remove old change markers.
	(interp_mac_ui_data): Set default_draw_emblems.
	(ui_update_state): Push default_draw_emblems.
	(set_preferences): Handle default_draw_emblems (3 times).
	* XconqProj.rsrc (CNTL 713 "Achieved Advances"): New control.	
	(DITL 705 "Preferences Image Sets"): Add emblems checkbox.
	(DITL 803 "City"): Many new items.
	(DITL 804 "City Research"): New items.
	(DITL 805 "Global Science"): Many new items.
	(DITL 807 "City Build"): New dialog item list.
	(DLOG 807 "City Build"): New dialog.
	(ictb 803 "City"): New item color table.	
	(MENU 136 "Map View"): Cange "Text" to "Text and Emblems".
	(MENU 215 "Text Popup"): Add "Draw Side Emblems" item.
	(MENU 235 "List View"): Add "Side Emblems" item.
	* Xconq.r: Update from XconqProj.rsrc to reflect the above changes.

Tue Jan 19 18:59:56 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* bitmaps: Move dir up from x11 subdir.
	* tcltk/Makefile.in (ALL_CFLAGS): Remove path to x11 subdir.

	* ng-american.g: Replace unfinished random generator with longer
 	selection of random real names.

Mon Jan 18 18:49:59 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* cmd.c (parse_long_name_command): Move here from ui.c.
	* imf.c (add_shrunken_image, add_magnified_image): Fix calcs
	of embedded image position/size.

	* bitmaps/curscell.b, curscellm.b, etc: New bitmaps, conversions
 	of Mac game design cursors.

	* tkconq.h (cell_paint_mode, etc): Rename from cellpainttool, etc.
	* tkcmd.c (do_give_unit): Implement.
	(aux_give_unit, really_do_give_unit): New functions.
	(do_save): Popup a dialog for designer save.
	* tkinit.c (init_cursors): Fill in using new cursor bitmaps.
	* tkmain.c (tk_run_game_idle): Add a heuristic to reduce jumping
	around of curunit.
	(tk_execute_long_command): Get prefix arg and put into prefixarg.
	(tk_set_design_tool): Add rest of design cases.
	* tkmap.c (handle_designer_mouse_down, etc): Update mode names.
	* tkconq.tcl (create_map_window): Fix unitinfo packing.
	(create_map_menus): Add unit gift submenu.
	(popup_design_palette): Add rest of design buttons.
	(select_paint): Compute frame name from type arg.
	(make_design_tool): Remove.
	(make_normal_frame, etc): Do label and canvas setup individually.
	(select_design_tool): Simplify for new code.
	(dbg_set_design_data): Handle brush size the new way.
	(popup_designer_save): New proc.

	* nat-names.g: Include random name generators for some specific
	countries, use instead of generic generator.
	* ng-english.g: Fix module name.
	* standard.imf: Add embed-at for silhouettes.

	* PROJECTS: Add ideas about view painting and kwic index.

Fri Jan 15 17:18:49 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkcmd.c (do_survey): Update the map mode onscreen.
	(really_do_design): Force the map mode to survey, and update
	onscreen.
	* tkmap.c (create_map): Update the mode onscreen.
	* tkconq.tcl (create_map_window): Add a column of buttons on
	the left side, make user interaction text boldface.
	(update_mode): New proc.
	(popup_design_palette): Rewrite to add new buttons and panes
	to existing map windows, instead of making a new toplevel.
	(select_paint, make_normal_frame, make_terrain_paint_frame, etc):
	New procs.
	(select_design_tool, dbg_set_design_data): Reflect new layout.

	* configure.in (AC_HEADER_DIRENT): Add.
	(XLIBS): Define.
	* configure: Regenerate.
	* SelFile/Makefile.in (UNIX_CFLAGS): Add @DEFS@.
	* SelFile/Dir.c: Use HAVE_DIRENT_H.
	* x11/Makefile.in (X11_LIB_FLAGS, X11_INCLUDE_FLAGS): Define.

Tue Jan 12 19:06:37 1999  Hans Ronne  <ronne@bmc.uu.se>

	* macinit.c: Remove old change comments.
	(launch_game_2): Use DEFAULTCIRCUMFERENCE if circumference is
 	undefined.
	* macmap.c: Remove old change comments.
	(UNWRAP_SX): Also trigger if sx > sxmax.
	(UNWRAP_RECT): Also trigger if rect.right > sxmax.
	(UNWRAP_POLY): Also trigger if polyBBox.right > sxmax.
	(create_map): Fix negative and zero circumference crashes.
	(draw_map_content): Fix occasional undrawn hexes at left end of map. 
	(draw_meridians): Return if circumference is negative or zero.
	(draw_meridians): Fix wrapping bug.
	(draw_meridians): Remove unnecessary longitude unwrapping.
	* macrow.c: Remove old change comments.
	(UNWRAP_SX): Also trigger if sx > sxmax.
	(UNWRAP_RECT): Also trigger if rect.right > sxmax.
	(UNWRAP_POLY): Also trigger if polyBBox.right > sxmax.
	(draw_contours): Also unwrap LineTo if sx > sxmax.
	(draw_gridlines): Also unwrap LineTo if sx > sxmax.
	(draw_shorelines): Also unwrap LineTo if sx > sxmax.
	(draw_feature_boundary_simple): Also unwrap LineTo if sx > sxmax.

Mon Jan 11 19:14:09 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl (create_map_window): Fix unit type list headings.

	* standard.imf: Add flagpoles and embed-at settings to some images.

	Autoconfiscate Xconq:
	* configure.in: Replace contents with autoconf macros.
	* configure: Replace with autoconf-generated version.
	* config.host, config/: Remove, no longer needed.
	* */configure.in (except tcl and tk): Remove, no longer needed.
	* Makefile.in, */Makefile.in (prefix, srcdir, VPATH, CC, AR,
	RANLIB): Use @-substitutions.
	
Sun Jan 10 12:28:16 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* init.c (check_game_validity): Allow unit priorities to vary.

	* run.c (compute_sun): Reformat.
	(run_sun): Call update_area_display if any lighting changed.
	* side.c (seen_border): Only see border if terrain on both
	sides seen.

	* tkconq.h (UI follow_action): Remove.
	(Map follow_action): Add.
	* tkcmd.c (do_add_terrain_2): Include terrain type name in query.
	(do_follow_action): Use per-map flag.
	(do_map): Add line, polygon, unit plan options.
	* tkmain.c (tk_side_emblem): Return actual emblem in use.
	(tk_mouse_down_cmd, etc): Get and pass button number.
	(set_current_unit): Update at previously selected unit also.
	(update_area_display): New function.
	(action_point): Revive.
	(schedule_movie): Make ANSI-only.
	(flush_input, build_name, redraw, flush_output): Remove, unused.
	(update_unit_type_list): Display only single chars for unit types.
	(describe_map): New function.
	(tk_help_goto): Use it, plus set up command help nodes.
	(tk_interp_key): Return current prefix arg.
	* tkmap.c: Use mapw->gc everywhere instead of allocating GCs.
	(ask_string, etc): Remove extra space from prompt.
	(MapW offsetx, offsety, draw_polygons, draw_lines): New slots.
	(mapw_configure): Set up font here instead of during display.
	(mapw_display): Center small maps in viewport, tweak tile origin
	correctly for rect updates.
	(x_nearest_cell): New function, accounts for offsets.
	(draw_map_widget, draw_row): Draw terrain/bords/conn/units with
 	separate loops, so overlapping borders work right.
	(compute_x1_len): New function, computes row lengths in viewport.
	(cell_drawing_info): Compute cell overlay also.
	(draw_terrain_row): Update uses.
	(tmpdrawlighting, tmpdrawcoverage): Remove, no longer needed.
	(bords_to_draw, conns_to_draw, cell_overlay): Remove, folded into
	functions.
	(draw_borders): Draw all visible borders in widget.
	(draw_connections): Similarly.
	(draw_border_line_mult): Remove, folded into draw_borders.
	(draw_connection_line_mult): Similarly.
	(handle_mouse_down, etc): Remove side arg, add button arg, add
	right-click case.
	(toggle_mapw_polygons, toggle_mapw_lines): New functions.
	* tkconq.tcl (listiconsize): New global.
	(create_map_window): Use to control unit type list layout, also
	move type list border to surrounding frame, preload notices with
	tags for the command prompt etc, remove dedicated command pane.
	(handle_key_binding): Handle prefix arg correctly.
	(low_notify, ask_bool_mode, ask_position_mode, etc): Interact
	via tagged areas in last line of notices window.
	(create_map_menus): Add more menu items and submenus, similar to
 	Mac menu structure.
	(make_normal_bindings): Pass button number to click handlers.

	* cconq.c, xtmain.c (update_area_display): New function.

	* ww2-div-pac.g: Use names instead of abbrevs for type names,
	put abbrevs in short-name.

	* PROJECTS: Add idea for sharing bord/conn masks among types,
	remove item about user choice of masks.

Mon Jan  4 19:29:41 1999  Stan Shebs  <shebs@andros.cygnus.com>

	* tkconq.tcl (create_map_window): Use boldface for own side.
	(create_map_menus): Add wind view item.
	* tkinit.c (connpics, windpics): New globals.
	(init_bitmaps): Fill them in.
	* tkmain.c (tk_dside): New function.
	* tkmap.c (MapW copygc): New slot.
	(MapW cursor): Remove.
	(mapw_widget_cmd): Make all scrolling cases work and use area
 	copying whenever possible.
	(mapw_configure): Allocate copygc.
	(mapw_display): Don't draw widget border in update rect.
	(mapw_destroy): Deallocate copygc.
	(draw_feature_name): Fix positioning of name.
	(draw_winds_row): Draw wind arrow bitmaps instead of text.
	(draw_borders): Merge in new bitmap drawing.
	(draw_border_line_mult): Only draw lines again.
	(draw_connection_line_mult): Draw bitmaps of connections.
	(draw_legend_text): Draw highlight background.
	(draw_text): Remove, inline code in callers meridian_text_callback,
	draw_clouds_row, draw_temperature_row.
	(set_tool_cursor): Use just-computed local for cursor.
	(update_at_cell, update_at_unit): Force update instead of
 	overwriting rect.
	
	* history.c (record_unit_death): Pass another arg in default case.
	* nlang.c (location_desc): Describe winds.
	* run.c (run_game): Record state data for Unix instead of Mac.
	* world.c (wind_dir, wind_force): Move here from interfaces.

	* bitmaps/wind*.b, bitmaps/conn*.b: New files, wind and connection
 	bitmaps.

	* refman.texi (hp-per-starve): Fix description.
	* PROJECTS: Remove items about default image generation
	and border redrawing for X11, add some new ideas.
