# HG changeset patch # User nemo # Date 1265741924 0 # Node ID 1532fde151799840e21122d3b85817a7ebd6f33a # Parent c00a932f075fb8fa27feed7868ff148705ad77ed Palewolf's patch to allow controlling proportion of various objects in themes. Desert and Nature have non-default values diff -r c00a932f075f -r 1532fde15179 hedgewars/uLandObjects.pas --- a/hedgewars/uLandObjects.pas Tue Feb 09 18:34:49 2010 +0000 +++ b/hedgewars/uLandObjects.pas Tue Feb 09 18:58:44 2010 +0000 @@ -260,7 +260,6 @@ bRes: boolean; begin cnt:= 0; -Obj.Maxcnt:= (Obj.Maxcnt * MaxHedgehogs) div 18; with Obj do begin if Maxcnt = 0 then @@ -405,6 +404,8 @@ Surf:= LoadImage(Pathz[ptCurrTheme] + '/' + s, ifCritical or ifTransparent or ifIgnoreCaps); Width:= Surf^.w; Height:= Surf^.h; + Read(f, Maxcnt); + if (Maxcnt < 1) or (Maxcnt > MAXTHEMEOBJECTS) then OutError('Object''s max count should be between 1 and '+ inttostr(MAXTHEMEOBJECTS) +' (it was '+ inttostr(Maxcnt) +').', true); with inland do begin Read(f, x, y, w, h); @@ -417,7 +418,6 @@ Read(f, x, y, w, h); CheckRect(Width, Height, x, y, w, h) end; - Maxcnt:= 3; ReadLn(f) end; end; @@ -454,19 +454,23 @@ var i, ii, t: LongInt; b: boolean; begin -if ThemeObjects.Count = 0 then exit; -WriteLnToConsole('Adding theme objects...'); -i:= 1; -repeat - t:= getrandom(ThemeObjects.Count); - ii:= t; - repeat - inc(ii); - if ii = ThemeObjects.Count then ii:= 0; - b:= TryPut(ThemeObjects.objs[ii]) - until b or (ii = t); - inc(i) -until (i > MaxCount) or not b; + if ThemeObjects.Count = 0 then exit; + WriteLnToConsole('Adding theme objects...'); + + for i:=0 to ThemeObjects.Count do + ThemeObjects.objs[i].Maxcnt := max(1, (ThemeObjects.objs[i].Maxcnt * MaxHedgehogs) div 18); // Maxcnt is proportional to map size, but allow objects to span even if we're on a tiny map + + t := getrandom(1024); + repeat + b := false; + for i:=0 to ThemeObjects.Count do + begin + ii := (i+t) mod ThemeObjects.Count; + + if ThemeObjects.objs[ii].Maxcnt <> 0 then + b := b or TryPut(ThemeObjects.objs[ii]) + end; + until not b; end; procedure AddSprayObjects(Surface: PSDL_Surface; var SprayObjects: TSprayObjects; MaxCount: Longword); diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Bamboo/theme.cfg --- a/share/hedgewars/Data/Themes/Bamboo/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Bamboo/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,13 +6,13 @@ 9 4 Flower -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 Bamboo -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 Bamboo2 -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 Bamboo3 -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 0 100 1 1000 50 50 \ No newline at end of file diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Bath/theme.cfg --- a/share/hedgewars/Data/Themes/Bath/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Bath/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,17 +6,17 @@ 15 6 Toothbrush -120 245 8 15 1 90 6 65 220 +3 120 245 8 15 1 90 6 65 220 Toothbrush_g -85 243 10 11 1 89 13 97 211 +3 85 243 10 11 1 89 13 97 211 Toothbrush_b -113 245 8 15 1 84 6 66 218 +3 113 245 8 15 1 84 6 66 218 Duck -102 253 20 4 1 48 142 150 107 +3 102 253 20 4 1 48 142 150 107 Duck2 -50 94 16 4 1 5 15 101 72 +3 50 94 16 4 1 5 15 101 72 Bubble -37 78 3 2 1 0 0 77 44 +3 37 78 3 2 1 0 0 77 44 0 100 1 0 0 10 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Cake/theme.cfg --- a/share/hedgewars/Data/Themes/Cake/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Cake/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,13 +6,13 @@ 9 4 plant1 -83 215 92 35 1 0 0 250 190 +3 83 215 92 35 1 0 0 250 190 plant2 -118 115 41 20 1 0 0 159 110 +3 118 115 41 20 1 0 0 159 110 plant3 -0 115 70 40 1 8 0 60 100 +3 0 115 70 40 1 8 0 60 100 plant4 -20 200 25 5 1 0 0 70 150 +3 20 200 25 5 1 0 0 70 150 0 20 100 0 30 250 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Castle/theme.cfg --- a/share/hedgewars/Data/Themes/Castle/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Castle/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,13 +6,13 @@ 5 4 Spear -65 258 175 2 1 0 0 240 215 +3 65 258 175 2 1 0 0 240 215 Shield -0 165 163 2 1 0 0 163 140 +3 0 165 163 2 1 0 0 163 140 Sword -240 22 17 43 1 8 21 227 80 +3 240 22 17 43 1 8 21 227 80 Axe -25 195 90 65 1 40 5 195 175 +3 25 195 90 65 1 40 5 195 175 0 25 3 99999999 0 750 \ No newline at end of file diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/City/theme.cfg --- a/share/hedgewars/Data/Themes/City/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/City/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -7,13 +7,13 @@ 45 4 plant1 -200 344 54 2 1 0 0 160 215 +3 200 344 54 2 1 0 0 160 215 plant2 -32 165 65 2 1 0 0 163 140 +3 32 165 65 2 1 0 0 163 140 plant3 -45 0 14 1 1 23 9 54 57 +3 45 0 14 1 1 23 9 54 57 plant4 -99 8 1 38 1 42 7 42 103 +3 99 8 1 38 1 42 7 42 103 0 1500 0 0 0 2000 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Compost/theme.cfg --- a/share/hedgewars/Data/Themes/Compost/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Compost/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,21 +6,21 @@ 16 8 Eggshell1 -48 92 78 37 1 0 0 125 47 +3 48 92 78 37 1 0 0 125 47 Eggshell2 -40 65 80 50 1 0 0 120 50 +3 40 65 80 50 1 0 0 120 50 Onion1 -0 65 90 30 1 0 0 75 50 +3 0 65 90 30 1 0 0 75 50 Onion2 -35 80 75 40 2 0 0 30 50 0 36 30 50 +3 35 80 75 40 2 0 0 30 50 0 36 30 50 Cucumber1 -0 100 75 40 1 80 0 89 95 +3 0 100 75 40 1 80 0 89 95 Cucumber2 -0 70 125 45 1 0 0 70 55 +3 0 70 125 45 1 0 0 70 55 Carrot1 -65 0 40 30 1 0 100 100 100 +3 65 0 40 30 1 0 100 100 100 Carrot2 -0 30 40 35 1 80 65 100 100 +3 0 30 40 35 1 80 65 100 100 4 Cucumber3 1 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Desert/theme.cfg --- a/share/hedgewars/Data/Themes/Desert/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Desert/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,17 +6,17 @@ 9 6 sand -9 3 4 4 2 1 1 7 27 9 31 5 6 +3 9 3 4 4 2 1 1 7 27 9 31 5 6 buzzard -17 318 4 21 1 51 91 289 241 +3 17 318 4 21 1 51 91 289 241 cobra -65 230 57 4 1 28 0 206 202 +3 65 230 57 4 1 28 0 206 202 cactus -27 440 73 10 1 0 0 258 384 +3 27 440 73 10 1 0 0 258 384 rock1 -101 116 10 1 1 0 0 173 99 +3 101 116 10 1 1 0 0 173 99 rock2 -22 27 3 1 1 8 1 30 15 +3 22 27 3 1 1 8 1 30 15 0 0 2 500 100 300 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/EarthRise/theme.cfg --- a/share/hedgewars/Data/Themes/EarthRise/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/EarthRise/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,9 +6,9 @@ 0 2 Rock -65 258 175 2 1 0 0 240 215 +3 65 258 175 2 1 0 0 240 215 RockShort -0 165 163 2 1 0 0 163 140 +3 0 165 163 2 1 0 0 163 140 0 20 1 0 20 0 \ No newline at end of file diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Freeway/theme.cfg --- a/share/hedgewars/Data/Themes/Freeway/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Freeway/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,9 +6,9 @@ 9 2 Tire -83 215 92 35 1 0 0 250 190 +3 83 215 92 35 1 0 0 250 190 AppleSmall -40 0 25 1 1 0 35 100 65 +3 40 0 25 1 1 0 35 100 65 4 TireDirt 2 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Halloween/theme.cfg --- a/share/hedgewars/Data/Themes/Halloween/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Halloween/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,9 +6,9 @@ 9 2 Rock -65 258 175 2 1 0 0 240 215 +3 65 258 175 2 1 0 0 240 215 RockShort -0 165 163 2 1 0 0 163 140 +3 0 165 163 2 1 0 0 163 140 0 20 7 130 0 5 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Island/theme.cfg --- a/share/hedgewars/Data/Themes/Island/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Island/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,15 +6,15 @@ 9 5 anchor -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 plant1 -10 192 60 2 1 33 0 149 152 +3 10 192 60 2 1 33 0 149 152 plant2 -55 218 30 2 1 0 0 240 175 +3 55 218 30 2 1 0 0 240 175 plant3 -20 0 60 1 1 0 15 100 44 +3 20 0 60 1 1 0 15 100 44 plant4 -78 5 2 60 1 0 0 65 110 +3 78 5 2 60 1 0 0 65 110 0 100 2 500 100 300 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Olympics/theme.cfg --- a/share/hedgewars/Data/Themes/Olympics/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Olympics/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -1,19 +1,19 @@ -177 190 216 -101 97 63 -$54 $5C $9D -$34 $3C $7D -$80 -Nature.ogg -9 -4 -Statue -42 258 115 2 1 0 0 165 240 -Column01 -21 258 80 2 1 0 0 110 240 -Column02 -12 258 76 2 1 0 0 110 240 -Column03 -3 173 84 2 1 0 0 90 155 -0 -50 +177 190 216 +101 97 63 +$54 $5C $9D +$34 $3C $7D +$80 +Nature.ogg +9 +4 +Statue +3 42 258 115 2 1 0 0 165 240 +Column01 +3 21 258 80 2 1 0 0 110 240 +Column02 +3 12 258 76 2 1 0 0 110 240 +Column03 +3 3 173 84 2 1 0 0 90 155 +0 +50 1 1000 0 10 \ No newline at end of file diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Sheep/theme.cfg --- a/share/hedgewars/Data/Themes/Sheep/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Sheep/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,19 +6,19 @@ 4 7 fleur -45 127 50 3 1 0 0 120 105 +3 45 127 50 3 1 0 0 120 105 mouton1 -88 222 122 4 1 0 0 275 200 +3 88 222 122 4 1 0 0 275 200 mouton2 -84 245 125 20 1 0 0 275 200 +3 84 245 125 20 1 0 0 275 200 mouton3 -152 255 176 15 1 0 0 440 230 +3 152 255 176 15 1 0 0 440 230 mouton4 -148 245 162 20 1 0 0 440 205 +3 148 245 162 20 1 0 0 440 205 barriere -34 190 300 10 1 0 0 381 140 +3 34 190 300 10 1 0 0 381 140 rocher -16 90 69 3 1 0 0 110 65 +3 16 90 69 3 1 0 0 110 65 8 grass 7 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Snow/theme.cfg --- a/share/hedgewars/Data/Themes/Snow/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Snow/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,13 +6,13 @@ 9 4 plant1 -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 plant2 -0 85 25 25 2 0 0 170 70 50 70 120 40 +3 0 85 25 25 2 0 0 170 70 50 70 120 40 plant3 -26 0 48 1 1 25 15 50 60 +3 26 0 48 1 1 25 15 50 60 plant4 -45 4 1 45 1 20 45 20 60 +3 45 4 1 45 1 20 45 20 60 0 100 3 99999999 100 300 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/Underwater/theme.cfg --- a/share/hedgewars/Data/Themes/Underwater/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/Underwater/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,15 +6,15 @@ 9 5 anchor -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 clam -60 131 16 2 1 0 0 150 117 +3 60 131 16 2 1 0 0 150 117 crab -78 256 96 2 1 3 60 237 155 +3 78 256 96 2 1 3 60 237 155 coral -10 193 38 32 2 128 66 66 94 39 0 88 167 +3 10 193 38 32 2 128 66 66 94 39 0 88 167 coral2 -119 146 23 22 1 5 0 123 130 +3 119 146 23 22 1 5 0 123 130 0 20 20 150 0 5 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/cheese/theme.cfg --- a/share/hedgewars/Data/Themes/cheese/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/cheese/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,14 +6,14 @@ 9 5 cheese -60 80 55 30 1 0 0 140 70 +3 60 80 55 30 1 0 0 140 70 mouseright -85 162 60 20 1 6 6 200 140 +3 85 162 60 20 1 6 6 200 140 mouseleft -60 162 63 20 1 6 6 200 140 +3 60 162 63 20 1 6 6 200 140 knife -90 130 50 20 1 140 0 160 110 +3 90 130 50 20 1 140 0 160 110 fork -240 130 10 30 1 0 0 170 120 +3 240 130 10 30 1 0 0 170 120 0 0 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/hell/theme.cfg --- a/share/hedgewars/Data/Themes/hell/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/hell/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -6,13 +6,13 @@ 9 4 plant1 -83 215 92 35 1 0 0 250 190 +3 83 215 92 35 1 0 0 250 190 plant2 -118 115 41 20 1 0 0 159 110 +3 118 115 41 20 1 0 0 159 110 plant3 -0 115 70 40 1 8 0 60 100 +3 0 115 70 40 1 8 0 60 100 plant4 -20 200 25 5 1 0 0 70 150 +3 20 200 25 5 1 0 0 70 150 0 20 30 0 0 250 diff -r c00a932f075f -r 1532fde15179 share/hedgewars/Data/Themes/nature/theme.cfg --- a/share/hedgewars/Data/Themes/nature/theme.cfg Tue Feb 09 18:34:49 2010 +0000 +++ b/share/hedgewars/Data/Themes/nature/theme.cfg Tue Feb 09 18:58:44 2010 +0000 @@ -7,23 +7,23 @@ 9 9 plant1 -65 258 80 2 1 0 0 240 215 +3 65 258 80 2 1 0 0 240 215 plant2 -21 163 33 15 1 60 62 87 95 +3 21 163 33 15 1 60 62 87 95 plant3 -40 0 25 1 1 0 35 100 65 +3 40 0 25 1 1 0 35 100 65 plant4 -98 10 2 25 1 0 0 70 110 +3 98 10 2 25 1 0 0 70 110 mole -0 129 161 14 1 13 0 142 99 +1 0 129 161 14 1 13 0 142 99 mole2 -0 129 161 14 1 13 0 142 99 +1 0 129 161 14 1 13 0 142 99 mole3 -0 129 161 14 1 13 0 142 99 +1 0 129 161 14 1 13 0 142 99 butterfly -43 176 56 6 1 21 14 91 46 +1 43 176 56 6 1 21 14 91 46 snail -51 94 52 3 1 0 0 135 87 +3 51 94 52 3 1 0 0 135 87 0 55 -40 99999999 30 200 \ No newline at end of file +40 99999999 30 200