It is currently 20 Apr 2024, 01:16
   
Text Size

Shandalar Mod (beta)

MicroProse's Shandalar Campaign Game, now with new cards & a new look!

Moderators: BAgate, drool66, Aswan jaguar, gmzombie, stassy, CCGHQ Admins

Shandalar Mod (beta)

Postby Tapani » 15 Nov 2009, 03:18

Hello all,

Some time ago (before I was even aware of this awesome Manalink-2.0 project) I did a Shandalar mod/bugfix. My mod is now compatible with both Manalink-2.0 version and with the game that just has the original SotA/DotP installed. To clarify: if you have a working version of the game (including SotA/DotP), you do not need to download anything else but this.


Changes

No new cards have been added that aren't already in the original games(SotA/DotP), and no new cards or artwork from manalink-2.0 are visible in Shandalar. sorry.

Technical changes:
  • Shandalar runs in a window.
  • Reduced CPU usage when game is idle (i.e. in villages).
  • Bugs with missing text has been remedied in many cases.
  • Bug with default player name fixed.
  • Shandalar is made independent of Manalink 2.0 by separate DLLs.
  • EDIT 2009-11-25: Duels and deck editor runs in their own windows as well. One deck editor memory allocation bug fixed.
  • EDIT 2009-11-25: Should work under Vista without compatibility. (If you try it on Vista, please verify if this is true!)

Gameplay changes:
  • Opponent creatures appear with time, the easiest first and the tougher later. You are not engaged by dragons after 15 seconds.
  • Towns are not attacked too early on.
  • Card pricing/evaluation is adjusted (no longer based on the casting cost and rarity). The new valuation takes for instance playing value into account. Also no longer will one Nomad's Bazaar give you virtually all cards, since you won't have 50,000 gold. Money can be tight, especially in the beginning.
  • You start with slightly more money and food than before, to slightly relieve on the initial money shortage.
  • Computer decks are remodeled:
    • Easiest creatures' decks are crappy -- even crappier than default ones.
    • Themes in decks are mostly preserved, and often even emphasized more!
    • Toughest decks are harder than the default ones.
    • Few highest level creatures have power cards, but limited by the rules outlined below.
  • Thieves no longer take half your gold, just 25% (or even less? can't remember).
  • When attacking towns/castles etc the defending creature can have a spell in play. The selection of spells for this has been changed (no more Hypnotic Specter, Serendib Efreet etc).
  • No more "why don't you try this deck" or "teleported" etc.
  • Added Juzam Djinn and Serendib Efreet to mazes (there were 2 slots left)

There are probably more changes, but cannot recall them now. The primary goal has been to make the game more enjoyable rather than harder. However, it is notably harder now.


Download links

EDIT 2010-05-12: New beta version 1.06 released. Changes from 1.05: Most low-level opponents made easier.

The download is 816kb.
Download
Mirror

Installation

Copy the files inside the ZIP into your Magic folder, replacing any existing files. Done.

Uninstalling requires you to replace my versions of shandalar.exe and the decks folder with your old versions. Take a backup before installing.


Your challenge!


This is a very managable challenge, hopefully hard enough so even experienced players should feel a little resistance and occasional setbacks. I have done this challenge once, and almost twice. An active tournament player should have no problems with it -- I stopped playing 1996 so the opposing decks are probably very "old school", and 15 years behind current development.


Known bugs

EDIT: updated 2009-11-27
  • Your looks can be garbled when creating a new game, so don't spend too much time on custmizing your appearance.
  • When entering your name, you might have to press enter/return an additional time. Somehow once does not always bite.
  • Shandalar does not refresh graphics.
  • Map position indicator does not blink fast enough, move mouse cursor over buttons to have it blink more faster.
  • Several people have problems with the deck editor not showing his cards in the scrollable pane. At least one of these have the problem with the original game, so it is likely not caused by my mod (but I still want to fix it!)


Hints

  • Read the README for more hints
  • Avoid fights in the beginning, run for villages to buy yourself a deck (1-2 colours).
  • Money does not grow on trees. Sell in the cities, buy in the villages.
  • Respect the genies and fear the dragons.


Finally

This is a beta release, only played by two persons so far. There might be bugs, balance issues, or you just might have some opinion on the changes I've made (or haven't made *g*).

Please let me know :-)

//Tapani
Last edited by Tapani on 12 May 2010, 21:04, edited 8 times in total.
User avatar
Tapani
 
Posts: 24
Joined: 13 Nov 2009, 15:49
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby gmzombie » 15 Nov 2009, 18:29

wow man this is cool. im going to have to start to play this part again. it sounds like you did alot of work to this i take it you have a decent amount of coding language.
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.
gmzombie
 
