Updates on the way.
MicroProse's Shandalar Campaign Game, now with new cards & a new look!
Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins
Re: Updates on the way.
by Korath » 07 Jul 2015, 21:42
They are card ids, just indices into a different array. It would be a significant effort to change their types for almost no non-cosmetic gain. (The hex values in the Code Address column are the addresses of each card's function in Manalink. They're replaced at runtime in Shandalar.)guinsoo wrote:While we're talking about castle cards -
It looks like the game has always been coded such that the 3 cards you can find in the dungeons/castles are pointed to by line #, and the card that starts in play is stored by card ID. I notice that in ct_all.csv the card IDs are not referenced (unless that's what the hex value is, a pointer to cardID) - is it possible to reference all new cards via card ID anyway for the dungeons?
- New cards in the dev version since my last post | Open
- Adaptive Snapjaw
Aku Djinn
Angus Mackenzie
Arena of the Ancients
Battering Krasis
Black Oak of Odunos
Blunt the Assault
Bonds of Quicksilver
Borderland Behemoth
Bramblesnap
Bubble Matrix
Chameleon Blur
Cho-Manno, Revolutionary
Choke
Chronatog
Chronomaton
Claustrophobia
Clinging Anemones
Clinging Mists
Cloudfin Raptor
Cloudgoat Ranger
Crackdown
Crippling Chill
Crocanura
Crypt Incursion
Curse of Marit Lage
Daring Apprentice
Dawn Elemental
Dawnstrider
Deep-Slumber Titan
Defang
Defend the Hearth
Dehydration
Demonic Rising
Demonic Taskmaster
Demonic Torment
Divine Light
Dolmen Gate
Druid's Deliverance
Dungeon Geists
Eater of Days
Ebony Owl Netsuke
Elusive Krasis
Elvish Hunter
Embargo
Emmara Tandris
Enraged Revolutionary
Ertai, Wizard Adept
Ertai, the Corrupted
Eternity Snare
Ethersworn Shieldmage
Eyes in the Skies
Favored Hoplite
Firedrinker Satyr
Fog Bank
Forfend
Frost Breath
Frost Lynx
Grenzo's Cutthroat
Guard Gomazoa
Gutwrencher Oni
Gyre Sage
Harvestguard Alseids
High Priest of Penance
High Sentinels of Arashin
Hindervines
Hokori, Dust Drinker
Honor the Fallen
Horn of Deafening
Hornet Nest
Hunter's Ambush
Indestructible Aura
Ivory Crane Netsuke
Jackal Pup
Juntu Stakes
Kami of False Hope
Kashi-Tribe Elite
Kashi-Tribe Reaver
Kill Switch
Knight-Captain of Eos
Kor Hookmaster
Kry Shield
Lady Evangela
Leap of Faith
Light of Sanction
Llanowar Behemoth
Llanowar Dead
Lodestone Myr
Lorthos, the Tidemaker
Marble Titan
Marchesa's Emissary
Marchesa's Infiltrator
Marchesa's Smuggler
Mark of Asylum
Matsu-Tribe Sniper
Maze Behemoth
Maze Glider
Maze Rusher
Maze Sentinel
Meditate
Medomai the Ageless
Melancholy
Merciless Executioner
Mist of Stagnation
Mogg Maniac
Muzzle
Mycosynth Fiend
Mystic Snake
Nim Lasher
Nim Shrieker
Null Brooch
Numbing Dose
Orochi Ranger
Paralyzing Grasp
Personal Sanctuary
Phyrexian Negator
Quiet Contemplation
Rackling (previously approximated as The Rack)
Redeem
Renegade Krasis
Resistance Fighter
Respite
Return to the Earth
Ring of Immortals
Riot Control
Rising Waters
Runner's Bane
Saber Ants
Safe Passage
Safeguard
Salvage Slasher
Scourge of Geier Reach
Search Warrant
Seraph of the Sword
Serra Avenger
Shackles
Shambleshark
Shielded Passage
Shipbreaker Kraken
Silver Seraph
Slum Reaper
Somnophore
Songstitcher
Soul Parry
Souls of the Faultless
Soulsworn Jury
Spirit of Resistance
Spore Cloud
Spore Frog
Sprouting Phytohydra
Squirrel Mob
Stronghold Biologist
Stronghold Machinist
Stuffy Doll
Subdue
Sudden Storm
Sultai Skullkeeper
Sunastian Falconer
Symbiosis
Tangle
Tanglesap
Telekinesis
Temporal Isolation
Terrifying Presence
Thirst
Tidebinder Mage
Topan Ascetic
Veteran Armorer
Viseling (previously approximated as Black Vise)
Wall of Essence
Wall of Hope
Wall of Souls
Wavecrash Triton
Whisk Away
Wight of Precinct Six
Winds of Qal Sisma
Wrath of Marit Lage
Goblin Artisans and Priest of Yawgmoth can be ignored for now, since I haven't made any counter-target-activated-ability cards yet. However, I view the others, and particularly the counterspells among them, as a major enough issue that I don't want to release with them in place. None except Reset are trivially rewriteable at this point. I can maybe hack something together so that some are cast at instant speed but otherwise reuse the MicroProse versions; but the four cards that can target either spells on the stack or permanents on the battlefield (Blue and Red Elemental Blast, Magical Hack, and Sleight of Mind) won't fit that approach, and Spell Blast in particular is a major problem - if it's cast at instant speed, then the real converted mana cost of other spells with

