Forge for Android v1.6.15.003
by mtgrares
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Forge for Android v1.6.2.004
by 1mrlee » 29 Aug 2017, 04:34
Bug:
Forge Android is unable to cast planeswalkers with a oath of nissa in play with colorless.
Forge Android is unable to cast planeswalkers with a oath of nissa in play with colorless.
Re: Forge for Android v1.6.2.004
by DaniUG » 29 Aug 2017, 18:21
Description: commander game, nothing special. Just an alpha strike
- NoSuchMethodError | Open
- Code: Select all
Forge Version: 1.6.2.004
Operating System: Linux 4.1.18-gce6cee1 armv7l
Java Version: 0 The Android Project
java.lang.NoSuchMethodError: No static method join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String; in class Ljava/lang/String; or its super classes (declaration of 'java.lang.String' appears in /system/framework/core-oj.jar)
at forge.game.ability.effects.DiscardEffect.getStackDescription(DiscardEffect.java:92)
at forge.game.ability.SpellAbilityEffect.getStackDescriptionWithSubs(SpellAbilityEffect.java:89)
at forge.game.spellability.AbilitySub.getStackDescription(AbilitySub.java:114)
at forge.player.HumanPlay.payCostDuringAbilityResolve(HumanPlay.java:308)
at forge.player.PlayerControllerHuman.payCostToPreventEffect(PlayerControllerHuman.java:1431)
at forge.game.ability.AbilityUtils.handleUnlessCost(AbilityUtils.java:1409)
at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1330)
at forge.game.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1320)
at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1334)
at forge.game.ability.AbilityUtils.resolveSubAbilities(AbilityUtils.java:1320)
at forge.game.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1334)
at forge.game.ability.AbilityUtils.resolve(AbilityUtils.java:1304)
at forge.ai.ComputerUtil.playNoStack(ComputerUtil.java:304)
at forge.ai.PlayerControllerAi.playSpellAbilityNoStack(PlayerControllerAi.java:338)
at forge.game.replacement.ReplacementHandler.executeReplacement(ReplacementHandler.java:273)
at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:157)
at forge.game.replacement.ReplacementHandler.run(ReplacementHandler.java:83)
at forge.game.player.Player.doDraw(Player.java:1304)
at forge.game.player.Player.drawCards(Player.java:1283)
at forge.game.player.Player.drawCard(Player.java:1215)
at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:250)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1003)
at forge.game.GameAction.startGame(GameAction.java:1570)
at forge.game.Match.startGame(Match.java:87)
at forge.match.HostedMatch$2.run(HostedMatch.java:224)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:776)
Even the smallest spark may set a world ablaze
Re: Forge for Android v1.6.2.004
by jrrkein » 30 Aug 2017, 00:23
Not sure if this helps
- | Open
- (ThreadUtil first call): Running on a machine with 8 cpu core(s)
java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:176)
at forge.util.ThreadUtil.executeWithTimeout(ThreadUtil.java:54)
at forge.util.FileUtil.readFile(FileUtil.java:291)
at forge.util.FileUtil.readFileToString(FileUtil.java:286)
at forge.assets.AssetsDownloader.checkForUpdates(AssetsDownloader.java:37)
at forge.Forge$1.run(Forge.java:97)
at java.lang.Thread.run(Thread.java:818)
Language 'java.util.PropertyResourceBundle@1a24b92c' loaded successfully.
Read cards: 16994 archived files in 5860 ms (25 parts) using thread pool
FSkin$loadFull: Missing a sprite (default icons, preferred icons, or foils.
com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: /storage/emulated/0/Forge/res/skins/default/sprite_icons.png
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
at com.badlogic.gdx.graphics.TextureData$Factory.loadFromFile(TextureData.java:98)
at com.badlogic.gdx.graphics.GLTexture.createTextureData(GLTexture.java:185)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:103)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:95)
at forge.assets.FSkin.loadFull(FSkin.java:187)
at forge.Forge.afterDbLoaded(Forge.java:120)
at forge.Forge.access$300(Forge.java:41)
at forge.Forge$1$1.run(Forge.java:110)
at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1583)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1286)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: /storage/emulated/0/Forge/res/skins/default/sprite_icons.png (Absolute)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:144)
at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:80)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
... 11 more
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Forge/res/skins/default/sprite_icons.png: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:496)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:140)
... 14 more
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:482)
... 16 more
java.lang.NullPointerException: Attempt to read from field 'float com.badlogic.gdx.graphics.Color.a' on a null object reference
at forge.assets.FSkinColor.getAlpha(FSkinColor.java:266)
at forge.screens.match.TargetingOverlay.updateColors(TargetingOverlay.java:50)
at forge.assets.FSkinColor.updateAll(FSkinColor.java:262)
at forge.assets.FSkin.loadFull(FSkin.java:262)
at forge.Forge.afterDbLoaded(Forge.java:120)
at forge.Forge.access$300(Forge.java:41)
at forge.Forge$1$1.run(Forge.java:110)
at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1583)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1286)
[CDS][DNS]Unable to resolve host "releases.cardforge.org": No address associated with hostname
- jrrkein
- Posts: 19
- Joined: 03 Aug 2016, 09:59
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge for Android v1.6.2.004
by Agetian » 30 Aug 2017, 04:57
Yeah, this basically says that your game assets haven't been downloaded fully and/or extracted properly, which may have been due to a network connection error or for some other reason. Try reinstalling the game by: 1) redownloading and manually reinstalling the APK from the first post in this thread; 2) deleting (or moving) the "res" folder, which should prompt the game to redownload the assets upon startup. This should help.jrrkein wrote:Not sure if this helps
- | Open
- (ThreadUtil first call): Running on a machine with 8 cpu core(s)
java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:176)
at forge.util.ThreadUtil.executeWithTimeout(ThreadUtil.java:54)
at forge.util.FileUtil.readFile(FileUtil.java:291)
at forge.util.FileUtil.readFileToString(FileUtil.java:286)
at forge.assets.AssetsDownloader.checkForUpdates(AssetsDownloader.java:37)
at forge.Forge$1.run(Forge.java:97)
at java.lang.Thread.run(Thread.java:818)
Language 'java.util.PropertyResourceBundle@1a24b92c' loaded successfully.
Read cards: 16994 archived files in 5860 ms (25 parts) using thread pool
FSkin$loadFull: Missing a sprite (default icons, preferred icons, or foils.
com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: /storage/emulated/0/Forge/res/skins/default/sprite_icons.png
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
at com.badlogic.gdx.graphics.TextureData$Factory.loadFromFile(TextureData.java:98)
at com.badlogic.gdx.graphics.GLTexture.createTextureData(GLTexture.java:185)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:103)
at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:95)
at forge.assets.FSkin.loadFull(FSkin.java:187)
at forge.Forge.afterDbLoaded(Forge.java:120)
at forge.Forge.access$300(Forge.java:41)
at forge.Forge$1$1.run(Forge.java:110)
at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1583)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1286)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: /storage/emulated/0/Forge/res/skins/default/sprite_icons.png (Absolute)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:144)
at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:80)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
... 11 more
Caused by: java.io.FileNotFoundException: /storage/emulated/0/Forge/res/skins/default/sprite_icons.png: open failed: ENOENT (No such file or directory)
at libcore.io.IoBridge.open(IoBridge.java:496)
at java.io.FileInputStream.<init>(FileInputStream.java:76)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:140)
... 14 more
Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:482)
... 16 more
java.lang.NullPointerException: Attempt to read from field 'float com.badlogic.gdx.graphics.Color.a' on a null object reference
at forge.assets.FSkinColor.getAlpha(FSkinColor.java:266)
at forge.screens.match.TargetingOverlay.updateColors(TargetingOverlay.java:50)
at forge.assets.FSkinColor.updateAll(FSkinColor.java:262)
at forge.assets.FSkin.loadFull(FSkin.java:262)
at forge.Forge.afterDbLoaded(Forge.java:120)
at forge.Forge.access$300(Forge.java:41)
at forge.Forge$1$1.run(Forge.java:110)
at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:415)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1583)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1286)
[CDS][DNS]Unable to resolve host "releases.cardforge.org": No address associated with hostname
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Forge for Android v1.6.2.004
by jrrkein » 30 Aug 2017, 11:19
Did:
1) moving "res" folder = stuck "checking for update". No prompt
2) reinstall the app = stuck at checking for update
1) moving "res" folder = stuck "checking for update". No prompt
2) reinstall the app = stuck at checking for update
- jrrkein
- Posts: 19
- Joined: 03 Aug 2016, 09:59
- Has thanked: 0 time
- Been thanked: 0 time
Re: Forge for Android v1.6.2.004
by jureidinim » 30 Aug 2017, 13:31
Hi guys - just looking for confirmation on how EXALTED: (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn) .. works.
It seems to me to be doubling up?
I played an AI which had Sigiled Paladin out which has Exalted. It is a 2/2 creature. It attacks alone and i expected it to be now a 3/3 creature, but it stacks twice on the queue and goes to 4/4 ??
Later, a Knight of Glory comes out - also with exalted, and a Sublime Archangel (also exalted - but it makes all other creatures you control get exalted - and if its multiple it will trigger individually). The Sigiled Paladin attacks alone, and goes from 2/2 creature up to a 10/10?
Shouldn't it be: Sigiled Paladin attacks alone: 2/2;
Exalted: +1/+1
Knight of Glory Exalted ability: +1/+1
Sublime Archangel Exalted ability: +1/+1
Sublime ArchAngel gives Exalted: +1/+1
Sigiled Paladin is now a : 6/6 ... not 10/10????
**EDIT** Sublime Archangel would also give exalted to Knight of Glory for another: +1/+1
Total for Sigiled Paladin attacking alone would then be 7/7 (still not 10/10???)
Am I just not understanding how exalted works or is this a bug?
It seems to me to be doubling up?
I played an AI which had Sigiled Paladin out which has Exalted. It is a 2/2 creature. It attacks alone and i expected it to be now a 3/3 creature, but it stacks twice on the queue and goes to 4/4 ??
Later, a Knight of Glory comes out - also with exalted, and a Sublime Archangel (also exalted - but it makes all other creatures you control get exalted - and if its multiple it will trigger individually). The Sigiled Paladin attacks alone, and goes from 2/2 creature up to a 10/10?
Shouldn't it be: Sigiled Paladin attacks alone: 2/2;
Exalted: +1/+1
Knight of Glory Exalted ability: +1/+1
Sublime Archangel Exalted ability: +1/+1
Sublime ArchAngel gives Exalted: +1/+1
Sigiled Paladin is now a : 6/6 ... not 10/10????
**EDIT** Sublime Archangel would also give exalted to Knight of Glory for another: +1/+1
Total for Sigiled Paladin attacking alone would then be 7/7 (still not 10/10???)
Am I just not understanding how exalted works or is this a bug?
- jureidinim
- Posts: 53
- Joined: 07 Feb 2014, 04:41
- Has thanked: 3 times
- Been thanked: 4 times
Re: Forge for Android v1.6.2.004
by Agetian » 30 Aug 2017, 15:27
Hmm it might be that you can't reach the update server for some reason :/ Does anything change if you try a different Internet connection, if possible?jrrkein wrote:Did:
1) moving "res" folder = stuck "checking for update". No prompt
2) reinstall the app = stuck at checking for update
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Forge for Android v1.6.2.004
by Agetian » 30 Aug 2017, 15:28
UPDATE (08/30/17): Forge for Android v1.6.2.005 has been released. It's an incremental update featuring some fixes of reported bugs, and also introduces some implemented Ixalan cards that have been revealed so far. These cards will only be visible and playable if Developer Mode is enabled in the preferences. Enjoy!
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Forge for Android v1.6.2.004
by Agetian » 30 Aug 2017, 15:29
@ jureidinim: If there's something that gives Exalted to other creatures on the battlefield, it actually gives an additional Exalted instance to it (I believe they stack), so Exalted starts to trigger twice for them since there are two instances 
- Agetian

- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Re: Forge for Android v1.6.2.004
by jureidinim » 30 Aug 2017, 15:41
Hi - thanks - but i still cant see how it adds up like that. Especially when the Paladin was the only creature on the battlefield and it attacked and went from 2/2 to 4/4.Agetian wrote:@ jureidinim: If there's something that gives Exalted to other creatures on the battlefield, it actually gives an additional Exalted instance to it (I believe they stack), so Exalted starts to trigger twice for them since there are two instances
- Agetian
I think the text on the Sublime Archangel said it gives Exalted to OTHER creatures you own.. so i wouldn't expect it to give it to itself? or is that how it is supposed to work?
- jureidinim
- Posts: 53
- Joined: 07 Feb 2014, 04:41
- Has thanked: 3 times
- Been thanked: 4 times
Re: Forge for Android v1.6.2.004
by jureidinim » 30 Aug 2017, 15:53
Quoting my own postjureidinim wrote:Hi - thanks - but i still cant see how it adds up like that. Especially when the Paladin was the only creature on the battlefield and it attacked and went from 2/2 to 4/4.Agetian wrote:@ jureidinim: If there's something that gives Exalted to other creatures on the battlefield, it actually gives an additional Exalted instance to it (I believe they stack), so Exalted starts to trigger twice for them since there are two instances
- Agetian
I think the text on the Sublime Archangel said it gives Exalted to OTHER creatures you own.. so i wouldn't expect it to give it to itself? or is that how it is supposed to work?