Posts: 857
Joined: 26 Feb 2009, 01:05
Location: Wyoming, Mi
Has thanked: 200 times
Been thanked: 51 times

Re: Shandalar Mod (beta)

Postby Tapani » 15 Nov 2009, 18:43

Thanks, it has taken some time to tinker up. It's actually a few years old by now. And yes, I do know a lot about coding ^^

A minor bug has been found: when creating a new game, your image can be garbled after running that horrible facemaker thing - so don't spend too much time on customizing how you look. Also, you might have to press return after entering your name.
User avatar
Tapani
 
Posts: 24
Joined: 13 Nov 2009, 15:49
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby gmzombie » 16 Nov 2009, 01:14

well then what do you know about changing the current array in the magic game so that we can have more cards added in. I don't know how long you've been in the forum but if you talk to snacko he has said what needs to be done. i don't know any coding and everything i do is all just cause i tinker around with stuff. i dont know the ins to what exactly needs to be done but i think the community would help the best they could if we could get a answer on how to fix this issue.

On a side note do you know or can you figure out how to change the deck builder? i seen you know how to change references to other pics in the game and whatnot. im thinking about new buttons and can continue to work on some new buttons if we could get more buttons in for the sets by shrinking the current buttons to about half the size of the normal buttons...we could add about 28 total buttons that way...just thinking out loud
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.
gmzombie
 
Posts: 857
Joined: 26 Feb 2009, 01:05
Location: Wyoming, Mi
Has thanked: 200 times
Been thanked: 51 times

Re: Shandalar Mod (beta)

Postby jatill » 16 Nov 2009, 14:33

Awesome work. Did you do all this code in assembler, or a higher-level language? The last 1000 or so cards I have added are written in C, but the reside in their own DLL. Do you have any idea how hard it would be to use cards from that DLL and add them to Shandalar? Finally, as GMZombie mentioned, our biggest problem right now is the 2000 card limit in Manalink. Do you think you'd be able to make any progress on that issue? I'll try to hunt out Snacko's instructions on what would need to be done.

Here are the topics with details regarding the 2000-card limit:

viewtopic.php?f=25&t=1382&p=17326#p17326

viewtopic.php?f=25&t=1173&p=14332&hilit=+array#p14332
jatill
DEVELOPER
 
Posts: 2118
Joined: 24 Feb 2009, 16:35
Has thanked: 5 times
Been thanked: 17 times

Re: Shandalar Mod (beta)

Postby Tapani » 16 Nov 2009, 18:15

It's done in assembler. I try to avoid disassembling the exe since recompiling and distributing a modified exe can be considered copyright violation, instead I prefer making patchers to avoid legal problems. However, in the case of Shandalar I think it is old enough not to matter to anyone though.

I must say I am impressed that you managed to add so many cards and rules to manalink! Actually I hadn't seen most cards since 96, so I spent quite some time looking at the cards of today in the new deckbuilder. Have you rewritten compatible DLLs in C? My problem with modding DLLs is that I do not have any good editor for fuxups.

Regarding adding cards to Shandalar... there are several things to say about that:
  • Shandalar has several hard-coded arrays of length 720 for cards and effects. There are less than 10 slots free.
  • There are other problems with Shandalar with more cards. Occasionally you have a screen where you get to pick (for instance) a green creature spell. The GUIs for that barely handles the current card set.
  • Conclusion from above two, is that one might want to replace existing cards - at least as a first shot. I wouldn't miss the laces...
  • The cards functions are compiled in statically, and the function pointers are hardcoded to the exe. Requires a wrapper that reassigns these pointers to change that.
  • However, just because it might be possible to have more/other cards - will the game be more enjoyable that way? It is easy to focus on what you can change, and forget about if you really should. My usual modding principle is to keep things as close to the original, unless you really feel there is a flaw that needs to be fixed.
  • Remember that in Shandalar you don't have 20 lives - you start with 10. With many of the new, horrendously overpowered cards, this would make games in Shandalar even faster, and very dependent on your starting hand (and you are playing for ante!).

Well, that's just my first thoughts on that issue.

Regarding 2000 cards in .. yeah what? Magic.exe? I read the threads, they dig into hex offsets and it did not even mention which file (and version?) you are in? Is the limit of the form a hard coded array?

Sorry for being clueless, I found this site on Friday so I haven't really oriented myself around.

//Tapani
User avatar
Tapani
 
Posts: 24
Joined: 13 Nov 2009, 15:49
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby jatill » 16 Nov 2009, 18:36

Tapani wrote:Regarding 2000 cards in .. yeah what? Magic.exe? I read the threads, they dig into hex offsets and it did not even mention which file (and version?) you are in? Is the limit of the form a hard coded array?
Yes, Magic.exe (any recent version) is the file that those hex addresses refer to. I believe that the limit is due at least partly to a hard-coded array, yes.
jatill
DEVELOPER
 
