From 580d8b14461436f8b6367283557cbb8bf69c490b Mon Sep 17 00:00:00 2001
From: johns <>
Date: Sun, 8 Dec 2002 17:52:13 +0000
Subject: [PATCH] Code/comments cleanups. Renamed main_loop to MainLoopJmpBuf
 and moved extern to user files.

---
 src/include/freecraft.h          |  5 ----
 src/pathfinder/pf_lowlevel.cpp   | 41 ++++++++++++++++++++++++++---
 src/pathfinder/region_groups.cpp | 45 ++++++++++++++++++++++++++++----
 src/stratagus/mainloop.cpp       | 21 +++++++++------
 4 files changed, 90 insertions(+), 22 deletions(-)

diff --git a/src/include/freecraft.h b/src/include/freecraft.h
index 0df1b5691..e0687389e 100644
--- a/src/include/freecraft.h
+++ b/src/include/freecraft.h
@@ -470,11 +470,6 @@ extern unsigned SyncRandSeed;		/// Sync random seed value
 
 extern unsigned long GameCycle;		/// Game simulation cycle counter
 
-#if DEBUG
-#include <setjmp.h>
-extern jmp_buf main_loop;
-#endif
-
 extern void LoadGame(char*);		/// Load saved game back
 extern void SaveGame(const char*);	/// Save game for later load
 
diff --git a/src/pathfinder/pf_lowlevel.cpp b/src/pathfinder/pf_lowlevel.cpp
index 0cd5c95e8..e5d855970 100644
--- a/src/pathfinder/pf_lowlevel.cpp
+++ b/src/pathfinder/pf_lowlevel.cpp
@@ -1,5 +1,30 @@
+//   ___________		     _________		      _____  __
+//   \_	  _____/______   ____   ____ \_   ___ \____________ _/ ____\/  |_
+//    |    __) \_  __ \_/ __ \_/ __ \/    \  \/\_  __ \__  \\   __\\   __\ 
+//    |     \   |  | \/\  ___/\  ___/\     \____|  | \// __ \|  |   |  |
+//    \___  /   |__|    \___  >\___  >\______  /|__|  (____  /__|   |__|
+//	  \/		    \/	   \/	     \/		   \/
+//  ______________________                           ______________________
+//			  T H E   W A R   B E G I N S
+//	   FreeCraft - A free fantasy real time strategy game engine
+//
+/**@name pf_lowlevel.c	-	Pathfinder low level functions. */
+//
+//	(c) Copyright 2002 by Latimerius
+//
+//	FreeCraft is free software; you can redistribute it and/or modify
+//	it under the terms of the GNU General Public License as published
+//	by the Free Software Foundation; either version 2 of the License,
+//	or (at your option) any later version.
+//
+//	FreeCraft is distributed in the hope that it will be useful,
+//	but WITHOUT ANY WARRANTY; without even the implied warranty of
+//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//	GNU General Public License for more details.
+//
+//	$Id$
 
-/* $Id$ */
+//@{
 
 #include <stdio.h>
 #include <stdlib.h>
@@ -7,6 +32,9 @@
 #include <limits.h>
 
 #include "freecraft.h"
+
+#ifdef HIERARCHIC_PATHFINDER	// {
+
 #include "unit.h"
 #include "map.h"
 #if defined(DEBUG) && defined(TIMEIT)
@@ -18,7 +46,10 @@
 #include "pf_lowlevel.h"
 #include "pf_low_open.h"
 
-#ifdef HIERARCHIC_PATHFINDER	// {
+#ifdef DEBUG
+#include <setjmp.h>
+extern jmp_buf MainLoopJmpBuf;
+#endif
 
 #define COST_MOVING_UNIT	2
 #define COST_WAITING_UNIT	4
