Post Reply 
Shining Force CD
06-11-2017, 10:02 PM
Post: #1
Shining Force CD
This game has been crying out for a proper hard mode for many years; despite having built-in Hard + Super Hard difficulties. Unfortunately all those higher challenge levels do is boost attack values by a small percentage, if memory serves; enemies are still far too weak in the HP//Defense categories. Which doesn't begin to address the balance issues with some powerhouse characters on your team.

In any case, Doomblade66 made the 'Challenge Mod' version of the original Shining Force for the Genesis and has been keen to give CD the same treatment for yonks; but despite the many editors that were made for the other games in the series, after all this time it's fair to say they won't be doing the same for CD, despite all the data being readily available. I'm pretty sure I could help Doomblade get started by showing him how to do all the edits manually, but if you believe the below data is good enough for a basic editor, let me know what you think.

The Shining Force CD Shrine is also very useful for its bestiary, although base attack/etc values will differ depending on equipment. http://shrines.rpgclassics.com/sega_cd/sfcd/

Originally posted by Xenometal:

Quote:Well, I've explored the game files a bit and found the following data: Character Growths, Starting Info, Classes, Enemies, Items and Spells. So far, I've documented what I know of the file "BANKD00.X", which you can find inside the Code tag below. Such data is repeated throughout all of the "BANKD##.X" files, but in different locations which just serve to add tedium to the process. However, all of the data pertaining to a certain Book may be found in a single file, so all of the info I found in BANKD00, I could also find in BANKD01 and so on (FYI, Book 2 starts at BANKD20, Book 3 at BANKD40, and BANKD48 is for Book 4).

BANKD00.X

0x528AC - 0x52B31: Character Growth Data

Data Structure: Variable length because of Spell List, otherwise 24 bytes
-------------------------------------------------------------------------
[Base Class]
[HP Growth Type][Base HP]
[MP Growth Type][Base MP]
[AT Growth Type][Base AT]
[DF Growth Type][Base DF]
[AG Growth Type][Base AG]
[Level learned at][Spell Code][...][...][FF]
[Promoted Class]
[HP Growth Type][Projected HP]
[MP Growth Type][Projected MP]
[AT Growth Type][Projected AT]
[DF Growth Type][Projected DF]
[AG Growth Type][Projected AG]
[FF or FE]

For Example: Nick's Growth Data
-------------------------------
Base Class: Swordsman ($00)

Base HP: 12, Growth: ($07)
Base MP: 8, Growth: ($01)
Base AT: 7, Growth: ($03)
Base DF: 6, Growth: ($03)
Base AG: 4, Growth: ($02)

Spell List:

Lv. 1: Egress ($0A)
Lv. 16: Bolt 1 ($0D)
Lv. 20: Bolt 2 ($4D)
Lv. 25: Bolt 3 ($8D)
Lv. 30: Bolt 4 ($CD)

Promoted Class: Hero ($01)

Projected HP: 90, Growth: ($04)
Projected MP: 50, Growth: ($01)
Projected AT: 60, Growth: ($03)
Projected DF: 65, Growth: ($06)
Projected AG: 30, Growth: ($02)

Spell List: Use Base Class List ($FE)

Notes:
------
This table is structured differently than in SF2. In the later, each class had both "Base" and "Projected" stat values, whereas in SFCD there is only one value. I suppose that the Base Class must hold the Base Stats, and the Promoted Class the Projected ones (though those numbers seem abnormaly high). Because of that, and also the fact that even pre-promoted characters possess two stat blocks, I think that the level-up routine must look at both blocks to calculate stat gains regardless of promotion.

Growth Types must also work differently, which would explain why characters never reach those giganormous "projected stats". One thing you may immediately notice though is that there are more types than in SF2 (8 types vs. 6).

--

0x52B32 - 0x52BAB: Character Starting Data

Data Structure: 6 bytes
-----------------------
[Starting Class]
[Starting Level]
[1st Item Slot]
[2nd Item Slot]
[3rd Item Slot]
[4th Item Slot]

For Example: Nick's Starting Data
---------------------------------
Starting Class: Swordsman ($00)
Starting Level: 1
1st Item Slot: Steel Sword (Equipped) ($A0)
2nd Item Slot: Protect Ring (Equipped) ($8B)
3rd Item Slot: Medical Herb ($00)
4th Item Slot: Medical Herb ($00)