Posts: 2118
Joined: 24 Feb 2009, 16:35
Has thanked: 5 times
Been thanked: 17 times

Re: Shandalar Mod (beta)

Postby courgi » 16 Nov 2009, 20:18

Wow!

Just the thought of doing a Shandalar dungeon crawl with new cards added, or even replaced makes me very excited.

And yes, laces will not be missed. =D>

Keep up the good work!
courgi
 
Posts: 3
Joined: 13 Jul 2009, 14:02
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby gmzombie » 16 Nov 2009, 22:38

tap do you have IDA pro with a hexrays dissassembler? im no programmer but i found i was able to make a asm list from the exe with that prog...and i believe that has at least helped in a few cases like changing the new artwork and even the play areas and such. i just reference this as you said you didnt have any good dll editors and i think that would be a good prog you can get it at any good area on the net :wink: but if you need a copy to test with (cause we dont provide illegal copies of anything here) :wink: hit me up. i like to help as much as i can

edit: on aside note here is what i grabbed from one of the manalinks after Skymarshall and Harry Pitfall fixed

We have extended the executable (as opposed to data) sections of magic.exe to give the game space to use up to 30,000 different cards, and then added many new cards to the game. The new cards are available in constructed and sealed play.
The changes to the exe have been made by editing the raw assembly code for the Magic game, and tested stability myself for Single Player and sealed games. Although we've tried to be thorough, there are almost certainly things we've missed, which is bound to increase the number of 'random' crashes.

- The 30,000 limit in the new array size will not be acheivable. Other limits in the game that will likely kick in at more like 3,000 cards or possibly even less. Still, this mod has definitely created more usable space!
So is this a problem with the array or a problem with other limits..maybe we are looking at the wrong side of the coin? I always seem to forget something do you have the Shandalar mod from snacko? cause he updated alot of calls already and such. here is a quote from his readme
The file has currently 10000 card spaces.
The first card starts at virtual address 0x991000.
The card count is at virtual address 0xA40C7F.
This says how many cards from the last one won't be given (ex. Dummies, Tokens, Special FX cards, etc) or used in the events.
0057EB75 2D 87240000 SUB EAX,2487
All the special cards have to be added at the back.
Once you add a normal playable card you need to modify the above value ex. 1 card added
0057EB75 2D 87240000 SUB EAX,2486

The extra space is non executable and can be used for variables only (there are some tables which depend on the number of cards which I haven't remapped to the new memory region yet, still it doesn't crash yet!)
New cards should most liekly be added via a dll, however the functions addresses can and most likely are different between Magic.exe and Shandalar.exe.
If the new cards are written with yasm this could be easyly fixable via remapping once macro and not touching the card logic ex.
%define Phase [0xFFFFF]
%define TapCard 0xFF00FF

cmp Phase, Upkeep
push CardID
call TapCard
to
%define Phase [0xAAAAA]
%define TapCard 0xAA00AA

cmp Phase, Upkeep
push CardID
call TapCard
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.
gmzombie
 
Posts: 857
Joined: 26 Feb 2009, 01:05
Location: Wyoming, Mi
Has thanked: 200 times
Been thanked: 51 times

Re: Shandalar Mod (beta)

Postby McCrea » 17 Nov 2009, 13:26

I haven't seen any "it works!" or "it doesn't work!" posts yet. Unfortunately I said the latter. :(

Well, I installed this and then tried reinstalling and compatibility fixes until I resigned to frustration. :evil: The problem is missing cards (except for sometimes air elemental) and absent button text in the deck editor of Shandalar. I think that may be the old (~1.34) problem which I never found the real fix for other than installing Manalink 2.0.

Simply, after installing Manalink2.0 and nothing else, Shandalar works fine. Pasting this mod over it breaks it.

Also,
assertfile.txt:
Code: Select all
Tue Nov 17 06:13:11 2009
File-> D:\NewMagic\sources\sidlib\text.c, Line-> 131
File fonts.cv could not be opened: EXITING
But it runs after the assertion... seems fine except for deck editing, but i honestly didn't investigate much. I doubt I can win with the starter cards. :lol:

So, if there's anything I can try, please let me know.
(WinXp)
McCrea
 
Posts: 23
Joined: 17 Nov 2009, 12:27
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby jatill » 17 Nov 2009, 13:46

I got about an hours into a game yesterday and it *mostly* works. All the game setup screens (choose a color, difficulty, etc) didn't show for me. I kind of clicked randomly to get past them. Once the game started, though, everything was A-OK (except for Goblin decks with multiple Strip Mine and Gauntlet of Might!!)
jatill
DEVELOPER
 
