diff options
| author | cracker64 <cracker642@gmail.com> | 2013-02-27 05:11:23 (GMT) |
|---|---|---|
| committer | cracker64 <cracker642@gmail.com> | 2013-02-27 05:11:23 (GMT) |
| commit | 27e3e1251837f5d64e835068d5f5bd5b67b95921 (patch) | |
| tree | af6383f7df96485633c91ebcfbe6318ee927403f /src/simulation/elements/FIGH.cpp | |
| parent | a62467c74e9391dd2a9173cfa167d32eceed506b (diff) | |
| download | powder-27e3e1251837f5d64e835068d5f5bd5b67b95921.zip powder-27e3e1251837f5d64e835068d5f5bd5b67b95921.tar.gz | |
Small optimizations number 2.
Diffstat (limited to 'src/simulation/elements/FIGH.cpp')
| -rw-r--r-- | src/simulation/elements/FIGH.cpp | 105 |
1 files changed, 47 insertions, 58 deletions
diff --git a/src/simulation/elements/FIGH.cpp b/src/simulation/elements/FIGH.cpp index 66be5bd..e1072f2 100644 --- a/src/simulation/elements/FIGH.cpp +++ b/src/simulation/elements/FIGH.cpp @@ -48,7 +48,6 @@ Element_FIGH::Element_FIGH() //#TPT-Directive ElementHeader Element_FIGH static int update(UPDATE_FUNC_ARGS) int Element_FIGH::update(UPDATE_FUNC_ARGS) - { playerst* figh = &sim->fighters[(unsigned char)parts[i].tmp]; @@ -57,78 +56,68 @@ int Element_FIGH::update(UPDATE_FUNC_ARGS) parts[i].tmp2 = 0; //0 - stay in place, 1 - seek a stick man //Set target cords - if (sim->player.spwn && sim->player2.spwn) - { - if ((pow((float)sim->player.legs[2]-x, 2) + pow((float)sim->player.legs[3]-y, 2))<= - (pow((float)sim->player2.legs[2]-x, 2) + pow((float)sim->player2.legs[3]-y, 2))) - { - tarx = (unsigned int)sim->player.legs[2]; - tary = (unsigned int)sim->player.legs[3]; - } - else - { - tarx = (unsigned int)sim->player2.legs[2]; - tary = (unsigned int)sim->player2.legs[3]; - } - parts[i].tmp2 = 1; - } - else + if (sim->player2.spwn) { - if (sim->player.spwn) + if (sim->player.spwn && (pow((float)sim->player.legs[2]-x, 2) + pow((float)sim->player.legs[3]-y, 2))<= + (pow((float)sim->player2.legs[2]-x, 2) + pow((float)sim->player2.legs[3]-y, 2))) { tarx = (unsigned int)sim->player.legs[2]; tary = (unsigned int)sim->player.legs[3]; - parts[i].tmp2 = 1; } - if (sim->player2.spwn) + else { tarx = (unsigned int)sim->player2.legs[2]; tary = (unsigned int)sim->player2.legs[3]; - parts[i].tmp2 = 1; } + parts[i].tmp2 = 1; + } + else if (sim->player.spwn) + { + tarx = (unsigned int)sim->player.legs[2]; + tary = (unsigned int)sim->player.legs[3]; + parts[i].tmp2 = 1; } switch (parts[i].tmp2) { - case 1: - if ((pow(float(tarx-x), 2) + pow(float(tary-y), 2))<600) - { - if (figh->elem == PT_LIGH || figh->elem == PT_NEUT - || sim->elements[figh->elem].Properties&(PROP_DEADLY|PROP_RADIOACTIVE) - || sim->elements[figh->elem].Temperature>=323 || sim->elements[figh->elem].Temperature<=243) - figh->comm = (int)figh->comm | 0x08; - } + case 1: + if ((pow(float(tarx-x), 2) + pow(float(tary-y), 2))<600) + { + if (figh->elem == PT_LIGH || figh->elem == PT_NEUT + || sim->elements[figh->elem].Properties&(PROP_DEADLY|PROP_RADIOACTIVE) + || sim->elements[figh->elem].Temperature>=323 || sim->elements[figh->elem].Temperature<=243) + figh->comm = (int)figh->comm | 0x08; + } + else if (tarx<x) + { + if(!(sim->eval_move(PT_FIGH, figh->legs[4]-10, figh->legs[5]+6, NULL) + && sim->eval_move(PT_FIGH, figh->legs[4]-10, figh->legs[5]+3, NULL))) + figh->comm = 0x01; else - if (tarx<x) - { - if(!(sim->eval_move(PT_FIGH, figh->legs[4]-10, figh->legs[5]+6, NULL) - && sim->eval_move(PT_FIGH, figh->legs[4]-10, figh->legs[5]+3, NULL))) - figh->comm = 0x01; - else - figh->comm = 0x02; + figh->comm = 0x02; - if (!sim->eval_move(PT_FIGH, figh->legs[4]-4, figh->legs[5]-1, NULL) - || !sim->eval_move(PT_FIGH, figh->legs[12]-4, figh->legs[13]-1, NULL) - || sim->eval_move(PT_FIGH, 2*figh->legs[4]-figh->legs[6], figh->legs[5]+5, NULL)) - figh->comm = (int)figh->comm | 0x04; - } - else - { - if (!(sim->eval_move(PT_FIGH, figh->legs[12]+10, figh->legs[13]+6, NULL) - && sim->eval_move(PT_FIGH, figh->legs[12]+10, figh->legs[13]+3, NULL))) - figh->comm = 0x02; - else - figh->comm = 0x01; + if (!sim->eval_move(PT_FIGH, figh->legs[4]-4, figh->legs[5]-1, NULL) + || !sim->eval_move(PT_FIGH, figh->legs[12]-4, figh->legs[13]-1, NULL) + || sim->eval_move(PT_FIGH, 2*figh->legs[4]-figh->legs[6], figh->legs[5]+5, NULL)) + figh->comm = (int)figh->comm | 0x04; + } + else + { + if (!(sim->eval_move(PT_FIGH, figh->legs[12]+10, figh->legs[13]+6, NULL) + && sim->eval_move(PT_FIGH, figh->legs[12]+10, figh->legs[13]+3, NULL))) + figh->comm = 0x02; + else + figh->comm = 0x01; - if (!sim->eval_move(PT_FIGH, figh->legs[4]+4, figh->legs[5]-1, NULL) - || !sim->eval_move(PT_FIGH, figh->legs[4]+4, figh->legs[5]-1, NULL) - || sim->eval_move(PT_FIGH, 2*figh->legs[12]-figh->legs[14], figh->legs[13]+5, NULL)) - figh->comm = (int)figh->comm | 0x04; - } - break; - default: - figh->comm = 0; - break; + if (!sim->eval_move(PT_FIGH, figh->legs[4]+4, figh->legs[5]-1, NULL) + || !sim->eval_move(PT_FIGH, figh->legs[4]+4, figh->legs[5]-1, NULL) + || sim->eval_move(PT_FIGH, 2*figh->legs[12]-figh->legs[14], figh->legs[13]+5, NULL)) + figh->comm = (int)figh->comm | 0x04; + } + break; + default: + figh->comm = 0; + break; } figh->pcomm = figh->comm; @@ -137,4 +126,4 @@ int Element_FIGH::update(UPDATE_FUNC_ARGS) return 0; } -Element_FIGH::~Element_FIGH() {}
\ No newline at end of file +Element_FIGH::~Element_FIGH() {} |