--

0x52BAC - 0x52C37: Class Data

Data Structure: 5 bytes
-----------------------
[Movement Range]
[Status Resist.]
[Magic Resist.]
[Movement Type]
[Critical/Double/Counter Rates]

For Example: Swordsman Class Data
---------------------------------
Movement Range: 6
Status Resist.: None ($00)
Magic Resist.: None ($00)
Movement Type: "Warrior" ($10)
C/D/C Rates: ($03)

--

0x52C38 - 0x52C57: Unknown Data

--

0x52C58 - 0x53BDF: Enemy Data

Data Structure: 56 bytes
------------------------
[Enemy Index(?)]
[$00][$00][$00][$00][$00][$00][$00][$00][$00][$00]
[Level]
[HP*256]
[HP][$00][$00]
[MP][$00]
[AT][$00]
[DF][$00]
[AG][$00]
[MV][$00]
[Status Resist.]
[Magic Resist.]
[$00][$00]
[Critical/Double/Counter Rates]
[$00][$00]
[1st Item Slot][$00]
[2nd Item Slot][$00]
[3rd Item Slot][$00]
[4th Item Slot][$00]
[1st Spell Slot]
[2nd Spell Slot]
[3rd Spell Slot]
[4th Spell Slot]
[$00][$00][$00][$00][$00]
[Movement Type]
[$00][$00]
[$20][$20]
[$00][$00]

For Example: Goblin Enemy Data
------------------------------
Enemy Index(?): ($00)

LV: 0
HP*256: 0
HP: 9
MP: 0
AT: 6
DF: 6
AG: 4
MV: 5

Status Resist.: None ($00)
Magic Resist.: None ($00)
C/D/C Rates: ($00)

1st Item Slot: Short Sword (Equipped) ($9D)
2nd Item Slot: Empty ($7F)
3rd Item Slot: Empty ($7F)
4th Item Slot: Empty ($7F)

1st Spell Slot: Nothing ($3F)
2nd Spell Slot: Nothing ($3F)
3rd Spell Slot: Nothing ($3F)
4th Spell Slot: Nothing ($3F)

Movement Type: "Warrior" ($10)

Notes:
------
Lots of zeroes... the same as in SF2. Confused

--

0x53BE0 - 0x53FDF: Item Data

Data Structure: 16 bytes
------------------------
[4 bytes for equipment table]
[Max Range][Min Range]
[$00]
[$00]
[Price]
[On Use Spell]
[Attribute 1 Code][Attribute 1 Value]
[Attribute 2 Code][Attribute 2 Value]
[$00]
[$00]

For Example: Medical Herb Item Data
-----------------------------------
Equipable by: None ($00000000)
Min-Max Range: 0-1
Price: 10 gold coins
On Use Spell: "Healing Item 1" ($10)
Attribute 1: None ($00), 0
Attribute 2: None ($00), 0

--

0x53FE0 - 0x54218: Spell Data

Data Structure: 8 bytes
-----------------------
[Spell Index]
[MP Cost]
[Animation]
[Spell Type]
[Max Range][Min Range]
[Area of Effect]
[Effect Value]

For Example: Lv.1 Heal Spell Data
---------------------------------
Spell Index: ($00)
MP Cost: 3
Animation: ($04)
Spell Type: ($C1)
Min-Max Range: 0-1
AoE: 0
Effect Value: 15

--

0x54219 - 0x5421F: All 0's

--

0x54220 - 0x54935: Items/Classes/Spells/Characters & Enemy Names

--

0x54936 - 0x549D9: Unknown Data

--

0x549DA: End of ROM

BOOK 1 ITEM INDEXES

(Add $80 (128 in decimal) for the item to be equipped.)