Posts: 2118
Joined: 24 Feb 2009, 16:35
Has thanked: 5 times
Been thanked: 17 times

Re: Shandalar Mod (beta)

Postby Tapani » 17 Nov 2009, 18:07

Thank you McCrea and Jatill for your feedback. This is more constructive than pushing me to add 10,000+ cards into Shandalar :(

Any of the issues you describe, are they new for my version of Shandalar, or did those issues exist before as well? New bugs or unfixed old ones? :)


gmzombie,

I have used IDA Pro - I was referring to that when I said preferred to release patches rather than decompile /compile. I don't like IDA Pro - so unintuitive, and I am too impatient to use it properly :-) Thanks for the tip anyway.


McCrea,

that appears to be a missing file problem. That file is both in my original version and in Moks Manalink version. However I'll include FONTS.CV in to the release (and attaching it to this message - it's 4k compressed).



Jatill,

I'll look into the missing graphics - there are similar problems when returning from deck editor. You have to click inside the village sometimes.

About Goblin deck after an hour - was it too soon? (It sounds like too soon - was it guarding some valuable spells, greedy boy? :p )

I have noticed that Strip Mine is restricted nowadays; there was some talk about that already back then - mostly because its devastating effects when combined with random discard a la Hymn to Tourach (which do not exist in Shandalar).

Also I am allowing several other cards that are restricted IRL: Regrowth, Fastbond, Channel, Mana Vault, Mana Crypt, Time Vault etc.

I am very interested in hearing opinions on this. I know I understand the old card environment quite well, but not any recent game theoretical developments.

I did a deckdll mod (not released; works only on my comp, since the fixup section was not modified) that enforced differing limits for different cards. I had Strip Mine set to 2 per deck. Maybe that's a way to go? And what's the catch with Gauntlet of Might?


Thanks, keep that coming!

//Tapani
Attachments
fonts_cv.zip
FONTS.CV file, some MtG versions seems to be missing that one.
(3.72 KiB) Downloaded 648 times
User avatar
Tapani
 
Posts: 24
Joined: 13 Nov 2009, 15:49
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby jatill » 17 Nov 2009, 18:20

Tapani wrote:Thank you McCrea and Jatill for your feedback. This is more constructive than pushing me to add 10,000+ cards into Shandalar :(
//Tapani
I don't think anyone's pushing for 10,000 new Shaldalar cards. 1 would be nice, maybe, just to show it could be done :) The real thing I'd like you to attempt is the 2000 card limit in manalink, though. Anyone who solved that will be hailed as a hero forever!

Re: Shaldalar
Only your version was giving me the errors I mentioned. Also, when I tried to load my game today, everything was unusably slow. (My taskbar stayed at 16-bit color for some reason, too). To fix this I had to start a new game and then load from there. The face builder screen seems to correct the problem.

Re: Difficulty
After a second hour of play, and getting consistently destroyed, I gave up. I'm sure some people will love the extra challenge, but it's just not for me. (Similar to how some people like Challenge mode for the gauntlet, and some despise it). Cash wasn't a horrible problem, but basically every time I fought an opponent their decks were vastly superior to mine. I didn't want to invest the time to go around the whole world trying to build by deck by buying. Even if I wanted to, I'm not sure if I would have time since every color already had conquered a city after 2 hours.
jatill
DEVELOPER
 
Posts: 2118
Joined: 24 Feb 2009, 16:35
Has thanked: 5 times
Been thanked: 17 times

Re: Shandalar Mod (beta)

Postby Tapani » 17 Nov 2009, 18:50

Jatill,

thank you. I wonder if the graphics problems are connected to the game running inside a window. Needless to say, it works for the three XP machines I've tried it on. Also the startup part works in Vista (crashes once editing decks - that's quite high on my TODO list).

Regarding difficulty, I've heard that twice now that it is too hard. My mods (for other games) have been too hard initially as well. Maybe I should make the initial creatures worse, so one can get more cards before fighting the tougher ones. Even if some of them are just piles of random common cards, I too have lost against bunglars like druids.

You can't imagine how hard it can be to make good bad decks :-/

Thanks!

//Tapani
User avatar
Tapani
 
Posts: 24
Joined: 13 Nov 2009, 15:49
Has thanked: 0 time
Been thanked: 0 time

Re: Shandalar Mod (beta)

Postby jatill » 17 Nov 2009, 18:52

I'd leave it as is and just label it Shadalar: Leet edition :)
jatill
DEVELOPER
 
Posts: 2118
Joined: 24 Feb 2009, 16:35
Has thanked: 5 times
Been thanked: 17 times

Next

Return to Shandalar

Who is online

Users browsing this forum: No registered users and 38 guests


Who is online

In total there are 38 users online :: 0 registered, 0 hidden and 38 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 38 guests

Login Form