--- /home/fdroid/fdroiddata/tmp/ch.logixisland.anuto_25.apk +++ /home/fdroid/fdroiddata/tmp/sigcp_ch.logixisland.anuto_25.apk ├── /usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {} │┄ error from `/usr/lib/android-sdk/build-tools/debian/apksigner verify --verbose --print-certs {}` (b): │┄ DOES NOT VERIFY │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. CHUNKED_SHA256 digest mismatch. Expected: , actual: <98092da12c2a16055b9aa1641cbac9a71f304c0f1741803c8e9f54dc7528e1a6> │┄ ERROR: APK Signature Scheme v3 signer #1: APK integrity check failed. VERITY_CHUNKED_SHA256 digest mismatch. Expected: <81afc306d56f46441356676989d3d61bfd68162670b6585d8c80be9e1edd47b050ff5f0000000000>, actual: │ @@ -1,16 +0,0 @@ │ -Verifies │ -Verified using v1 scheme (JAR signing): true │ -Verified using v2 scheme (APK Signature Scheme v2): true │ -Verified using v3 scheme (APK Signature Scheme v3): true │ -Verified using v4 scheme (APK Signature Scheme v4): false │ -Verified for SourceStamp: false │ -Number of signers: 1 │ -Signer #1 certificate DN: CN=FDroid, OU=FDroid, O=fdroid.org, L=ORG, ST=ORG, C=UK │ -Signer #1 certificate SHA-256 digest: 65197484d51b46703badc7ca3e45b3b3232fbfb483a6f5a20b5eff4e0583d5a5 │ -Signer #1 certificate SHA-1 digest: 6eb96ca99545cf9d4327454cdce713c6b45a1cd1 │ -Signer #1 certificate MD5 digest: 241cc1cdb07526284e3d875b359e3a1c │ -Signer #1 key algorithm: RSA │ -Signer #1 key size (bits): 2048 │ -Signer #1 public key SHA-256 digest: d59bd9dca09f8fe6d06e183344e3a9188699f4d27761acaf3368869959d2c132 │ -Signer #1 public key SHA-1 digest: e56e95e66b5bac9f16336087fa0f1835241a8e6b │ -Signer #1 public key MD5 digest: 8de704f3e77a69868b2146e08f3dd334 ├── zipinfo {} │ @@ -151,15 +151,15 @@ │ -rw---- 0.0 fat 43321 b- stor 81-Jan-01 01:01 res/drawable/rocket.png │ -rw---- 0.0 fat 7980 b- stor 81-Jan-01 01:01 res/mipmap-xhdpi-v4/icon_bg.png │ -rw---- 0.0 fat 1134 b- stor 81-Jan-01 01:01 res/drawable-mdpi-v4/settings.png │ -rw---- 0.0 fat 13152 b- stor 81-Jan-01 01:01 res/drawable/rocket_fire_dk.png │ -rw---- 0.0 fat 21566 b- stor 81-Jan-01 01:01 res/raw/explosive3_bghgh.ogg │ -rw---- 0.0 fat 68945 b- stor 81-Jan-01 01:01 res/drawable/tower_base5_dk.png │ -rw---- 0.0 fat 1798 b- defN 81-Jan-01 01:01 res/raw/map_hurry.json │ --rw---- 0.0 fat 274140 b- defN 81-Jan-01 01:01 classes.dex │ +-rw---- 0.0 fat 274192 b- defN 81-Jan-01 01:01 classes.dex │ -rw---- 0.0 fat 4407 b- defN 81-Jan-01 01:01 res/raw/map_wtf.json │ -rw---- 0.0 fat 1001 b- stor 81-Jan-01 01:01 res/drawable-mdpi-v4/alert.png │ -rw---- 0.0 fat 10411 b- stor 81-Jan-01 01:01 res/raw/laser3_szh.ogg │ -rw---- 2.0 fat 13144 b- defN 81-Jan-01 01:01 META-INF/F3DBFEDA.SF │ -rw---- 2.0 fat 1326 b- defN 81-Jan-01 01:01 META-INF/F3DBFEDA.RSA │ -rw---- 2.0 fat 13036 b- defN 81-Jan-01 01:01 META-INF/MANIFEST.MF │ -163 files, 6579149 bytes uncompressed, 6266162 bytes compressed: 4.8% │ +163 files, 6579201 bytes uncompressed, 6266195 bytes compressed: 4.8% ├── classes.dex │ ├── classes.jar │ │ ├── zipinfo {} │ │ │ @@ -1,11 +1,11 @@ │ │ │ -Zip file size: 652973 bytes, number of entries: 390 │ │ │ +Zip file size: 652977 bytes, number of entries: 390 │ │ │ ?rwxrwxr-x 2.0 unx 694 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/AnutoApplication.class │ │ │ ?rwxrwxr-x 2.0 unx 398 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/BuildConfig.class │ │ │ -?rwxrwxr-x 2.0 unx 13279 b- defN 80-Jan-01 00:00 ch/logixisland/anuto/GameFactory.class │ │ │ +?rwxrwxr-x 2.0 unx 13287 b- defN 80-Jan-01 00:00 ch/logixisland/anuto/GameFactory.class │ │ │ ?rwxrwxr-x 2.0 unx 1032 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/GameSettings.class │ │ │ ?rwxrwxr-x 2.0 unx 471 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/Preferences.class │ │ │ ?rwxrwxr-x 2.0 unx 343 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/R$array.class │ │ │ ?rwxrwxr-x 2.0 unx 1987 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/R$attr.class │ │ │ ?rwxrwxr-x 2.0 unx 3510 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/R$drawable.class │ │ │ ?rwxrwxr-x 2.0 unx 2886 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/R$id.class │ │ │ ?rwxrwxr-x 2.0 unx 679 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/R$layout.class │ │ │ @@ -385,8 +385,8 @@ │ │ │ ?rwxrwxr-x 2.0 unx 820 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/util/iterator/FilteringIterator.class │ │ │ ?rwxrwxr-x 2.0 unx 3503 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/view/game/GameActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 4154 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/view/game/MenuActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 4662 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/view/load/LoadGameActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 3834 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/view/map/ChangeMapActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 895 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/view/setting/SettingsActivity.class │ │ │ ?rwxrwxr-x 2.0 unx 1941 b- stor 80-Jan-01 00:00 ch/logixisland/anuto/view/stats/EnemyStatsActivity.class │ │ │ -390 files, 586393 bytes uncompressed, 576405 bytes compressed: 1.7% │ │ │ +390 files, 586401 bytes uncompressed, 576409 bytes compressed: 1.7% │ │ ├── ch/logixisland/anuto/GameFactory.class │ │ │ ├── procyon -ec {} │ │ │ │ @@ -116,41 +116,38 @@ │ │ │ │ this.mSpeedManager = new GameSpeed(this.mGameEngine); │ │ │ │ this.mTowerSelector = new TowerSelector(this.mGameEngine, this.mScoreBoard); │ │ │ │ final GameLoader mGameLoader = new GameLoader(context, this.mGameEngine, this.mGamePersister, this.mViewport, this.mEntityRegistry, this.mMapRepository, this.mSaveGameRepository); │ │ │ │ this.mGameLoader = mGameLoader; │ │ │ │ final HighScores mHighScores = new HighScores(context, this.mGameEngine, this.mScoreBoard, mGameLoader); │ │ │ │ this.mHighScores = mHighScores; │ │ │ │ this.mGameState = new GameState(this.mScoreBoard, mHighScores, this.mTowerSelector); │ │ │ │ - final WaveManager mWaveManager = new WaveManager(this.mGameEngine, this.mScoreBoard, this.mGameState, this.mEntityRegistry, this.mTowerAging); │ │ │ │ - this.mWaveManager = mWaveManager; │ │ │ │ - this.mGameSaver = new GameSaver(this.mGameEngine, this.mGameLoader, this.mGamePersister, this.mRenderer, mWaveManager, this.mScoreBoard, this.mSaveGameRepository); │ │ │ │ + this.mWaveManager = new WaveManager(this.mGameEngine, this.mScoreBoard, this.mGameState, this.mEntityRegistry, this.mTowerAging); │ │ │ │ + this.mGameSaver = new GameSaver(this.mGameEngine, this.mGameLoader, this.mGamePersister, this.mRenderer, this.mWaveManager, this.mScoreBoard, this.mSaveGameRepository); │ │ │ │ this.mTowerControl = new TowerControl(this.mGameEngine, this.mScoreBoard, this.mTowerSelector, this.mEntityRegistry); │ │ │ │ final TowerInserter mTowerInserter = new TowerInserter(this.mGameEngine, this.mGameState, this.mEntityRegistry, this.mTowerSelector, this.mTowerAging, this.mScoreBoard); │ │ │ │ this.mTowerInserter = mTowerInserter; │ │ │ │ this.mTutorialControl = new TutorialControl(context, mTowerInserter, this.mTowerSelector, this.mWaveManager); │ │ │ │ } │ │ │ │ │ │ │ │ private void initializeEngine(final Context context) { │ │ │ │ this.mViewport = new Viewport(); │ │ │ │ this.mEntityStore = new EntityStore(); │ │ │ │ this.mMessageQueue = new MessageQueue(); │ │ │ │ this.mGamePersister = new GamePersister(); │ │ │ │ final FrameRateLogger mFrameRateLogger = new FrameRateLogger(); │ │ │ │ this.mFrameRateLogger = mFrameRateLogger; │ │ │ │ - final Renderer mRenderer = new Renderer(this.mViewport, mFrameRateLogger); │ │ │ │ - this.mRenderer = mRenderer; │ │ │ │ - this.mGameLoop = new GameLoop(mRenderer, this.mFrameRateLogger, this.mMessageQueue, this.mEntityStore); │ │ │ │ + this.mRenderer = new Renderer(this.mViewport, mFrameRateLogger); │ │ │ │ + this.mGameLoop = new GameLoop(this.mRenderer, this.mFrameRateLogger, this.mMessageQueue, this.mEntityStore); │ │ │ │ this.mThemeManager = new ThemeManager(context, this.mRenderer); │ │ │ │ this.mSoundManager = new SoundManager(context); │ │ │ │ this.mSpriteFactory = new SpriteFactory(context, this.mThemeManager); │ │ │ │ final SoundFactory mSoundFactory = new SoundFactory(context, this.mSoundManager); │ │ │ │ this.mSoundFactory = mSoundFactory; │ │ │ │ - final GameEngine mGameEngine = new GameEngine(this.mSpriteFactory, this.mThemeManager, mSoundFactory, this.mEntityStore, this.mMessageQueue, this.mRenderer, this.mGameLoop); │ │ │ │ - this.mGameEngine = mGameEngine; │ │ │ │ - this.mEntityRegistry = new EntityRegistry(mGameEngine); │ │ │ │ + this.mGameEngine = new GameEngine(this.mSpriteFactory, this.mThemeManager, mSoundFactory, this.mEntityStore, this.mMessageQueue, this.mRenderer, this.mGameLoop); │ │ │ │ + this.mEntityRegistry = new EntityRegistry(this.mGameEngine); │ │ │ │ } │ │ │ │ │ │ │ │ private void registerEntities() { │ │ │ │ this.mEntityRegistry.registerEntity((EntityFactory)new BasicPlateau$Factory(), (EntityPersister)new BasicPlateau$Persister()); │ │ │ │ this.mEntityRegistry.registerEntity((EntityFactory)new Blob$Factory(), (EntityPersister)new Blob$Persister()); │ │ │ │ this.mEntityRegistry.registerEntity((EntityFactory)new Flyer$Factory(), (EntityPersister)new Flyer$Persister()); │ │ │ │ this.mEntityRegistry.registerEntity((EntityFactory)new Healer$Factory(), (EntityPersister)new Healer$Persister()); ├── smali/ch/logixisland/anuto/GameFactory.smali │ @@ -85,201 +85,221 @@ │ .line 91 │ invoke-direct {p0}, Lch/logixisland/anuto/GameFactory;->registerPersisters()V │ │ return-void │ .end method │ │ .method private initializeBusiness(Landroid/content/Context;)V │ - .locals 12 │ + .locals 24 │ + │ + move-object/from16 v0, p0 │ + │ + move-object/from16 v9, p1 │ │ .line 134 │ - new-instance v0, Lch/logixisland/anuto/business/game/MapRepository; │ + new-instance v1, Lch/logixisland/anuto/business/game/MapRepository; │ │ - invoke-direct {v0}, Lch/logixisland/anuto/business/game/MapRepository;->()V │ + invoke-direct {v1}, Lch/logixisland/anuto/business/game/MapRepository;->()V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mMapRepository:Lch/logixisland/anuto/business/game/MapRepository; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mMapRepository:Lch/logixisland/anuto/business/game/MapRepository; │ │ .line 135 │ - new-instance v0, Lch/logixisland/anuto/business/game/SaveGameRepository; │ + new-instance v1, Lch/logixisland/anuto/business/game/SaveGameRepository; │ │ - invoke-direct {v0, p1}, Lch/logixisland/anuto/business/game/SaveGameRepository;->(Landroid/content/Context;)V │ + invoke-direct {v1, v9}, Lch/logixisland/anuto/business/game/SaveGameRepository;->(Landroid/content/Context;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mSaveGameRepository:Lch/logixisland/anuto/business/game/SaveGameRepository; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mSaveGameRepository:Lch/logixisland/anuto/business/game/SaveGameRepository; │ │ .line 136 │ - new-instance v0, Lch/logixisland/anuto/business/game/ScoreBoard; │ + new-instance v1, Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - iget-object v1, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - invoke-direct {v0, v1}, Lch/logixisland/anuto/business/game/ScoreBoard;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ + invoke-direct {v1, v2}, Lch/logixisland/anuto/business/game/ScoreBoard;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ .line 137 │ - new-instance v0, Lch/logixisland/anuto/business/tower/TowerAging; │ + new-instance v1, Lch/logixisland/anuto/business/tower/TowerAging; │ │ - iget-object v1, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - invoke-direct {v0, v1}, Lch/logixisland/anuto/business/tower/TowerAging;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ + invoke-direct {v1, v2}, Lch/logixisland/anuto/business/tower/TowerAging;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mTowerAging:Lch/logixisland/anuto/business/tower/TowerAging; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mTowerAging:Lch/logixisland/anuto/business/tower/TowerAging; │ │ .line 138 │ - new-instance v0, Lch/logixisland/anuto/business/game/GameSpeed; │ + new-instance v1, Lch/logixisland/anuto/business/game/GameSpeed; │ │ - iget-object v1, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - invoke-direct {v0, v1}, Lch/logixisland/anuto/business/game/GameSpeed;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ + invoke-direct {v1, v2}, Lch/logixisland/anuto/business/game/GameSpeed;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mSpeedManager:Lch/logixisland/anuto/business/game/GameSpeed; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mSpeedManager:Lch/logixisland/anuto/business/game/GameSpeed; │ │ .line 139 │ - new-instance v0, Lch/logixisland/anuto/business/tower/TowerSelector; │ + new-instance v1, Lch/logixisland/anuto/business/tower/TowerSelector; │ │ - iget-object v1, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v2, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - invoke-direct {v0, v1, v2}, Lch/logixisland/anuto/business/tower/TowerSelector;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;)V │ + invoke-direct {v1, v2, v3}, Lch/logixisland/anuto/business/tower/TowerSelector;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ │ .line 140 │ - new-instance v0, Lch/logixisland/anuto/business/game/GameLoader; │ + new-instance v10, Lch/logixisland/anuto/business/game/GameLoader; │ │ - iget-object v5, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v6, p0, Lch/logixisland/anuto/GameFactory;->mGamePersister:Lch/logixisland/anuto/engine/logic/persistence/GamePersister; │ + iget-object v4, v0, Lch/logixisland/anuto/GameFactory;->mGamePersister:Lch/logixisland/anuto/engine/logic/persistence/GamePersister; │ │ - iget-object v7, p0, Lch/logixisland/anuto/GameFactory;->mViewport:Lch/logixisland/anuto/engine/render/Viewport; │ + iget-object v5, v0, Lch/logixisland/anuto/GameFactory;->mViewport:Lch/logixisland/anuto/engine/render/Viewport; │ │ - iget-object v8, p0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + iget-object v6, v0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ │ - iget-object v9, p0, Lch/logixisland/anuto/GameFactory;->mMapRepository:Lch/logixisland/anuto/business/game/MapRepository; │ + iget-object v7, v0, Lch/logixisland/anuto/GameFactory;->mMapRepository:Lch/logixisland/anuto/business/game/MapRepository; │ │ - iget-object v10, p0, Lch/logixisland/anuto/GameFactory;->mSaveGameRepository:Lch/logixisland/anuto/business/game/SaveGameRepository; │ + iget-object v8, v0, Lch/logixisland/anuto/GameFactory;->mSaveGameRepository:Lch/logixisland/anuto/business/game/SaveGameRepository; │ │ - move-object v3, v0 │ + move-object v1, v10 │ │ - move-object v4, p1 │ + move-object/from16 v2, p1 │ │ - invoke-direct/range {v3 .. v10}, Lch/logixisland/anuto/business/game/GameLoader;->(Landroid/content/Context;Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/engine/logic/persistence/GamePersister;Lch/logixisland/anuto/engine/render/Viewport;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;Lch/logixisland/anuto/business/game/MapRepository;Lch/logixisland/anuto/business/game/SaveGameRepository;)V │ + invoke-direct/range {v1 .. v8}, Lch/logixisland/anuto/business/game/GameLoader;->(Landroid/content/Context;Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/engine/logic/persistence/GamePersister;Lch/logixisland/anuto/engine/render/Viewport;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;Lch/logixisland/anuto/business/game/MapRepository;Lch/logixisland/anuto/business/game/SaveGameRepository;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mGameLoader:Lch/logixisland/anuto/business/game/GameLoader; │ + iput-object v10, v0, Lch/logixisland/anuto/GameFactory;->mGameLoader:Lch/logixisland/anuto/business/game/GameLoader; │ │ .line 141 │ new-instance v1, Lch/logixisland/anuto/business/game/HighScores; │ │ - iget-object v2, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v3, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - invoke-direct {v1, p1, v2, v3, v0}, Lch/logixisland/anuto/business/game/HighScores;->(Landroid/content/Context;Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/GameLoader;)V │ + invoke-direct {v1, v9, v2, v3, v10}, Lch/logixisland/anuto/business/game/HighScores;->(Landroid/content/Context;Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/GameLoader;)V │ │ - iput-object v1, p0, Lch/logixisland/anuto/GameFactory;->mHighScores:Lch/logixisland/anuto/business/game/HighScores; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mHighScores:Lch/logixisland/anuto/business/game/HighScores; │ │ .line 142 │ - new-instance v0, Lch/logixisland/anuto/business/game/GameState; │ + new-instance v2, Lch/logixisland/anuto/business/game/GameState; │ │ - iget-object v2, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - iget-object v3, p0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ + iget-object v4, v0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ │ - invoke-direct {v0, v2, v1, v3}, Lch/logixisland/anuto/business/game/GameState;->(Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/HighScores;Lch/logixisland/anuto/business/tower/TowerSelector;)V │ + invoke-direct {v2, v3, v1, v4}, Lch/logixisland/anuto/business/game/GameState;->(Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/HighScores;Lch/logixisland/anuto/business/tower/TowerSelector;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mGameState:Lch/logixisland/anuto/business/game/GameState; │ + iput-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameState:Lch/logixisland/anuto/business/game/GameState; │ │ .line 143 │ - new-instance v0, Lch/logixisland/anuto/business/wave/WaveManager; │ + new-instance v1, Lch/logixisland/anuto/business/wave/WaveManager; │ │ - iget-object v5, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v11, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v6, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + iget-object v12, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - iget-object v7, p0, Lch/logixisland/anuto/GameFactory;->mGameState:Lch/logixisland/anuto/business/game/GameState; │ + iget-object v13, v0, Lch/logixisland/anuto/GameFactory;->mGameState:Lch/logixisland/anuto/business/game/GameState; │ │ - iget-object v8, p0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + iget-object v14, v0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ │ - iget-object v9, p0, Lch/logixisland/anuto/GameFactory;->mTowerAging:Lch/logixisland/anuto/business/tower/TowerAging; │ + iget-object v15, v0, Lch/logixisland/anuto/GameFactory;->mTowerAging:Lch/logixisland/anuto/business/tower/TowerAging; │ │ - move-object v4, v0 │ + move-object v10, v1 │ │ - invoke-direct/range {v4 .. v9}, Lch/logixisland/anuto/business/wave/WaveManager;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/GameState;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;Lch/logixisland/anuto/business/tower/TowerAging;)V │ + invoke-direct/range {v10 .. v15}, Lch/logixisland/anuto/business/wave/WaveManager;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/GameState;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;Lch/logixisland/anuto/business/tower/TowerAging;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mWaveManager:Lch/logixisland/anuto/business/wave/WaveManager; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mWaveManager:Lch/logixisland/anuto/business/wave/WaveManager; │ │ .line 144 │ new-instance v1, Lch/logixisland/anuto/business/game/GameSaver; │ │ - iget-object v5, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v6, p0, Lch/logixisland/anuto/GameFactory;->mGameLoader:Lch/logixisland/anuto/business/game/GameLoader; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mGameLoader:Lch/logixisland/anuto/business/game/GameLoader; │ │ - iget-object v7, p0, Lch/logixisland/anuto/GameFactory;->mGamePersister:Lch/logixisland/anuto/engine/logic/persistence/GamePersister; │ + iget-object v4, v0, Lch/logixisland/anuto/GameFactory;->mGamePersister:Lch/logixisland/anuto/engine/logic/persistence/GamePersister; │ │ - iget-object v8, p0, Lch/logixisland/anuto/GameFactory;->mRenderer:Lch/logixisland/anuto/engine/render/Renderer; │ + iget-object v5, v0, Lch/logixisland/anuto/GameFactory;->mRenderer:Lch/logixisland/anuto/engine/render/Renderer; │ + │ + iget-object v6, v0, Lch/logixisland/anuto/GameFactory;->mWaveManager:Lch/logixisland/anuto/business/wave/WaveManager; │ + │ + iget-object v7, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + │ + iget-object v8, v0, Lch/logixisland/anuto/GameFactory;->mSaveGameRepository:Lch/logixisland/anuto/business/game/SaveGameRepository; │ + │ + move-object/from16 v16, v1 │ │ - iget-object v10, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + move-object/from16 v17, v2 │ │ - iget-object v11, p0, Lch/logixisland/anuto/GameFactory;->mSaveGameRepository:Lch/logixisland/anuto/business/game/SaveGameRepository; │ + move-object/from16 v18, v3 │ │ - move-object v4, v1 │ + move-object/from16 v19, v4 │ │ - move-object v9, v0 │ + move-object/from16 v20, v5 │ │ - invoke-direct/range {v4 .. v11}, Lch/logixisland/anuto/business/game/GameSaver;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/GameLoader;Lch/logixisland/anuto/engine/logic/persistence/GamePersister;Lch/logixisland/anuto/engine/render/Renderer;Lch/logixisland/anuto/business/wave/WaveManager;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/SaveGameRepository;)V │ + move-object/from16 v21, v6 │ │ - iput-object v1, p0, Lch/logixisland/anuto/GameFactory;->mGameSaver:Lch/logixisland/anuto/business/game/GameSaver; │ + move-object/from16 v22, v7 │ + │ + move-object/from16 v23, v8 │ + │ + invoke-direct/range {v16 .. v23}, Lch/logixisland/anuto/business/game/GameSaver;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/GameLoader;Lch/logixisland/anuto/engine/logic/persistence/GamePersister;Lch/logixisland/anuto/engine/render/Renderer;Lch/logixisland/anuto/business/wave/WaveManager;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/game/SaveGameRepository;)V │ + │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mGameSaver:Lch/logixisland/anuto/business/game/GameSaver; │ │ .line 145 │ - new-instance v0, Lch/logixisland/anuto/business/tower/TowerControl; │ + new-instance v1, Lch/logixisland/anuto/business/tower/TowerControl; │ │ - iget-object v1, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v2, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - iget-object v3, p0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ + iget-object v4, v0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ │ - iget-object v4, p0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + iget-object v5, v0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ │ - invoke-direct {v0, v1, v2, v3, v4}, Lch/logixisland/anuto/business/tower/TowerControl;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/tower/TowerSelector;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;)V │ + invoke-direct {v1, v2, v3, v4, v5}, Lch/logixisland/anuto/business/tower/TowerControl;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/ScoreBoard;Lch/logixisland/anuto/business/tower/TowerSelector;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mTowerControl:Lch/logixisland/anuto/business/tower/TowerControl; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mTowerControl:Lch/logixisland/anuto/business/tower/TowerControl; │ │ .line 146 │ - new-instance v0, Lch/logixisland/anuto/business/tower/TowerInserter; │ + new-instance v1, Lch/logixisland/anuto/business/tower/TowerInserter; │ + │ + iget-object v11, v0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - iget-object v6, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ + iget-object v12, v0, Lch/logixisland/anuto/GameFactory;->mGameState:Lch/logixisland/anuto/business/game/GameState; │ │ - iget-object v7, p0, Lch/logixisland/anuto/GameFactory;->mGameState:Lch/logixisland/anuto/business/game/GameState; │ + iget-object v13, v0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ │ - iget-object v8, p0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + iget-object v14, v0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ │ - iget-object v9, p0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ + iget-object v15, v0, Lch/logixisland/anuto/GameFactory;->mTowerAging:Lch/logixisland/anuto/business/tower/TowerAging; │ │ - iget-object v10, p0, Lch/logixisland/anuto/GameFactory;->mTowerAging:Lch/logixisland/anuto/business/tower/TowerAging; │ + iget-object v2, v0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ │ - iget-object v11, p0, Lch/logixisland/anuto/GameFactory;->mScoreBoard:Lch/logixisland/anuto/business/game/ScoreBoard; │ + move-object v10, v1 │ │ - move-object v5, v0 │ + move-object/from16 v16, v2 │ │ - invoke-direct/range {v5 .. v11}, Lch/logixisland/anuto/business/tower/TowerInserter;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/GameState;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;Lch/logixisland/anuto/business/tower/TowerSelector;Lch/logixisland/anuto/business/tower/TowerAging;Lch/logixisland/anuto/business/game/ScoreBoard;)V │ + invoke-direct/range {v10 .. v16}, Lch/logixisland/anuto/business/tower/TowerInserter;->(Lch/logixisland/anuto/engine/logic/GameEngine;Lch/logixisland/anuto/business/game/GameState;Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;Lch/logixisland/anuto/business/tower/TowerSelector;Lch/logixisland/anuto/business/tower/TowerAging;Lch/logixisland/anuto/business/game/ScoreBoard;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mTowerInserter:Lch/logixisland/anuto/business/tower/TowerInserter; │ + iput-object v1, v0, Lch/logixisland/anuto/GameFactory;->mTowerInserter:Lch/logixisland/anuto/business/tower/TowerInserter; │ │ .line 147 │ - new-instance v1, Lch/logixisland/anuto/business/game/TutorialControl; │ + new-instance v2, Lch/logixisland/anuto/business/game/TutorialControl; │ │ - iget-object v2, p0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ + iget-object v3, v0, Lch/logixisland/anuto/GameFactory;->mTowerSelector:Lch/logixisland/anuto/business/tower/TowerSelector; │ │ - iget-object v3, p0, Lch/logixisland/anuto/GameFactory;->mWaveManager:Lch/logixisland/anuto/business/wave/WaveManager; │ + iget-object v4, v0, Lch/logixisland/anuto/GameFactory;->mWaveManager:Lch/logixisland/anuto/business/wave/WaveManager; │ │ - invoke-direct {v1, p1, v0, v2, v3}, Lch/logixisland/anuto/business/game/TutorialControl;->(Landroid/content/Context;Lch/logixisland/anuto/business/tower/TowerInserter;Lch/logixisland/anuto/business/tower/TowerSelector;Lch/logixisland/anuto/business/wave/WaveManager;)V │ + invoke-direct {v2, v9, v1, v3, v4}, Lch/logixisland/anuto/business/game/TutorialControl;->(Landroid/content/Context;Lch/logixisland/anuto/business/tower/TowerInserter;Lch/logixisland/anuto/business/tower/TowerSelector;Lch/logixisland/anuto/business/wave/WaveManager;)V │ │ - iput-object v1, p0, Lch/logixisland/anuto/GameFactory;->mTutorialControl:Lch/logixisland/anuto/business/game/TutorialControl; │ + iput-object v2, v0, Lch/logixisland/anuto/GameFactory;->mTutorialControl:Lch/logixisland/anuto/business/game/TutorialControl; │ │ return-void │ .end method │ │ .method private initializeEngine(Landroid/content/Context;)V │ .locals 10 │ │ @@ -326,14 +346,16 @@ │ invoke-direct {v1, v2, v0}, Lch/logixisland/anuto/engine/render/Renderer;->(Lch/logixisland/anuto/engine/render/Viewport;Lch/logixisland/anuto/engine/logic/loop/FrameRateLogger;)V │ │ iput-object v1, p0, Lch/logixisland/anuto/GameFactory;->mRenderer:Lch/logixisland/anuto/engine/render/Renderer; │ │ .line 101 │ new-instance v0, Lch/logixisland/anuto/engine/logic/loop/GameLoop; │ │ + iget-object v1, p0, Lch/logixisland/anuto/GameFactory;->mRenderer:Lch/logixisland/anuto/engine/render/Renderer; │ + │ iget-object v2, p0, Lch/logixisland/anuto/GameFactory;->mFrameRateLogger:Lch/logixisland/anuto/engine/logic/loop/FrameRateLogger; │ │ iget-object v3, p0, Lch/logixisland/anuto/GameFactory;->mMessageQueue:Lch/logixisland/anuto/engine/logic/loop/MessageQueue; │ │ iget-object v4, p0, Lch/logixisland/anuto/GameFactory;->mEntityStore:Lch/logixisland/anuto/engine/logic/entity/EntityStore; │ │ invoke-direct {v0, v1, v2, v3, v4}, Lch/logixisland/anuto/engine/logic/loop/GameLoop;->(Lch/logixisland/anuto/engine/render/Renderer;Lch/logixisland/anuto/engine/logic/loop/FrameRateLogger;Lch/logixisland/anuto/engine/logic/loop/MessageQueue;Lch/logixisland/anuto/engine/logic/entity/EntityStore;)V │ @@ -392,19 +414,21 @@ │ move-object v2, p1 │ │ invoke-direct/range {v2 .. v9}, Lch/logixisland/anuto/engine/logic/GameEngine;->(Lch/logixisland/anuto/engine/render/sprite/SpriteFactory;Lch/logixisland/anuto/engine/theme/ThemeManager;Lch/logixisland/anuto/engine/sound/SoundFactory;Lch/logixisland/anuto/engine/logic/entity/EntityStore;Lch/logixisland/anuto/engine/logic/loop/MessageQueue;Lch/logixisland/anuto/engine/render/Renderer;Lch/logixisland/anuto/engine/logic/loop/GameLoop;)V │ │ iput-object p1, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ .line 107 │ - new-instance v0, Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + new-instance p1, Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + │ + iget-object v0, p0, Lch/logixisland/anuto/GameFactory;->mGameEngine:Lch/logixisland/anuto/engine/logic/GameEngine; │ │ - invoke-direct {v0, p1}, Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ + invoke-direct {p1, v0}, Lch/logixisland/anuto/engine/logic/entity/EntityRegistry;->(Lch/logixisland/anuto/engine/logic/GameEngine;)V │ │ - iput-object v0, p0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ + iput-object p1, p0, Lch/logixisland/anuto/GameFactory;->mEntityRegistry:Lch/logixisland/anuto/engine/logic/entity/EntityRegistry; │ │ return-void │ .end method │ │ .method private registerEntities()V │ .locals 3