3 |
==================== |
==================== |
4 |
BlotchMaker.h |
BlotchMaker.h |
5 |
==================== |
==================== |
6 |
version 2.5.6 |
version 2.5.8 |
7 |
==================== |
==================== |
8 |
|
|
9 |
BlotchMaker works with "Map" classes. While Map builds the map structure for the game, |
BlotchMaker works with "Map" classes. While Map builds the map structure for the game, |
40 |
|
|
41 |
TO-DO & EXPANSION LIST |
TO-DO & EXPANSION LIST |
42 |
---------------------- |
---------------------- |
|
needs SetInit() & default intitilizer |
|
|
map verification re-blotch if verification fails. |
|
43 |
SetAxisPalette() needs individual push and pop instead of a lump set of perams. |
SetAxisPalette() needs individual push and pop instead of a lump set of perams. |
44 |
option: pathcut bad maps or retry new map. timeout in 10 maps. |
option: pathcut bad maps or re-blotch & timeout? |
|
Home base placement |
|
|
- patterns for # of players or random locations? always corners? |
|
45 |
Path cutting for bad maps |
Path cutting for bad maps |
46 |
Waypoints for path cutting |
Waypoints for path cutting |
47 |
FULL mode infinite loop possible? or just get rid of full mode - check to see if still works even. |
FULL mode infinite loop possible? or just get rid of full mode - check to see if still works even. |
57 |
|
|
58 |
CHANGELOG: |
CHANGELOG: |
59 |
---------------------- |
---------------------- |
60 |
2.5.6 - The default values for function's parameters should be set in the |
2.5.8 - fixed reporting bug that said a bad map was good. caused by lowing attempts from 10 to 5. |
61 |
header file, not the implementation file. Changed the signature of |
2.5.7 - optimized the SearchSteps map verification timeout. It now takes less searched tiles to call it a bad map. |
62 |
SetAxisPalette to reflect that. |
2.5.6 - added a few new private assistant variables: |
63 |
2.5.5 - BM makes 10 attempts to make a good map with the current settings. |
hb_locs to record base locations |
64 |
|
num_players for an easy reference, recorded automatically after SetAxisPalette() has been invoked |
65 |
|
- changed CreateHBs(). it now places the bases in patterns according tho the number of players in the game. |
66 |
|
- VerifyMap() now uses less searches, depending on the number of players in the game. *Major speed improvement* |
67 |
|
- slight change to the header file in SetAxisPalette(). Put var=0 defaults in the function proto instead of in the actual function :-) |
68 |
|
- changed map attempts timout to 5 tries instead of 10 |
69 |
|
2.5.5 - BM makes 10 attempts to make a good map with the current settings. |
70 |
the main munction StartBlotching() will return a zero if nothing could be produced and a 1 if it could. |
the main munction StartBlotching() will return a zero if nothing could be produced and a 1 if it could. |
71 |
2.5.4 - preliminary home base placement set up. |
2.5.4 - preliminary home base placement set up. |
72 |
- map verification via stlastarsearch.h and mapsearch.h |
- map verification via stlastarsearch.h and mapsearch.h |
82 |
-> SetAxisPalette(); |
-> SetAxisPalette(); |
83 |
- removed auto-allocation of some vars. this is a deprecated feature replaced by standard defaults at initialization time. |
- removed auto-allocation of some vars. this is a deprecated feature replaced by standard defaults at initialization time. |
84 |
- removed Hash brush types from the brushes enum |
- removed Hash brush types from the brushes enum |
85 |
2.5.3 - implemented Brush, Step, and Deterioration features. |
2.5.3 - implemented Brush, Step, and Deterioration features. |
86 |
2.5.2 - ditched old template-input system and put it into user-usable Set() functions which the prog can also use. |
2.5.2 - ditched old template-input system and put it into user-usable Set() functions which the prog can also use. |
87 |
2.5.1 - switched template blotch_types to array instead of hardcoded types |
2.5.1 - switched template blotch_types to array instead of hardcoded types |
88 |
|
|
89 |
|
|
90 |
=============================================================== |
=============================================================== |
194 |
// loads the axis colors to place on the map - ints corespond to the equivelent obstacle enum numbers. (0 = BLOCK) |
// loads the axis colors to place on the map - ints corespond to the equivelent obstacle enum numbers. (0 = BLOCK) |
195 |
// you cannot load colors seperately yet. you must do it all in one big lump. |
// you cannot load colors seperately yet. you must do it all in one big lump. |
196 |
// this also determines how many players are on the map. |
// this also determines how many players are on the map. |
197 |
void SetAxisPalette(short int a, |
void SetAxisPalette(short int=0, short int=0, short int=0, short int=0, short int=0, short int=0, short int=0, short int=0); |
|
short int b = 0, |
|
|
short int c = 0, |
|
|
short int d = 0, |
|
|
short int e = 0, |
|
|
short int f = 0, |
|
|
short int g = 0, |
|
|
short int h = 0); |
|
198 |
// *STRUCTORS |
// *STRUCTORS |
199 |
Blotchmaker(Map &incoming_map); |
Blotchmaker(Map &incoming_map); |
200 |
~Blotchmaker() {/*do nothing*/} |
~Blotchmaker() {/*do nothing*/} |
218 |
struct blotch_type_perams *blotch_type; // ptr - current blotch type in operation |
struct blotch_type_perams *blotch_type; // ptr - current blotch type in operation |
219 |
struct map_user_vars_package vars_template; // the template containing the user variables. determine which one to use later |
struct map_user_vars_package vars_template; // the template containing the user variables. determine which one to use later |
220 |
|
|
221 |
short int hbsize; // square size of home bases |
short int hbsize; // radius size of home bases. setting of 3 will produce a seed with 3 on each side, aka 7x7 |
222 |
short int hbplacement; // placement type of home bases, corners=0, sides, [random] |
short int hbplacement; // placement type of home bases, corners=0, sides, [random] |
223 |
obstacle hbtypes[8]; // a list of hb types to put on the map. |
obstacle hbtypes[8]; // a list of hb types to put on the map. |
224 |
|
pos hb_locs[4]; // x,y locations of home bases |
225 |
|
short int num_players; //based on the number of home bases loaded |
226 |
|
|
227 |
obstacle map_init; // default initializer. |
obstacle map_init; // default initializer. |
228 |
|
|