@@ -369,7 +400,7 @@ local MapField *LowAstarLoop (Unit *unit)
 #endif
 					if (obstacle->Moving) {
 						NeighCost = SCALE * COST_MOVING_UNIT;
-					} else if ((obstacle->Wait && 
+					} else if ((obstacle->Wait &&
 								obstacle->Orders[0].Action == UnitActionMove)) {
 							NeighCost = SCALE * COST_WAITING_UNIT;
 					} else
@@ -466,7 +497,7 @@ local int LowTraceback (Unit *unit, MapField *end)
 		//printf ("(%d,%d) ", x, y);
 		x += Neighbor[(int )mf->Traceback].dx;
 		y += Neighbor[(int )mf->Traceback].dy;
-		
+
 		++path_length;
 		if (prev_traceback >= 0) {
 			//printf ("path[%d] = %d", path_ptr,
@@ -707,3 +738,5 @@ void ExportMap (void)
 #endif
 
 #endif	// } HIERARCHIC_PATHFINDER
+
+//@}
diff --git a/src/pathfinder/region_groups.cpp b/src/pathfinder/region_groups.cpp
index 635b978b4..38b0eb552 100644
--- a/src/pathfinder/region_groups.cpp
+++ b/src/pathfinder/region_groups.cpp
@@ -1,10 +1,39 @@
 
-/* $Id$ */
+//   ___________		     _________		      _____  __
+//   \_	  _____/______   ____   ____ \_   ___ \____________ _/ ____\/  |_
+//    |    __) \_  __ \_/ __ \_/ __ \/    \  \/\_  __ \__  \\   __\\   __\ 
+//    |     \   |  | \/\  ___/\  ___/\     \____|  | \// __ \|  |   |  |
+//    \___  /   |__|    \___  >\___  >\______  /|__|  (____  /__|   |__|
+//	  \/		    \/	   \/	     \/		   \/
+//  ______________________                           ______________________
+//			  T H E   W A R   B E G I N S
+//	   FreeCraft - A free fantasy real time strategy game engine
+//
+/**@name region_groups.c	-	Pathfinder region groups functions. */
+//
+//	(c) Copyright 2002 by Latimerius
+//
+//	FreeCraft is free software; you can redistribute it and/or modify
+//	it under the terms of the GNU General Public License as published
+//	by the Free Software Foundation; either version 2 of the License,
+//	or (at your option) any later version.
+//
+//	FreeCraft is distributed in the hope that it will be useful,
+//	but WITHOUT ANY WARRANTY; without even the implied warranty of
+//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//	GNU General Public License for more details.
+//
+//	$Id$
+
+//@{
 
 #include <stdio.h>
 #include <stdlib.h>
 
 #include "freecraft.h"
+
+#ifdef HIERARCHIC_PATHFINDER	// {
+
 #include "map.h"
 #include "unit.h"
 #if defined(DEBUG) && defined(TIMEIT)
@@ -15,7 +44,11 @@
 #include "region_set.h"
 #include "region_groups.h"
 
-#ifdef HIERARCHIC_PATHFINDER	// {
+
+#ifdef DEBUG
+#include <setjmp.h>
+extern jmp_buf MainLoopJmpBuf;
+#endif
 
 #define MOVEMENT_TYPE_TRANSPORTER	0
 #define MOVEMENT_TYPE_HOVERCRAFT	1
@@ -67,7 +100,7 @@ static MovementType MovementTypes[] = {
 	/* MOVEMENT_TYPE_TRANSPORTER */
 	{ MapFieldWaterAllowed | MapFieldCoastAllowed, 0, 0, NULL },
 	/* MOVEMENT_TYPE_HOVERCRAFT */
-	{ MapFieldWaterAllowed | MapFieldCoastAllowed | MapFieldLandAllowed, 
+	{ MapFieldWaterAllowed | MapFieldCoastAllowed | MapFieldLandAllowed,
 	  MapFieldForest, 0, NULL }
 };
 
@@ -230,7 +263,7 @@ local void RegGroupSetDeleteGroup (RegGroup *group)
 		group->NextInSet = NULL;	/* just to be safe */
 		return;
 	}
-		
+
 	for (p=RegGroupSet.Groups, g=p->NextInSet; g; p=g, g=g->NextInSet) {
 		if (g != group) {
 			continue;
@@ -517,7 +550,7 @@ local void SuperGroupDeleteRegGroup (SuperGroup *s, RegGroup *group)
 		group->NextInSGroup[type] = NULL;	/* just to be safe */
 		return;
 	}
-		
+
 	p=s->RegGroups;
 	g=p->NextInSGroup[type];
 	for ( ; g; p=g, g=g->NextInSGroup[type]) {
@@ -802,3 +835,5 @@ local void PrintSuperGroupDescriptor (SuperGroup *sg)
 #endif
 
 #endif	// } HIERARCHIC_PATHFINDER
+
+//@}
diff --git a/src/stratagus/mainloop.cpp b/src/stratagus/mainloop.cpp
index 2860548e7..39f1ed1dd 100644
--- a/src/stratagus/mainloop.cpp
+++ b/src/stratagus/mainloop.cpp
@@ -30,10 +30,10 @@
 //----------------------------------------------------------------------------
 
 #include <stdio.h>
-#if DEBUG
+#if defined(DEBUG) && defined(HIERARCHIC_PATHFINDER)
 #include <stdlib.h>
 #include <setjmp.h>
-#endif /* DEBUG */
+#endif
 
 #include "freecraft.h"
 #include "video.h"
@@ -60,7 +60,7 @@
 #include "settings.h"
 #include "commands.h"
 
-#if defined(USE_SDLCD) || defined(USE_LIBCDA) || defined (USE_CDDA)
+#if defined(USE_SDLCD) || defined(USE_LIBCDA) || defined(USE_CDDA)
 #include "sound_server.h"
 #endif
 
@@ -79,8 +79,8 @@ global enum _scroll_state_ KeyScrollState=ScrollNone;
     /// variable set when we are scrolling via mouse
 global enum _scroll_state_ MouseScrollState=ScrollNone;
 
-#if DEBUG
-global jmp_buf main_loop;
+#if defined(DEBUG) && defined(HIERARCHIC_PATHFINDER)
+global jmp_buf MainLoopJmpBuf;		/// Hierarchic pathfinder error exit.
 #endif
 
 //----------------------------------------------------------------------------
@@ -164,7 +164,8 @@ local void MoveMapViewPointRight(int step)
 **	@param fast	Flag scroll faster.
 **
 **	@todo	Support dynamic acceleration of scroll speed.
-**		If the scroll key is longer pressed the area is scrolled faster.
+**	@todo	If the scroll key is longer pressed the area is scrolled faster.
+**	@todo	Scrolling pixel wise.
 **
 **	StephanR: above needs one row+column of tiles extra to be
 **		drawn (clipped), which also needs to be supported
@@ -250,6 +251,10 @@ global void DebugTestDisplay(void)
 
 /**
 **	Draw menu button area.
+**
+**	With debug it shows the used frame time and arrival of network packets.
+**
+**	@todo	Must be more configurable. Adding diplomacy menu here?
 */
 local void DrawMenuButtonArea(void)
 {
@@ -627,8 +632,8 @@ global void GameMainLoop(void)
     MultiPlayerReplayEachCycle();
 
     while( GameRunning ) {
-#if DEBUG
-	if (setjmp (main_loop)) {
+#if defined(DEBUG) && defined(HIERARCHIC_PATHFINDER)
+	if (setjmp (MainLoopJmpBuf)) {
 	    GamePaused = 1;
 	}
 #endif