00: Medical Herb
01: Healing Seed
02: Antidote
03: Healing Rain
04: Angel Wing
05: Powerful Wine
06: Protect Milk
07: Quick Chicken
08: Running Pimento
09: Cheerful Bread
0A: Power Ring
0B: Protect Ring
0C: Quick Ring
0D: Running Ring
0E: White Ring
0F: Black Ring
10: Evil Ring
11: Leather Glove
12: Power Glove
13: Battle Glove
14: Iron Claw
15: Club
16: Evil Axe
17: Short Axe
18: Bronze Rod
19: Iron Rod
1A: Iron Arrow
1B: Great Shot
1C: Great Axe
1D: Short Sword
1E: Middle Sword
1F: Long Sword
20: Steel Sword
21: Broad Sword
22: Critical Sword
23: Wooden stick
24: Robin's Arrow
25: Dark Sword
26: Wooden Sword
27: Sword of Hajya
28: Bronze Lance
29: Steel Lance
2A: Chrome Lance
2B: Evil Lance
2C: Halberd
2D: Spear
2E: Power Spear
2F: Valkyrie
30: Hand Axe
31: Middle Axe
32: Battle Axe
33: Heat Axe
34: Axe of Atlas
35: Wooden Staff
36: Protect Staff
37: Holy Staff
38: Power Stick
39: Demon Rod
3A: Flail
3B: Wooden Arrow
3C: Steel Arrow
3D: Assault Shell
3E: Buster Shot
...
7F: Nothing

BOOK 2 ITEM INDEXES

(Add $80 (128 in decimal) for the item to be equipped.)

00: Medical Herb
01: Healing Seed
02: Antidote
03: Healing Rain
04: Angel Wing
05: Powerful Wine
06: Protect Milk
07: Quick Chicken
08: Running Pimento
09: Cheerful Bread
0A: Power Ring
0B: Protect Ring
0C: Quick Ring
0D: Running Ring
0E: White Ring
0F: Black Ring
10: Evil Ring
11: Leather Glove
12: Power Glove
13: Battle Glove
14: Iron Claw
15: Evil Claw
16: Evil Axe
17: Short Axe
18: Bronze Rod
19: Iron Rod
1A: Iron Arrow
1B: Great Shot
1C: Great Axe
1D: Short Sword
1E: Middle Sword
1F: Long Sword
20: Steel Sword
21: Broad Sword
22: Critical Sword
23: Samurai Sword
24: Robin's Arrow
25: Dark Sword
26: Light Sword
27: Sword of Hajya
28: Bronze Lance
29: Steel Lance
2A: Chrome Lance
2B: Evil Lance
2C: Halberd
2D: Spear
2E: Power Spear
2F: Valkyrie
30: Hand Axe
31: Middle Axe
32: Battle Axe
33: Heat Axe
34: Axe of Atlas
35: Wooden Staff
36: Protect Staff
37: Holy Staff
38: Power Stick
39: Demon Rod
3A: Flail
3B: Wooden Arrow
3C: Steel Arrow
3D: Assault Shell
3E: Buster Shot
...
7F: Nothing

BOOK 3 & 4 ITEM INDEXES

(Add $80 (128 in decimal) for the item to be equipped.)

00: Medical Herb
01: Healing Seed
02: Antidote
03: Healing Rain
04: Angel Wing
05: Healing Drop
06: Protect Milk
07: Quick Chicken
08: Running Pimento
09: Cheerful Bread
0A: Power Ring
0B: Protect Ring
0C: Quick Ring
0D: Running Ring
0E: White Ring
0F: Black Ring
10: Evil Ring
11: Misty Knuckle
12: Giant Knuckle
13: Large Axe
14: Earth Axe
15: Great Rod
16: Mystery Staff
17: Hyper Cannon
18: Shut Cannon
19: Buster Sword
1A: Counter Sword
1B: Javelin
1C: Chrome Lance
1D: Samurai Sword
1E: Shinobi Sword
1F: Murasame
20: Murasana
21: Iris Blade
22: Kamikaze Axe
23: Kizer Knuckle
24: Venom Javelin
25: Work Glove
26: Golden Hummer
27: Pegasus Wing
28: Mithril
29: Steel Sword
2A: Broad Sword
2B: Battle Axe
2C: Axe of Atlas
2D: Protect Staff
2E: Chirrup Hummer
2F: Teddy's Coat
30: Empty
31: Empty
32: Empty
33: Empty
34: Empty
35: Empty
36: Empty
37: Empty
38: Empty
39: Empty
3A: Empty
3B: Empty
3C: Empty
3D: Empty
3E: Empty
...
7F: Nothing

