[DEPRECATED] Fire Shell - Prototype Release Topic

Lol, now i don’t know if start the hack now and “reveal” it in FEE3, or wait for the FireShell release…
… Maybe i’ll do it now and then restart it again after the FEE3, maintaining the same things of the precedent version, with adding things. mh i don’t even know if i’m capable of doing this, my graphic is really bad

[3:51:56 PM] Archiblad: yeah
[3:57:58 PM] Archiblad: oooooookay FE7
[3:58:03 PM] Archiblad: what the fuck
[3:58:22 PM] Agro: what happened this time?
[3:58:36 PM] Archiblad: I replaced the pointers back to the original table
[3:58:38 PM] Archiblad: and it worked
[3:58:41 PM] Agro: ahhh
[3:58:44 PM] Agro: i thought that might happen
[3:58:54 PM] Archiblad: that’s bizarre
[3:59:09 PM] Agro: i have a feeling it has something to do with the fact that the ballista is not a “unit” as such
[3:59:12 PM] Agro: when it’s unoccupied
[3:59:19 PM] Agro: there must be something hardcoded
[3:59:22 PM] Agro: to that particular spot
[3:59:32 PM] Agro: or maybe you just failed at repointing
[3:59:46 PM] Agro: it is bizarre though because EB never had that problem despite repointing the table
[3:59:57 PM] Agro: wait maybe it did and i never noticed it
[3:59:58 PM] Agro: lol

Considering that all of the map sprites past the ballistae work fine, I dunno if it’s a fault with the repoint.

Try repointing the ballista animation Specifically? Like search for its original offset?

maybe try looking for a pointer to the specific entry that corresponds to ballistae?

I’m about 3/4ths of the way through inserting new samples. The new sample map will include (along with the vanilla choices):

  • Acoustic Piano
  • Electric Piano 1 & 2,
  • Xylophone
  • Accordion
  • Acoustic guitar (steel)
  • Overdriven guitar
  • Acoustic Bass
  • Acoustic Bass 2
  • Pick Bass
  • String Ensemble
  • Combined native FE7 string ensemble
  • Orchestra Hit
  • Combined native FE7 trumpet
  • Combined FE7 native horn
  • Combined FE7 native synth horn
  • Combined FE7 native flute/piccolo
  • Recorder
  • Sawtooth wave
  • Steel drums
  • Muted Trumpet
  • Shakuhachi
  • Shamisen
  • Filled in drumkits i.e. NO MORE BEEPING AND BOOPING (hopefully)

Basically my goal is to fill in many of the “blanks” left by FE7’s samples, with samples that actually sound good.

Along with this I will include some optional samples ripped from Mother 3 that will be ready to insert if the user so chooses. If anyone has anything specific for me to throw in, now would be the time to bring it up.

EDIT: Well, I’m finished, on my end.

https://dl.dropboxusercontent.com/u/51331815/Fire%20Shell%20with%20added%20samples

There’s sample data all the way through to the end. Track 126 (0x7E) was used as a test track, so there’s some residual data there. Within non-expanded space, my data ends at 0xD19C20. Here is the new sample map:

0 - Acoustic piano (from Mother 3)
1 - Bright piano (from FE7)
2 - Electric piano 1 (from FE7)
3 - Electric piano 2 Piano (from FE7)
4 - Electric piano 3 (from Mother 3)
5 - blank
6 - Harpsichord (from FE7)
7 - blank
8 - Celesta (from FE7)
9 - Glockenspiel (from Mother 3)
10 - Music box (from FE7)
11 - blank
12 - Marimba (from FE7)
13 - Xylophone (from Mother 3)
14 - Tubular bells (from FE7)
15 - Dulcimer (from FE7)
16 - Drawbar organ (from FE7)
17 - Percussive organ (1 octave lower) (from FE7)
18 - Rock organ (1 octave lower) (from FE7)
19 - Church organ (from FE7)
20 - blank
21 - Accordion (from FE7)
22 - blank
23 - blank
24 - blank
25 - Acoustic guitar steel (mother 3)
26 - electric guitar jazz (soft with grace)
27 - electric guitar clean (from advance wars)
28 - low overdriven guitar (from FE7)
29 - overdriven guitar (from mother 3)
30 - distortion guitar (from FE7)
31 - staccato guitar? (from FE7)
32 - acoustic bass (double bass) (from FE7)
33 - finger bass (1 octave lower) (from FE7)
34 - pick bass (1 octave lower) (from Mother 3)
35 - fretless bass (1 octave lower) (from AW2)
36 - slap bass (1 octave lower) (from FE7)
37 - acoustic bass 2 (from FE7) (1 octave lower)
38 - synth bass (from FE7)
39 - synth bass (from AW2) (1 octave lower)
40 - String Ensemble 1 (low-medium-high) (from FE7)
41 - String Ensemble 2 (high-very high) (from FE7)
42 - Cello (from FE7)
43 - Contrabass (very low-low) (from FE7)
44 - Marcato Strings (from FE12)
45 - Pizzicato Strings (from FE7)
46 - Orchestral Harp (from FE7)
47 - Timpani (from mother 3)
48 - Combined String Ensemble 1 (very low-high) (from FE7)
49 - Combined String Ensemble 2 (all ranges) (from mother 3)
50 - String Ensemble (synth) (from FE7)
51 - blank
52 - Choir 1
53 - Choir 2
54 - Choir 3
55 - Orchestra Hit (from Mother 3)
56 - Combined Trumpet (from FE7)
57 - Trombone (from FE7)
58 - Tuba (from FE7)
59 - Muted Trumpet (from AW2)
60 - Combined Horn (from FE7)
61 - Brass (from FE7)
62 - Synth Brass (low) (1 octave lower) (from FE7)
63 - Combined Synth Horn (from FE7)
64 - blank
65 - blank
66 - blank
67 - blank
68 - Oboe (from FE7)
69 - English Horn (from FE7)
70 - Combined Bassoon (from FE7)
71 - Clarinet (from FE7)
72 - Piccolo/Flute Combined (from FE7)
73 - Piccolo/Flute Combined (from FE7)
74 - Recorder (from FE7)
75 - Pan Flute (from FE7)
76 - blank
77 - Shakuhachi (from AW2)
78 - Blank
79 - Ocarina (from FE7)
80 - Square wave (one octave UP) (from FE7)
81 - Sawtooth wave (from FE12)
82 - Blank
83 - Blank
84 - Charang (from FE7)
85 - Synth voice (from FE7)
86 - blank
87 - Bass + lead (from FE7)
88 - blank
89 - Pad 2 (warm) (old 106) (from FE7)
90 - blank
91 - Pad 4 (choir) (from FE7)
92 - blank
93 - blank
94 - blank
95 - blank
96 - blank
97 - blank
98 - blank
99 - blank
100 FX atmosphere (from FE7)
102 - blank
103 - blank
104 - Sitar (from FE7)
105 - blank
106 - Shamisen (from AW2)
107 - blank
108 - blank
109 - blank
110 - blank
111 - blank
112 - blank
113 - blank
114 - Steel Drums
115 - blank
116 - Taiko Drum
117 - blank
118 - blank
119 - Reverse Cymbal
120 - Drum kit (rock)
121 - blank
122 - blank
123 - blank
124 - blank
125 - blank
126 - blank
127 - Drum kit (standard)

A2 is an orchestral snare, and Bb2 is a drum roll for the drum kit. Provided your song does not use anything overly exotic it should no longer produce boopy noises when playing drums–if it does, please let me know. Obviously blank spaces have no instrument, so don’t use those.

Please see [this][1] post.
[1]: [FE7] ranged weapon modules

I did some testing and documented several classes that have this issue here:

It seems to only happen if the promoted flag is set.

I didn’t test every class, just the most likely suspects (There’s a lot of them). I noticed that the mercenary and myrmidon female slots give 100 exp if the promoted flag is set, but the other unused female ones don’t (FE6 carry over?). I also tried making archers and male myrmidons promoted to double check it wasn’t a tier 1 thing but they gave normal amounts experience (Gonna assume the other t1s are similar).

1 Like

I see an ASM dive is in order. I’m not the most experienced one with exp, but there’s some docs on it, so I’ll take a look tomorrow.

i’ve documented most of the exp routines (i didn’t bother with the one that ended up being division though)

you guys should implement my exponential exp scaling by default anyway

E1 -
so it appears the problem is in the getFlatEXPBonus() function at 08029E08, though i’m not entirely sure how. Let’s go deeper.

E2 -

i lied, it’s before then

E3 -

It looks like the “relative level” being calculated at 08029DCC for the relevant classes is going haywire

E4 -

I’'ve got it, it looks like the problem is caused because the “unit promotes to” byte (index 5) is zero (can someone please check this for me). When a promoted class gives or gains EXP, it loads the class power of its unpromoted counterpart; doing this involves loading the class pointer of the relevant class. When the “getClassPtr” function at 08018D20 is fed in a zero, it returns 0, which screws up the rest of the calculation.

Lesson learned? Set this value to something nonzero.

2 Likes

Confirmed this with some of the classes I documented. The byte just needs to be non-zero, whether or not the “Promotes to” class is also promoted doesn’t seem to affect it beyond fixing the experience gain.

Glad we know what the issue is and that it’s really easy to fix.

https://dl.dropboxusercontent.com/u/336940/Software/Hextator's%20Doc/Media/Games/Reverse%20Engineering/Console/NGBA/Fire%20Emblem/Game%20Doc/7%20-%20Blazing%20Sword/Game%20Mechanics/RNG/RNG%20Hack.txt

Hextator’s RNG-Based-on-system-time hack should be installed.

New Fire Shell release: zeta.

https://dl.dropboxusercontent.com/u/19964863/Fire%20Shell%20ζ.rar

The Good Good:

  • Tested the patch to make sure it’s functional this time.
  • Fixed the ballistae map sprite and attacking glitches.
  • Fixed the 100EXP gain glitch with certain classes.
  • Installed Venno’s staff EXP fix with a relocated table.
  • It’s got Mattypoo’s music magic built-in.
  • And also Modular Battle w/ status swords!
  • Updated FEditor auto-patches with functioning custom spells.
  • Fixed Iron Rune glitch in Range Penalty hack.
  • Implemented Venno’s drop item AI flag.
1 Like

Had the problem that I couldn’t use Nightmare with the new Fire Shell version. I inserted a mug via FEditor and used the Nightmare Portrait-Editor afterwards. Opening FEditor after that, makes the Portrait-Editor inside FEditor unuseable cause of a checksum error. But fixing the Checksum via FEditor undoes the Nightmare changes I’ve done. Nether encountered that before on a rom.

Are you using the nightmare modules bundled with the Fire Shell release?

Yes, I tried both. The one in the bundle and the own I had.

It sounds like you’re saving with both programs simultaneously. They’ll overwrite the changes to each other since they’re using the same base file and don’t update that with changes by other programs.

P.S. What are you needing the portrait editors for anyways? That’s all stuff FEditor takes care of through its interface.

al right so I’ve been making a chapter using fire shell, however there’s a problem. everything seems to load fine, but when a healer on the enemy side comes up to heal someone the game goes back to the title screen, and I don’t know why.

inb4 @Arch somehow overwrote the built in heal-effect routine for the enemy Ais.

ah. . . think ya can help me fix it (as im reaaalllyyy inexperienced with hacking) or should I just wait?

Nah, I wouldn’t know what was installed that might have messed it up. So, uh, just wait for @Arch.