Shandalar SVE Tool v0.2

v0.2
I've updated the app again. Now it uses separate tab-selectable Text Editors to either add cards directly to the Library, or to Deck 1-3 (replacing their content and adding only cards missing from the Library) so you don't have to rebuild them anymore when restarting Shandalar. All thanks goes to RyanfaeScotland for his original DeckInjector whose output showed me how to add cards directly to the Decks without screwing up the SVE files and making them unplayable (hopefully ^_^).
It doesn't place cards into a Deck, just into the player's Library, so Decks have to be re-build after restarting the game.
I've tested it on Mok's and Korath's versions, but it should operate on the Microprose originals as well. Please help me test it and let me know if you run into any issues with functionality or performance.
You can also download SVEtool v0.2 from any of the links in my signature.
I've updated the app again. Now it uses separate tab-selectable Text Editors to either add cards directly to the Library, or to Deck 1-3 (replacing their content and adding only cards missing from the Library) so you don't have to rebuild them anymore when restarting Shandalar. All thanks goes to RyanfaeScotland for his original DeckInjector whose output showed me how to add cards directly to the Decks without screwing up the SVE files and making them unplayable (hopefully ^_^).
- v0.1a | Open
- v0.1 | Open
- Code: Select all
' Shandalar SVE Tool v0.2 '
' Created by CirothUngol for CCGHQ Shandalar Forums '
' updated July 21, 2015 '
'''''''''''''''''''''''''''''''''''''''''''''''''''''
This little tool allows users to inject cards into the Libraries and Decks of
Shandalar SVE save files, as well as provide easy access to the most common
game settings. Cards are matched by CardName (taken from the appropriate
'cards.dat' file) and should be entered into the editor using the format
'Qty CardName'. If quantity is ommitted, 1 is assumed. All lines in the editor
beginning with a semi-colon (;) will be ignored. All lines in the editor
beginning with a period (.) will have their first word removed. This makes it
compatible with all Shandalar and Manalink DCK files.
SVEtool will recursively search for 'Shandalar.exe' first in it's current
folder, then in it's parent folder. If not found a FileDialog is presented.
All settings are retained in 'SVEtool.ini', delete it to restore defaults.
SVE files are selected with the ComboBox just below the Text Editor. After
choosing a Save Slot, cards my be injected into the Decks/Library thusly:
1) Select the tab you wish to inject into (Library or Deck 1-3). You may click
'Show' to examine current contents and 'Clear Library' to remove all cards.
2) Enter any number of 'Qty CardName' lines into the Text Editor. The 'Load'
and 'Find' buttons are useful here, or you can just type or paste them in.
3) Click 'Check Cards' to verify their availablity in Shandalar. The 'Alpha'
button may be used to help remember cards and find their correct spelling.
If injecting into a Deck, only needed cards will be added to the Library.
4) Make any further adjustments to Gold, Amulets, World Magics, etc and click
'-=> *' to save all Settings and inject Cards into the Library or Deck.
5) Afterwards, click 'Clear' to empty the Text Editor and click 'Show' to
display the contents and verify that the cards were injected properly.
Notes:
------
To save settings without adding cards:
Choose 'Library' Tab, Click 'Clear', Click '-=> Library'
To clear a deck (and save all other settings):
Choose 'Deck 1-3' Tab, Click 'Clear', Click '-=> Deck 1-3'
To select a new Shandalar install:
Choose 'File' menu option, select 'Load Exe'
Here's a brief overview of the widgets:
--------------------------------------------------------------------------------
Load - Loads a Text File into the Editor
Save - Saves the contents of the Editor to a file
Clear - Clears the contents of the Editor
Copy - Copy the contents of the Editor to the Clipboard
Show - Paste contents of current Library or Deck to the Editor
Alpha - Paste all Card Names starting with given letter(s) to Editor
World Magics - Open a DialogBox to select current player's World Magics
Clear Library - Remove all Cards from current player's Library, 500 slots open
Check Cards - Run all routines to modify the SVE file, but don't modify it
-=> Lib/Deck - Run all routines to modify the SVE file, and modify it.
This is the only action that actually modifies the SVE file.
Find with < # - Scan a folder for decks with less than the given number of
Unmatched/Non-coded. If one is found it will be pasted to the
Editor. The button will then read 'Resume', allowing for
review of the deck before Checking, Saving, and/or Resuming
Display IID - If checked will display cards' Internal ID# in the Editor
Display CsvID - If checked will display cards' CSV ID# in the Editor
If both or neither are checked, both or neither are displayed
--------------------------------------------------------------------------------
The 'CSV\Export' Menu Option will create CSV files containing info pulled from
the Shandalar.exe\Magic.exe and MAGIC*.SVE files. These may then be edited
and the changes incorporated by using the 'CSV\Import' Menu Option. The entire
SVE file is extracted to CSV and all of the settings known to this author are
labeled appropriately, else they are labeled as 'Unknown' or by Hex Address.
If 'Shandalar.dll' is present in the program folder (indicating Korath's
version) then 'Magic.exe' is used to create '.Cards.csv', but SVEtool never
alters the file 'Magic.exe' (but WILL import to 'Shandalar.exe'). Simply
remove any CSV files to prevent them from being imported to the SVE\EXE.
Shandalar.exe yields these files:
.Cards.csv - All Cards. Name;ID;Color;Cost;Type;Abilities;P/T;etc
.Enemies.csv - 55 Enemies. Name;Life;Color;Deck;Speed;Ability;Reward;etc
each MAGIC*.SVE yields these files:
.Dungeons.csv - 15 Dungeons\Castles. Cards;MapX/Y;NearTown;Clues;Rules;etc
.Journal.csv - 2000 Log Entries. Log#;LogType;LogContent;MapX;MapY
.OwnedCards.csv - 500 Owned Cards. OC#;CardName;NotInDeck;InDeck#
.Towns.csv - 128 Towns. Name;MapX/Y;Status;Cards;Timers;Visits;etc
.Victories.csv - 1000 Win Entries. Win#;Color;MonsterType
.Wandering.csv - 8 Enemies. WanderType;MapX/Y;Color;Movement;SpawnTimer
.WorldMagics.csv - 12 Magics. WM#;WM Name;Unknown;Price;City#;Duration
.AllElse.txt - 53 Settings. Food;Gold;Amulets;Quests;Magics;Gender;etc
Any labeling of TownNames, CardsNames, MonsterNames, etc in the '*.sve.*.csv'
files are included for readability. Only the leading number is actually used.
SVEtool should be compatible with all versions of Shandalar including
Microprose, Mok, and Korath. It should also be considered alpha software
that could quickly run into compatibility issues as Korath continues to
update Shandalar (like the inhuman machine he is). Tooltips are included
to help explain functionality, so hopefully usage will be a no-brainer.
Special thanks to RyanfaeScotland for his original Shandalar DeckInjector,
whose output data has proved invaluble to the creation of this application.
--------------------------------------------------------------------------------
I've tested it on Mok's and Korath's versions, but it should operate on the Microprose originals as well. Please help me test it and let me know if you run into any issues with functionality or performance.
You can also download SVEtool v0.2 from any of the links in my signature.