CLASS INDEXES

00: Swordsman
01: Hero
02: Knight
03: Paladin
04: Warrior
05: Gladiator
06: Magician
07: Wizard
08: Priest
09: Vicar
0A: Archer
0B: Sniper
0C: Birdman
0D: Bird Battler
0E: Monk
0F: Master Monk
10: Beast
11: Berserker
12: Ranger
13: Bow Knight
14: Shinobi
15: Shinobi (Promo)
16: Samurai
17: Samurai (Promo)
18: Prince
19: Prince (Promo)
1A: Magic Creature
1B: Magic Creature (Promo)
1C: None/Unused
1D: None/Unused
1E: None/Unused
1F: None (This one is used as the base class for pre-promoted characters)

SPELL INDEXES

Add $40 (64 in decimal) for each additional spell level.

00: Heal
01: Aura
02: Detox
03: Boost
04: Slow
05: Attack
06: Dispel
07: Muddle
08: Desoul
09: Sleep
0A: Egress
0B: Blaze
0C: Freeze
0D: Bolt
0E: Hell Blast
0F: z (Demon Rod)
10: z (Medical Herb, Healing Seed)
11: z
12: z
13: z
14: z (Powerful Wine)
15: z (Protect Milk)
16: z (Quick Chicken)
17: z (Running Pimento)
18: z (Cheerful Bread)
19: z
1A: z
1B: Katon
1C: Raijin
1D: z
1E: z
1F: D (?)
20: AURA (?)
21: D (?)
22: BRTH (Fire Breath(?))
23: Ripsaw
...
3F: Nothing

BOOK 1 ENEMY INDEXES

00: Goblin
01: Scavenger
02: Dragonute
03: Dwarf
04: Ratman
05: Cypress Knight
06: Hell Soldier
07: Zombie
08: Skeleton
09: Arch Knight
0A: Lizardman
0B: Worm
0C: Ghoul
0D: Deadly Born
0E: Minotaur
0F: Cerberus
10: Golem
11: Dulahan
12: Taros
13: Sentinel
14: Executioner
15: Skull Knight
16: Huge Bat
17: Incubus
18: Rat Fly
19: Pegasus Knight
1A: Gargoyle
1B: Evil Pixy
1C: Hawkman
1D: Belial
1E: Wyvern
1F: Chimera
20: Death Archer
21: Brass Loader
22: Hell Sniper
23: Bow Rider
24: Brass Gunner
25: Assassin
26: Fizzle Ball
27: Dark Mage
28: Master Mage
29: Sorcerer
2A: Demon Master
2B: Priest
2C: Bishop
2D: Cleric
2E: Evil Bishop
2F: Bazoo
30: Dantom
31: Frabell
32: Geppel
33: Evil Monster
34: Edmond
35: Woldol
36: Woldol (I guess this one is the second form)
37: Magical Mush
38: Bazoo
39: Dark Mage
3A: Dwarf
3B: Cypress Knight
3C: Dark Mage
3D: Brass Loader
3E: Hell Soldier
3F: Priest
40: Skeleton
41: Hell Sniper
42: Sorcerer
43: Deadly Born
44: Ghoul
45: Minotaur
46: Executioner

BOOK 2 ENEMY INDEXES

00: Goblin
01: Scavenger
02: Dragonute
03: Dwarf
04: Ratman
05: Iom Knight
06: Hell Soldier
07: Zombie
08: Skeleton
09: Arch Knight
0A: Lizardman
0B: Worm
0C: Ghoul
0D: Deadly Born
0E: Minotaur
0F: Cerberus
10: Golem
11: Dulahan
12: Taros
13: Sentinel
14: Executioner
15: Skull Knight
16: Huge Bat
17: Incubus
18: Rat Fly
19: Pegasus Knight
1A: Gargoyle
1B: Evil Pixy
1C: Hawkman
1D: Belial
1E: Wyvern
1F: Chimera
20: Death Archer
21: Brass Loader
22: Hell Sniper
23: Bow Rider
24: Brass Gunner
25: Assassin
26: Death Balloon
27: Dark Mage
28: Master Mage
29: Sorcerer
2A: Demon Master
2B: Priest
2C: Bishop
2D: Cleric
2E: Evil Bishop
2F: Dragonute
30: Dwarf
31: Iom Knight
32: Death Archer
33: Dark Mage
34: Gordon
35: Master Mage
36: Arch Knight
37: Lizardman
38: Deadly Born
39: Hawkman
3A: Ghoul
3B: Solo
3C: Minotaur
3D: Demon Master
3E: Barbara
3F: Death Woldol
40: Warderer
41: Iom
42: Iom Doll
43: Iom Statue
44: Graham

