KINGDOM: Refactor GPL3

This commit is contained in:
Strangerke 2017-07-23 22:11:41 +02:00 committed by Eugene Sandulenko
parent b384bd27d2
commit f14a9e7c06
4 changed files with 1750 additions and 1554 deletions

File diff suppressed because it is too large Load Diff

View File

@ -182,8 +182,9 @@ Common::Error KingdomGame::run() {
if (_logic->_statPlay > 249 && _logic->_statPlay < 500)
_logic->executeOpcode();
if (_logic->_statPlay > 499 && _logic->_statPlay < 900) {
// TODO: only initialize useful opcodes
if (!isDemo())
_logic->GPLogic3();
_logic->executeOpcode();
else
warning("Unexpected GPL3 opcode found in demo: %d", _logic->_statPlay);
}

View File

@ -203,6 +203,73 @@ void Logic::initOpcodes() {
_opCodes[482] = &Logic::GPL2_482;
_opCodes[490] = &Logic::GPL2_490;
_opCodes[491] = &Logic::GPL2_491;
_opCodes[500] = &Logic::GPL3_500;
_opCodes[501] = &Logic::GPL3_501;
_opCodes[502] = &Logic::GPL3_502;
_opCodes[510] = &Logic::GPL3_510;
_opCodes[511] = &Logic::GPL3_511;
_opCodes[512] = &Logic::GPL3_512;
_opCodes[520] = &Logic::GPL3_520;
_opCodes[521] = &Logic::GPL3_521;
_opCodes[522] = &Logic::GPL3_522;
_opCodes[530] = &Logic::GPL3_530;
_opCodes[531] = &Logic::GPL3_531;
_opCodes[540] = &Logic::GPL3_540;
_opCodes[541] = &Logic::GPL3_541;
_opCodes[542] = &Logic::GPL3_542;
_opCodes[550] = &Logic::GPL3_550;
_opCodes[551] = &Logic::GPL3_551;
_opCodes[552] = &Logic::GPL3_552;
_opCodes[560] = &Logic::GPL3_560;
_opCodes[561] = &Logic::GPL3_561;
_opCodes[562] = &Logic::GPL3_562;
_opCodes[570] = &Logic::GPL3_570;
_opCodes[571] = &Logic::GPL3_571;
_opCodes[572] = &Logic::GPL3_572;
_opCodes[580] = &Logic::GPL3_580;
_opCodes[581] = &Logic::GPL3_581;
_opCodes[582] = &Logic::GPL3_582;
_opCodes[590] = &Logic::GPL3_590;
_opCodes[591] = &Logic::GPL3_591;
_opCodes[592] = &Logic::GPL3_592;
_opCodes[600] = &Logic::GPL3_600;
_opCodes[610] = &Logic::GPL3_610;
_opCodes[611] = &Logic::GPL3_611;
_opCodes[620] = &Logic::GPL3_620;
_opCodes[621] = &Logic::GPL3_621;
_opCodes[630] = &Logic::GPL3_630;
_opCodes[631] = &Logic::GPL3_631;
_opCodes[640] = &Logic::GPL3_640;
_opCodes[641] = &Logic::GPL3_641;
_opCodes[642] = &Logic::GPL3_642;
_opCodes[650] = &Logic::GPL3_650;
_opCodes[651] = &Logic::GPL3_651;
_opCodes[660] = &Logic::GPL3_660;
_opCodes[661] = &Logic::GPL3_661;
_opCodes[670] = &Logic::GPL3_670;
_opCodes[671] = &Logic::GPL3_671;
_opCodes[680] = &Logic::GPL3_680;
_opCodes[690] = &Logic::GPL3_690;
_opCodes[691] = &Logic::GPL3_691;
_opCodes[692] = &Logic::GPL3_692;
_opCodes[700] = &Logic::GPL3_700;
_opCodes[701] = &Logic::GPL3_701;
_opCodes[710] = &Logic::GPL3_710;
_opCodes[711] = &Logic::GPL3_711;
_opCodes[712] = &Logic::GPL3_712;
_opCodes[720] = &Logic::GPL3_720;
_opCodes[721] = &Logic::GPL3_721;
_opCodes[730] = &Logic::GPL3_730;
_opCodes[731] = &Logic::GPL3_731;
_opCodes[740] = &Logic::GPL3_740;
_opCodes[741] = &Logic::GPL3_741;
_opCodes[760] = &Logic::GPL3_760;
_opCodes[761] = &Logic::GPL3_761;
_opCodes[780] = &Logic::GPL3_780;
_opCodes[781] = &Logic::GPL3_781;
_opCodes[790] = &Logic::GPL3_790;
_opCodes[791] = &Logic::GPL3_791;
}
void Logic::enAll() {

View File

@ -163,6 +163,73 @@ private:
void GPL2_490();
void GPL2_491();
void GPL3_500();
void GPL3_501();
void GPL3_502();
void GPL3_510();
void GPL3_511();
void GPL3_512();
void GPL3_520();
void GPL3_521();
void GPL3_522();
void GPL3_530();
void GPL3_531();
void GPL3_540();
void GPL3_541();
void GPL3_542();
void GPL3_550();
void GPL3_551();
void GPL3_552();
void GPL3_560();
void GPL3_561();
void GPL3_562();
void GPL3_570();
void GPL3_571();
void GPL3_572();
void GPL3_580();
void GPL3_581();
void GPL3_582();
void GPL3_590();
void GPL3_591();
void GPL3_592();
void GPL3_600();
void GPL3_610();
void GPL3_611();
void GPL3_620();
void GPL3_621();
void GPL3_630();
void GPL3_631();
void GPL3_640();
void GPL3_641();
void GPL3_642();
void GPL3_650();
void GPL3_651();
void GPL3_660();
void GPL3_661();
void GPL3_670();
void GPL3_671();
void GPL3_680();
void GPL3_690();
void GPL3_691();
void GPL3_692();
void GPL3_700();
void GPL3_701();
void GPL3_710();
void GPL3_711();
void GPL3_712();
void GPL3_720();
void GPL3_721();
void GPL3_730();
void GPL3_731();
void GPL3_740();
void GPL3_741();
void GPL3_760();
void GPL3_761();
void GPL3_780();
void GPL3_781();
void GPL3_790();
void GPL3_791();
public:
int _statPlay;
int _oldStatPlay;