.. But i think i figured it out.
Its a Planar conquest match. A Vanguard match against Dauntless Escort.
While the battle is going on, i see the Dauntless Escort card for my self and my opponent (on the far right of battlefield), and that card gives Exalted to all attackers based on the text of the card (attacking alone) - so that's where the extra +1/+1 seems to be coming from.
**EDITED - removed question here -- figured it out... thanks!
- jureidinim
- Posts: 53
- Joined: 07 Feb 2014, 04:41
- Has thanked: 3 times
- Been thanked: 4 times
Re: Forge for Android v1.6.2.004
by DaniUG » 01 Sep 2017, 15:44
Description: waiting for the damage to be signed and the match to be won. Attacking with 12 or so creatures.
- OutOfMemoryError | Open
- Code: Select all
Forge Version: 1.6.2.005
Operating System: Linux 4.1.18-gce6cee1 armv7l
Java Version: 0 The Android Project
java.lang.OutOfMemoryError: Failed to allocate a 544 byte allocation with 4194304 free bytes and 34MB until OOM; failed due to fragmentation (required continguous free 8192 bytes for a new buffer where largest contiguous free 4096 bytes)
at java.lang.Object.internalClone(Native Method)
at java.lang.Object.clone(Object.java:229)
at java.util.EnumMap.<init>(EnumMap.java:172)
at com.google.common.collect.Maps.newEnumMap(Maps.java:351)
at forge.game.card.CardUtil.getLKICopy(CardUtil.java:512)
at forge.game.zone.Zone.getLKICopy(Zone.java:264)
at forge.game.Game.copyLastState(Game.java:161)
at forge.game.combat.Combat.dealAssignedDamage(Combat.java:787)
at forge.game.phase.PhaseHandler.onPhaseBegin(PhaseHandler.java:317)
at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:1003)
at forge.game.GameAction.startGame(GameAction.java:1574)
at forge.game.Match.startGame(Match.java:87)
at forge.match.HostedMatch$2.run(HostedMatch.java:224)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:776)
Even the smallest spark may set a world ablaze
Re: Forge for Android v1.6.2.004
by RationalGaze » 02 Sep 2017, 18:46
Just joining the forums.
Great job on building MTG into an apk.
Great job on building MTG into an apk.
- RationalGaze
- Posts: 29
- Joined: 02 Sep 2017, 18:37
- Has thanked: 15 times
- Been thanked: 5 times
Re: Forge for Android v1.6.2.004
by kevlahnota » 05 Sep 2017, 19:03
On android, You can activate opponents stack ability or cast stack cards when zoomed. Then NPE when you try activating or casting the stack card/ability.
-
kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: Forge for Android v1.6.2.004
by Agetian » 06 Sep 2017, 03:37
Hmm, this is really odd :/ What's even more funny, it doesn't happen when running libgdx Forge on PC (e.g. in debug mode). I'll need to think why this might be happening.kevlahnota wrote:On android, You can activate opponents stack ability or cast stack cards when zoomed. Then NPE when you try activating or casting the stack card/ability.Screenshot_20170906-025452.pngScreenshot_20170906-025510.png
EDIT: Tried it on my Android phone and couldn't repro it as well... what are the exact conditions when this is happening?
- Agetian
- Agetian
- Programmer
- Posts: 3489
- Joined: 14 Mar 2011, 05:58
- Has thanked: 684 times
- Been thanked: 572 times
Who is online
Users browsing this forum: Majestic-12 [Bot] and 33 guests