BOOK 3 ENEMY INDEXES

00: Dava Zombie
01: Dava Born
02: Groggy Dwarf
03: Dava Knight
04: Mutsuki
05: Satsuki
06: Komainu
07: Goblin Pupil
08: Dark Paladin
09: Wonder Mush
0A: Dava Bat
0B: Dava Pixy
0C: Berserker Knight
0D: King Chimera
0E: Bow Master
0F: Metal Gunner
0A: Necromancer
0B: Yayoi
0C: Lich
0D: Dark Priest
0E: Uzuki
0F: Arch Bishop
10: Dava Ghoul
11: Chu Rao
12: Kisaragi
13: Bulldor
14: Dava
15: White Dragon

BOOK 4 ENEMY INDEXES

00: Dantom
01: Barbara
02: Frabell
03: Geppel
04: Chu Rao
05: Bulldor
06: Gordon
07: Bazoo
08: Solo
09: Death Woldol
0A: Kisaragi
0B: Evil Monster
0C: Warderer
0D: Iom
0E: Iom
0F: Woldol
10: Iom
11: Dava
Visit this user's website Find all posts by this user
Quote this message in a reply
06-11-2017, 11:13 PM
Post: #2
RE: Shining Force CD
Good stuff. I could theoretically do something with that data. I need to get someone with a real legal retail copy of it to make an ISO of the whole thing. Thankfully I know just such a person.

I hate having a full life of crap to do. Really takes my time away from the stuff on the computer I want to do. I cannot even finish making project pages for your hacks and Final Fantasy Reconstructed.
I suck

[Image: jce3000gt_md.png]

[Image: card.png]

Total games not including duplicates as of February 28th 2017: 1,276 (link to list)
Total guides not including duplicates as of February 28th 2017: 61
Visit this user's website Find all posts by this user
Quote this message in a reply
06-11-2017, 11:38 PM
Post: #3
RE: Shining Force CD
Haha, yeah I'm taking on way too many hobbies; supposed to be focusing on writing books and learning Japanese. >_@ I think I spent a whole day figuring out those map coordinates for Saiyuki, only to find out actual placement of new treasure must be located elsewhere within the data. So not much progress last weekend, haha. But yeah, with SFCD, I must have overlooked that data completely; although I wouldn't have known much about it the last time I checked it out.

The bonus part about turning 'Normal' difficulty into a hard mode, is default Hard + Super Hard could make for even crazier fun without having to do any editing. >_> Still surprised that no one ever got around to it, since all the rest have been taken care of.
Visit this user's website Find all posts by this user
Quote this message in a reply
06-12-2017, 09:28 AM
Post: #4
RE: Shining Force CD
(06-11-2017 11:38 PM)Jarlaxle Wrote:  Haha, yeah I'm taking on way too many hobbies; supposed to be focusing on writing books and learning Japanese. >_@ I think I spent a whole day figuring out those map coordinates for Saiyuki, only to find out actual placement of new treasure must be located elsewhere within the data. So not much progress last weekend, haha. But yeah, with SFCD, I must have overlooked that data completely; although I wouldn't have known much about it the last time I checked it out.

Totally understand. I've just started my journey of learning Turkish and I know everything else will cut in to my time for it. I have too much going on in terms of projects and such, need more hours in the day.

Quote:The bonus part about turning 'Normal' difficulty into a hard mode, is default Hard + Super Hard could make for even crazier fun without having to do any editing. >_> Still surprised that no one ever got around to it, since all the rest have been taken care of.

So does the adjusting of difficulty in game point to another set of data or does it change the values of the data in RAM?

[Image: jce3000gt_md.png]

[Image: card.png]

Total games not including duplicates as of February 28th 2017: 1,276 (link to list)
Total guides not including duplicates as of February 28th 2017: 61
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)