On the other hand, while I haven't made any progress in getting adventure mode to run at modern resolution, I have convinced it to run in a window instead of forcing itself to full-screen. It still doesn't repaint itself properly if another window is moved on top of it, which is annoying. The deckbuilder makes a window at full screen resolution, which can be seen either as a plus or a minus; there isn't an easy way to make it run in the adventure mode's window. (Segregating it into deckdll.dll actually made it harder to work with, not easier.) Duel can either run at full resolution, or (mostly) confined to the adventure-mode window.
Last edited by Korath on 31 Jul 2015, 04:05, edited 4 times in total.
-
Korath - DEVELOPER
- Posts: 3708
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1108 times
Re: Updates on the way.
by Crag Hack » 08 Jul 2015, 15:35
Now that I got the game running
, I have some suggestions about the castle advantages. These are all monocolored enchantments, if we would consider artifacts or multicolored, people can say their opinions. Some of the folowing might be overpowered.
Black
Dauthi Embrace
Death Pit Offering
Gate to Phyrexia
Honden of Night's Reach
Intimidation
Haunting Wind
Blue
Honden of Seeing Winds
Levitation
Frozen AEther
Green
Centaur Glade
Defense of the Heart
Powerleech
Spidersilk Armor
Storm Front
White
Damping Field
Dictate of Heliod
Land Tax
True Conviction
Red
Bedlam
Rage Reflection
Raging River
Something else about the castles. A good player can make it so that he has a very good chance to get a starting creature before the boss. This often gives a great advantage to the player and the boss fight isn't a challenge. Even if I get something simple
like a Vampire Nighthawk, it's game over. Does anybody else see it this way?

Black
Dauthi Embrace
Death Pit Offering
Gate to Phyrexia
Honden of Night's Reach
Intimidation
Haunting Wind
Blue
Honden of Seeing Winds
Levitation
Frozen AEther
Green
Centaur Glade
Defense of the Heart
Powerleech
Spidersilk Armor
Storm Front
White
Damping Field
Dictate of Heliod
Land Tax
True Conviction
Red
Bedlam
Rage Reflection
Raging River
Something else about the castles. A good player can make it so that he has a very good chance to get a starting creature before the boss. This often gives a great advantage to the player and the boss fight isn't a challenge. Even if I get something simple

