5c5,8
< #include "list.h"
---
> 
> #include "regen.h"
> 
> //#include "list.h"
11,12c14,15
< create_regen_class(CLASS *class, AU *regen_au, double regen_pc, int ToAge, double harvest, int Offset, int ReEntryLag, int period) {
< 	CLASS		*newclass;
---
> create_regen_class(TIMBER_CLASS *timber_class, AU *regen_au, double regen_pc, int ToAge, double harvest, int Offset, int ReEntryLag, int period) {
> 	TIMBER_CLASS		*newclass;
20c23
< 		new_age = class->age+Offset;
---
> 		new_age = timber_class->age+Offset;
26c29
< 	/* assume even annual harvest throughout period; accounted for by width of class */
---
> 	/* assume even annual harvest throughout period; accounted for by width of timber_class */
28c31
< 	newclass = (CLASS *)init_make_class(class->parent_zone,
---
> 	newclass = (TIMBER_CLASS *)init_make_class(timber_class->parent_zone,
30c33
< 		class->parent_block,
---
> 		timber_class->parent_block,
34,35c37,38
< 		class->class_type,
< 		class->reversion_age,
---
> 		timber_class->class_type,
> 		timber_class->reversion_age,
38c41
< 		class->staticgrouplist,         /* inherits static groups */
---
> 		timber_class->staticgrouplist,         /* inherits static groups */
123c126
< regen_class(CLASS *class, double harvest, int period) {
---
> regen_class(TIMBER_CLASS *timber_class, double harvest, int period) {
130,131c133,134
< 	if (class->parent_au->regenlist == NULL) {
< 		create_regen_class(class, class->parent_au, 100.0, 0, harvest, 0, 0, period);
---
> 	if (timber_class->parent_au->regenlist == NULL) {
> 		create_regen_class(timber_class, timber_class->parent_au, 100.0, 0, harvest, 0, 0, period);
134,135c137,138
< 		class->parent_au->regenlist = (LIST_PTR *)list_reset(class->parent_au->regenlist);
< 		regen = (REGEN *)list_next(class->parent_au->regenlist);
---
> 		timber_class->parent_au->regenlist = (LIST_PTR *)list_reset(timber_class->parent_au->regenlist);
> 		regen = (REGEN *)list_next(timber_class->parent_au->regenlist);
137c140
< 			create_regen_class(class, regen->au, regen->pc, regen->ToAge, harvest, regen->Offset, regen->ReEntryLag, period);
---
> 			create_regen_class(timber_class, regen->au, regen->pc, regen->ToAge, harvest, regen->Offset, regen->ReEntryLag, period);
139c142
< 			regen = (REGEN *)list_next(class->parent_au->regenlist);
---
> 			regen = (REGEN *)list_next(timber_class->parent_au->regenlist);
143,147c146,150
< 	class->area -= harvest;
< 	class->MerchArea -= harvest;
< 	class->parent_zone->area -= harvest;
< 	class->parent_zone->axslist = (LIST_PTR *)list_reset(class->parent_zone->axslist);
< 	axs = (AXSDEF *)list_next(class->parent_zone->axslist);
---
> 	timber_class->area -= harvest;
> 	timber_class->MerchArea -= harvest;
> 	timber_class->parent_zone->area -= harvest;
> 	timber_class->parent_zone->axslist = (LIST_PTR *)list_reset(timber_class->parent_zone->axslist);
> 	axs = (AXSDEF *)list_next(timber_class->parent_zone->axslist);
152c155
< 			for ( x=class->age-class->width+1; x<=class->age; ++x ) {
---
> 			for ( x=timber_class->age-timber_class->width+1; x<=timber_class->age; ++x ) {
154c157
< 				 axs->AgeArea[y] -= (harvest/class->width);
---
> 				 axs->AgeArea[y] -= (harvest/timber_class->width);
157c160
< 		axs = (AXSDEF *)list_next(class->parent_zone->axslist);
---
> 		axs = (AXSDEF *)list_next(timber_class->parent_zone->axslist);
159,160c162,163
< 	class->floatgrouplist =  (LIST_PTR *)list_reset(class->floatgrouplist);
< 	group = (GROUP *)list_next(class->floatgrouplist);
---
> 	timber_class->floatgrouplist =  (LIST_PTR *)list_reset(timber_class->floatgrouplist);
> 	group = (GROUP *)list_next(timber_class->floatgrouplist);
169c172
< 				for ( x=class->age-class->width+1; x<=class->age; ++x ) {
---
> 				for ( x=timber_class->age-timber_class->width+1; x<=timber_class->age; ++x ) {
171c174
< 					 axs->AgeArea[y] -= (harvest/class->width);
---
> 					 axs->AgeArea[y] -= (harvest/timber_class->width);
176c179
< 		group = (GROUP *)list_next(class->floatgrouplist);
---
> 		group = (GROUP *)list_next(timber_class->floatgrouplist);
178,179c181,182
< 	class->staticgrouplist = (LIST_PTR *)list_reset(class->staticgrouplist);
< 	group = (GROUP *)list_next(class->staticgrouplist);
---
> 	timber_class->staticgrouplist = (LIST_PTR *)list_reset(timber_class->staticgrouplist);
> 	group = (GROUP *)list_next(timber_class->staticgrouplist);
187c190
< 				for ( x=class->age-class->width+1; x<=class->age; ++x ) {
---
> 				for ( x=timber_class->age-timber_class->width+1; x<=timber_class->age; ++x ) {
189c192
< 					 axs->AgeArea[y] -= (harvest/class->width);
---
> 					 axs->AgeArea[y] -= (harvest/timber_class->width);
194c197
< 		group = (GROUP *)list_next(class->staticgrouplist);
---
> 		group = (GROUP *)list_next(timber_class->staticgrouplist);
