743 |
743 |
744 texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, r.w, r.h, 32, RMask, GMask, BMask, AMask); |
744 texsurf:= SDL_CreateRGBSurface(SDL_SWSURFACE, r.w, r.h, 32, RMask, GMask, BMask, AMask); |
745 TryDo(texsurf <> nil, errmsgCreateSurface, true); |
745 TryDo(texsurf <> nil, errmsgCreateSurface, true); |
746 TryDo(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true); |
746 TryDo(SDL_SetColorKey(texsurf, SDL_SRCCOLORKEY, 0) = 0, errmsgTransparentSet, true); |
747 |
747 |
748 DrawRoundRect(@r, cWhiteColor, cNearBlackColorChannels.value, texsurf, true); |
748 DrawRoundRect(@r, cWhiteColor, cNearBlackColor, texsurf, true); |
749 rr:= r; |
749 rr:= r; |
750 inc(rr.x, 2); dec(rr.w, 4); inc(rr.y, 2); dec(rr.h, 4); |
750 inc(rr.x, 2); dec(rr.w, 4); inc(rr.y, 2); dec(rr.h, 4); |
751 DrawRoundRect(@rr, clan^.Color, clan^.Color, texsurf, false); |
751 DrawRoundRect(@rr, clan^.Color, clan^.Color, texsurf, false); |
752 |
752 |
753 FreeTexture(team^.HealthTex); |
753 FreeTexture(team^.HealthTex); |
979 gear:= GearByUID(lua_tointeger(L, 1)); |
979 gear:= GearByUID(lua_tointeger(L, 1)); |
980 // should we allow this when there is no current hedgehog? might do some odd(er) things to turn sequence. |
980 // should we allow this when there is no current hedgehog? might do some odd(er) things to turn sequence. |
981 if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) and (CurrentHedgehog <> nil) then |
981 if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) and (CurrentHedgehog <> nil) then |
982 begin |
982 begin |
983 prevgear := CurrentHedgehog^.Gear; |
983 prevgear := CurrentHedgehog^.Gear; |
984 prevgear^.Active := false; |
984 if prevgear <> nil then |
985 prevgear^.State:= prevgear^.State and not gstHHDriven; |
985 begin |
986 prevgear^.Z := cHHZ; |
986 prevgear^.Active := false; |
987 prevgear^.Message:= prevgear^.Message or gmRemoveFromList or gmAddToList; |
987 prevgear^.State:= prevgear^.State and (not gstHHDriven); |
|
988 prevgear^.Z := cHHZ; |
|
989 prevgear^.Message:= prevgear^.Message or gmRemoveFromList or gmAddToList; |
|
990 end; |
988 |
991 |
989 SwitchCurrentHedgehog(gear^.Hedgehog); |
992 SwitchCurrentHedgehog(gear^.Hedgehog); |
990 CurrentTeam:= CurrentHedgehog^.Team; |
993 CurrentTeam:= CurrentHedgehog^.Team; |
991 |
994 |
992 gear^.State:= gear^.State or gstHHDriven; |
995 gear^.State:= gear^.State or gstHHDriven; |
1806 // push game variables so they may be modified by the script |
1809 // push game variables so they may be modified by the script |
1807 ScriptSetInteger('BorderColor', ExplosionBorderColor); |
1810 ScriptSetInteger('BorderColor', ExplosionBorderColor); |
1808 ScriptSetInteger('GameFlags', GameFlags); |
1811 ScriptSetInteger('GameFlags', GameFlags); |
1809 ScriptSetString('Seed', cSeed); |
1812 ScriptSetString('Seed', cSeed); |
1810 ScriptSetInteger('TemplateFilter', cTemplateFilter); |
1813 ScriptSetInteger('TemplateFilter', cTemplateFilter); |
|
1814 ScriptSetInteger('TemplateNumber', LuaTemplateNumber); |
1811 ScriptSetInteger('MapGen', cMapGen); |
1815 ScriptSetInteger('MapGen', cMapGen); |
1812 ScriptSetInteger('ScreenHeight', cScreenHeight); |
1816 ScriptSetInteger('ScreenHeight', cScreenHeight); |
1813 ScriptSetInteger('ScreenWidth', cScreenWidth); |
1817 ScriptSetInteger('ScreenWidth', cScreenWidth); |
1814 ScriptSetInteger('TurnTime', cHedgehogTurnTime); |
1818 ScriptSetInteger('TurnTime', cHedgehogTurnTime); |
1815 ScriptSetInteger('CaseFreq', cCaseFactor); |
1819 ScriptSetInteger('CaseFreq', cCaseFactor); |
1834 ScriptCall('onGameInit'); |
1838 ScriptCall('onGameInit'); |
1835 |
1839 |
1836 // pop game variables |
1840 // pop game variables |
1837 ParseCommand('seed ' + ScriptGetString('Seed'), true); |
1841 ParseCommand('seed ' + ScriptGetString('Seed'), true); |
1838 cTemplateFilter := ScriptGetInteger('TemplateFilter'); |
1842 cTemplateFilter := ScriptGetInteger('TemplateFilter'); |
|
1843 LuaTemplateNumber:= ScriptGetInteger('TemplateNumber'); |
1839 cMapGen := ScriptGetInteger('MapGen'); |
1844 cMapGen := ScriptGetInteger('MapGen'); |
1840 GameFlags := ScriptGetInteger('GameFlags'); |
1845 GameFlags := ScriptGetInteger('GameFlags'); |
1841 cHedgehogTurnTime:= ScriptGetInteger('TurnTime'); |
1846 cHedgehogTurnTime:= ScriptGetInteger('TurnTime'); |
1842 cCaseFactor := ScriptGetInteger('CaseFreq'); |
1847 cCaseFactor := ScriptGetInteger('CaseFreq'); |
1843 cHealthCaseProb := ScriptGetInteger('HealthCaseProb'); |
1848 cHealthCaseProb := ScriptGetInteger('HealthCaseProb'); |