- Crag Hack
- Posts: 13
- Joined: 30 Jun 2015, 09:11
- Has thanked: 0 time
- Been thanked: 0 time
Re: Updates on the way.
by gmzombie » 08 Jul 2015, 17:10
Aww snap I see my favorite keyword evolve. I also see fateful hour. And I can't wait till we get to use courser of kruphix like cards as you showed a few pages ago. I also put in a thread in the general mtg programming forum to ask if someone had any gdi programming of if they could help with the current issue of resolution but I have yet to see anybody answer my call. I know you have put in so much time with this and I'm excited as with everybody else with the new cards and abilities. My last question is if you get the courser of kruphix working the way you shown us will you be able to port that to manalink?
can I maze of ith your snowstorm?
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
- gmzombie
- Posts: 857
- Joined: 26 Feb 2009, 01:05
- Location: Wyoming, Mi
- Has thanked: 200 times
- Been thanked: 51 times
Re: Updates on the way.
by Korath » 08 Jul 2015, 19:36
I'm fairly certain that the issue with resolution isn't the mess of gdi calls (though I'm not terribly comfortable with them); it's something in the image loading routines seeing a resolution it's not expecting and just bailing out.
I'll see about porting the top-card-of-your-library-is-visible effect to Manalink once it's complete. Right now, since I don't have a mechanism for "play arbitrary card", you can't click on the library to play the card, and it doesn't highlight when it's playable. (Also because of that, Courser of Kruphix itself isn't in, though cards that just reveal or give bonuses depending on what's revealed like Field of Dreams and Vampire Nocturnus are.)
I'll see about porting the top-card-of-your-library-is-visible effect to Manalink once it's complete. Right now, since I don't have a mechanism for "play arbitrary card", you can't click on the library to play the card, and it doesn't highlight when it's playable. (Also because of that, Courser of Kruphix itself isn't in, though cards that just reveal or give bonuses depending on what's revealed like Field of Dreams and Vampire Nocturnus are.)
Vampire Nighthawk, pish - the traditional exploit uses Shivan Dragon. There's a bug open for it; input, as always, is welcome.Crag Hack wrote:Something else about the castles. A good player can make it so that he has a very good chance to get a starting creature before the boss. This often gives a great advantage to the player and the boss fight isn't a challenge. Even if I get something simplelike a Vampire Nighthawk, it's game over. Does anybody else see it this way?
-
Korath - DEVELOPER
- Posts: 3708
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1108 times
Re: Updates on the way.
by Crag Hack » 08 Jul 2015, 20:18
I just had an idea about the card prices. Could it be a solution if we took the card prices from another MTG program, for example Forge, and make an adjustment so that they fit Shandalar?
- Crag Hack
- Posts: 13
- Joined: 30 Jun 2015, 09:11
- Has thanked: 0 time
- Been thanked: 0 time
Re: Updates on the way.
by jiansonz » 08 Jul 2015, 20:34
This has changed, I've noticed. In the campaign I play currently (Loremaster's Tower 2 version), seven of these cards are available in the cardpicker.Korath wrote:[*]Those cards on the Vintage/Legacy banned/restricted lists that didn't make it into dungeons (and aren't mentioned as deliberately omitted above) aren't selectable in the cardpicker or available for sale in towns, just like the Arabian Nights cards in the original game weren't. They can still be won as ante, and can be found randomly after battles and such, but it's exceedingly rare. Paradoxically, they're even harder to get than the dungeon cards; so this'll need revising.
- The list; most of these that weren't originally in the game still aren't | Open
- Bazaar of Baghdad
Black Vise
Brainstorm
Demonic Consultation
Earthcraft
Flash
Frantic Search
Goblin Recruiter
Gush
Hermit Druid
Lion's Eye Diamond
Mana Drain
Mana Vault
Memory Jar
Mental Misstep
Merchant Scroll
Mind Twist
Mind's Desire
Oath of Druids
Ponder
Skullclamp
Survival of the Fittest
Thirst for Knowledge
Treasure Cruise
Trinisphere
Yawgmoth's Will
Four "oldies" (Bazaar of Baghdad, Black Vise, Mana Vault, Mind Twist) and three new ones (Frantic Search, Goblin Recruiter, Merchant Scroll). Have any other cards in the list made it into the game?
And speaking of the cardpicker, here are the changes I've seen between old and new Shandalar:
Cards that used to be available in the cardpicker but are not any longer (because they are now dungeon treasures):
Cards that are now available in the cardpicker that previously were not:
- | Open
- Call from the Grave
Gem Bazaar
Necropolis of Azar
Orcish Catapult
Pandora's Box
Power Struggle
Prismatic Dragon
Rainbow Knights
Black Mana Battery
Blue Mana Battery
Green Mana Battery
Red Mana Battery
White Mana Battery
Celestial Prism
Serendib Efreet
Serendib Djinn
Junun Efreet
Juzam Djinn
Ydwen Efreet
Mijae Djinn
Ifh-Biff Efreet
King Suleiman
Akron Legionnaire
Stone-Throwing Devils
Arena
Diamond Valley
Elephant Graveyard
Ali from Cairo
Berserk
Braingeyser
Candelabra of Tawnos
Copy Artifact
Feldon's Cane
Forcefield
Fork
Ivory Tower
Mind Twist
Regrowth
Plus the (in addition to Ydwen Efreet) other last 6 red creatures in the alphabet due to overlap problem
Re: Updates on the way.
by Crag Hack » 09 Jul 2015, 21:23
There was a talk somewhere about what other advantages the dice could give. One possibility is the following: "Your starting hand has +1/2/3 cards." Discard rules apply as usual. Another is to start with a basic land of your deck in play and not counting towards the 1 land per turn limit obviously. And a last option would be to keep some/all the dice results a secret until you start a duel. In this case we could have advantages, disadvantages or totally random stuff like "Both players start with Pandora's Box / Bottle of Suleiman in play"
- Crag Hack
- Posts: 13
- Joined: 30 Jun 2015, 09:11
- Has thanked: 0 time
- Been thanked: 0 time
Re: Updates on the way.
by Korath » 13 Jul 2015, 02:58
Yes; I thought that it was enough to set a card's expansion to Arabian Nights to exclude it from the cardpicker. I've found another flag that actually does that (EA_UNK800), which is set on most of the cards you list as newly-pickable. I haven't gone back and set it on them, however. I'm still not sure how I want to balance the cardpicker and which cards can get generated in towns (which the expansion does influence), or even whether it's even worth it to try instead of making them configurable.jiansonz wrote:This has changed, I've noticed. In the campaign I play currently (Loremaster's Tower 2 version), seven of these cards are available in the cardpicker.
No. Brainstorm and Earthcraft are in the next version, though.jiansonz wrote:Four "oldies" (Bazaar of Baghdad, Black Vise, Mana Vault, Mind Twist) and three new ones (Frantic Search, Goblin Recruiter, Merchant Scroll). Have any other cards in the list made it into the game?
Speaking of the next version, sorry it's turning into vaporware.

Healing Salve needs to keep its modality choice when copiedunnecessary for now, since it won't even let you choose to gain life if you cast it with damage cards pendingAlabaster Potion needs to keep its modality choice when copied (it and Healing Salve use the same back-end function in Shandalar.exe), and also needs to store x_value in info_slot when preventing damagefirst half per Healing Salve, second half doneDrain Life and Fireball need to migrate from the LCBP_CARD_BEING_COPIED interface to the new EVENT_COPY_SPELLdoneOrcish Catapult ("Took the lazy way out - it now records its X value properly, but copying the spell will always pick new random targets.Instant. Randomly distribute X -0/-1 counters among a random number of random target creatures.") needs to store x_value in info_slot, and I need to figure out how its weird targeting is supposed to work with Fork. I'm guessing that it should be "You can randomly distribute the counters among the same targets that were chosen before; or, you can randomly distribute the counters among the same number of newly-randomly-chosen targets." There aren't any printed instants or sorceries that have random targets, I don't think; and while there's a very small number of cards that have activated abilities with randomly-chosen targets, like Goblin Test Pilot, which might interact with Fork's analogue Rings of Brighthearth, there aren't any rulings I can find, nor any with a random number of targets.
Sacrifice needs to not charge its additional cost when copied. (This part is easy; I've already done it for Tinker, for example. It's the rest of rewriting the card that's hard; see below.)Spell Blast itself needs to store its own x_value in info_slot.Twiddle uses the LCBP_CARD_BEING_COPIED interface to enforce its modality choice... except it's not a modal spell anymore. It needs a full rewrite to remove that.doneAnd all the cards I've added that can have a variable number of targets need to keep the same number of them when copied. These can be done all at once; they share a very small number of interfaces.Done.
My version of Fork is somewhat closer to how it's supposed to work under modern rules than MicroProse's is, but still has a long way to go. Right now, you can either choose all new targets - as you could with the original version - or, by selecting cancel, you can keep all of them targeting the same as the copied spell. (The behavior of MicroProse's Fork when targeting is cancelled isn't predictable; it leaves the remaining targets unchosen, so the spell sometimes fails at validation and sometimes only affects those targets that were rechosen; but you can't ever, say, Fork a spell that targets the AI's creature with hexproof and have your copy remain targeting it too.) You still can't choose some new targets while leaving the others in place; this is as difficult to do in the Manalink engine as Deflection-style effects, though I'm working towards that. You also still can't respond to the copied spell after its targets are chosen. I can live with it for now, though.
I don't expect nearly as much trouble from the other remaining interrupts except perhaps Dark Ritual and Sacrifice. I'm fairly sure that, with some effort, I can keep them castable for the human player while a mana cost is being charged; but less so that I can keep the AI using them even as well as it currently does.
Last edited by Korath on 31 Jul 2015, 04:06, edited 7 times in total.
-
Korath - DEVELOPER
- Posts: 3708
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1108 times
Re: Updates on the way.
by gmzombie » 13 Jul 2015, 21:01
No we don't consider this vaporware. What you do is amazing and we are just happy to see improvements.
can I maze of ith your snowstorm?
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
- gmzombie
- Posts: 857
- Joined: 26 Feb 2009, 01:05
- Location: Wyoming, Mi
- Has thanked: 200 times
- Been thanked: 51 times
Re: Updates on the way.
by Korath » 13 Jul 2015, 22:11
You may not, but I do. I'm not an altruistic person; I wouldn't have any qualms at all about updating the game and keeping it to myself if it were that easy. I make public releases because I get value back in the form of bug reports, AI decks, balance advice, feature suggestions, etc. The longer I go between releases, the less relevant those become. I'd make daily snapshot releases if I could fully automate it and didn't think it would be counterproductive in terms of the feedback I'd receive.
---
Today, I discovered (almost by accident) how to arbitrarily resize smallcards.The actual goal was to keep the elements on the left - everything starting at the current-phase display - from getting stretched out of the normal 4x3 aspect ratio. Among other reasons, the extra width makes the top-card-of-library display look plain horrid. That's still going to take some work.
---
Today, I discovered (almost by accident) how to arbitrarily resize smallcards.The actual goal was to keep the elements on the left - everything starting at the current-phase display - from getting stretched out of the normal 4x3 aspect ratio. Among other reasons, the extra width makes the top-card-of-library display look plain horrid. That's still going to take some work.
-
Korath - DEVELOPER
- Posts: 3708
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1108 times
Re: Updates on the way.
by Huggybaby » 13 Jul 2015, 22:18
That screenie looks excellent. Shandalar is beginning to look more sophisticated.
-
Huggybaby - Administrator
- Posts: 3225
- Joined: 15 Jan 2006, 19:44
- Location: Finally out of Atlanta
- Has thanked: 737 times
- Been thanked: 601 times
Re: Updates on the way.
by gmzombie » 14 Jul 2015, 13:38
Wow I'm super excited about that screen shot. Is that something that you found in the shandalr itself that could be ported to manalink or is it in a shared dll? This thread is why I check this site everyday. If there is a reason to change some of the other bmps like phase counter or whatnot.
can I maze of ith your snowstorm?
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
- gmzombie
- Posts: 857
- Joined: 26 Feb 2009, 01:05
- Location: Wyoming, Mi
- Has thanked: 200 times
- Been thanked: 51 times
Re: Updates on the way.
by Korath » 15 Jul 2015, 00:31
Nothing stopping it from being moved into Manalink, but I'm not going to do it myself; injecting into magic.exe is a slow, error-prone process that takes about half an hour to do and verify, while I can do the same in Shandalar in two or three minutes.
If anyone else wants to go to the effort, the function to change begins at 0x494d20 in magic.exe. Values are assigned to ints 0x7286f8 and 0x739d50 near the start; these are, respectively, the width and height of smallcards in pixels. (They both get set to screen_width/8.) They've both got to be set at that point in the function, since they're referred to later in it.
If anyone else wants to go to the effort, the function to change begins at 0x494d20 in magic.exe. Values are assigned to ints 0x7286f8 and 0x739d50 near the start; these are, respectively, the width and height of smallcards in pixels. (They both get set to screen_width/8.) They've both got to be set at that point in the function, since they're referred to later in it.
-
Korath - DEVELOPER
- Posts: 3708
- Joined: 02 Jun 2013, 05:57
- Has thanked: 496 times
- Been thanked: 1108 times
Re: Updates on the way.
by gmzombie » 15 Jul 2015, 13:36
I will attempt this. No promises though 
Edit:
I may have just gotten it..quite easy really but have to do some testing but here is a pic that I took for manalink. Lol all I did was change one bit literally of code to change the numbers. I'm sure it could be fixed to make them a little bigger and I'll have to look into it but what do u think.
Edit again
after checking out resolutions the fix I did only works at 1920x1080 for best resolution. Anything lower and text gets blurry..hmm it dosent seem to scale at all. The cards are the same size no matter the resolution.

Edit:
I may have just gotten it..quite easy really but have to do some testing but here is a pic that I took for manalink. Lol all I did was change one bit literally of code to change the numbers. I'm sure it could be fixed to make them a little bigger and I'll have to look into it but what do u think.
Edit again
after checking out resolutions the fix I did only works at 1920x1080 for best resolution. Anything lower and text gets blurry..hmm it dosent seem to scale at all. The cards are the same size no matter the resolution.
can I maze of ith your snowstorm?
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
http://home.comcast.net/~gmzombie/index.html old stuff in here. don't use this stuff right now till I get time to get back into it and readjust.
- gmzombie
- Posts: 857
- Joined: 26 Feb 2009, 01:05
- Location: Wyoming, Mi
- Has thanked: 200 times
- Been thanked: 51 times
Re: Updates on the way.
by Huggybaby » 15 Jul 2015, 20:00
LOL I guess it's easier to post a pic with a phone than the old fashioned way. 
I'm not complaining, it makes the point, but what's amusing is I just found out I'm an old fogey.

I'm not complaining, it makes the point, but what's amusing is I just found out I'm an old fogey.
-
Huggybaby - Administrator
- Posts: 3225
- Joined: 15 Jan 2006, 19:44
- Location: Finally out of Atlanta
- Has thanked: 737 times
- Been thanked: 601 times
Who is online
Users browsing this forum: No registered users and 4 guests