Skip to content

Commit

Permalink
Merge pull request #7 from FireEmblemUniverse/lastch3polish
Browse files Browse the repository at this point in the history
Lastch3polish
  • Loading branch information
sme23 committed Nov 25, 2019
2 parents 900000b + dd25e28 commit 3317602
Show file tree
Hide file tree
Showing 5 changed files with 201 additions and 10 deletions.
20 changes: 10 additions & 10 deletions Events/Ch18.event
Original file line number Diff line number Diff line change
Expand Up @@ -66,16 +66,16 @@ ENDA
// Units

Units:
UNIT Vedge VedgeLord 0x00 Level(1, Ally, 0) [1,1] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [2,2] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [3,1] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [1,3] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [3,3] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [18,1] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [20,1] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [19,2] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [20,3] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [18,3] 0x00 0x00 0x0 0x00 [] AttackInRangeAI
UNIT Vedge VedgeLord 0x00 Level(1, Ally, 0) [1,1] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [2,2] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [3,1] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [1,3] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [3,3] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [18,1] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [20,1] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [19,2] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [20,3] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT Seth Paladin 0x00 Level(10, Ally, 1) [18,3] 0x00 0x00 0x0 0x00 [0x00] AttackInRangeAI
UNIT

Enemies:
Expand Down
122 changes: 122 additions & 0 deletions Mugs/PortraitShiftTable.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
//// Portrait Upshift Edit(or?)
// This table determines whether or not to upshift a portrait
// (see the topic)
// Anything but zero means the portrait will be upwards shifted
// (or if you prefer "zero means the portrait will be downshifted" idk)

// If you use character portraits past ID 0x71 for R-selectable units,
// you should probably feed this a free space location.
// (and by "should probably" i mean "if you leave this inline the code
// after it will get overwritten or be read from and give the wrong values")

PUSH
//remember to uncomment this if you need to expand the table!

//ORG 0x5C24
BYTE $01 $49 $08 $5C $70 $47 $C0 46

//.thumb
//@.org 0x5C24
//@This routine is passed Portrait Number
//ldr r1, ShiftPortraitTable
//ldrb r0, [r1, r0]
//bx r14
//.align
ShiftPortraitTable:

ALIGN 4
POIN PortraitShiftEdit

POP
//this too!

ALIGN 4
PortraitShiftEdit:
//Needs bytes of free space equal to the highest Portrait Number that you use.

//The default table is duplicated below.

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
//Invalid, Placeholder Mug (the ? guy), Eirika, EirikaEyesClosed, Seth, Gilliam, Franz, Moulder

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F
//Vanessa, Ross, Neimi, NeimiEyesClosed, Colm, ColmEyesClosed, Garcia, Innes

//the first 16, 0x00 through 0x0F, all return 0


//0x10 through 0x1F
BYTE 1 0 0 0 0 0 0 0
//Portrait ID 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17
//Lute, Natasha, NatashaEyesClosed, Cormag, Ephraim, EphraimEyesClosed, Forde, FordeEyesClosed

BYTE 0 1 0 0 0 0 0 0
//Portrait ID 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F
//Kyle, Amelia, Artur, Gerik, Tethys, TethysEyesClosed, Marisa, MarisaEyesClosed

//0x20 through 0x26
BYTE 1 1 0 1 0 0 1
//Portrait ID 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26
//Saleh, Ewan, L'Arachel, Dozla, Rennac, Duessel, Myrrh

//after 0x26 it's all 0
BYTE 0
//Portrait ID 0x27
//MyrrhEyesClosed

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F
//MyrrhDragonWings, Knoll, Joshua, Syrene, Tana, EirikaFlashback, EphraimFlashback, KnollFlashback

//(these have all been padding bytes, just filling to the end of the routine.)

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37
//O'Neill, Breguet, Bone, Bazba, Saar, Zonta, Novala, Murray

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F
//Tirado, Binks, Pablo, Aias, Carlyle, Gheb, Beran, Selena

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47
//VigardeDead, VigardeAlive, Valter, Caellach, OrsonTraitor, Orson, Lyon, LyonEyesClosed

BYTE 0 0 1 0 0 0 0 0
//Portrait ID 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F
//Riev, Morva, LyonDemonKing, Glen, Ch5 Brigand, Unknown(???), VigardeFlashback?, VigardeFlashbackEyesClosed?

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57
//LyonFlashback, Fado, Hayden, Mansel, Klimt, Dara, Ismaire, IsmaireEyesClosed

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F
//FatVillagerBushyMustacheBrownHair, ShrivelledOldManPurpleRobe, ManBrownHair, SkinnyManBlondish, VillagerBrownHairBlueOutfit, VillagerOrangeHairBrownOutfitFreckles, YoungBoyBlondishHairBlueOutfitFreckles, ShrivelledOldWomanMaroonCloakBlueShirt

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67
//WomanBrownHairInBunGreenCapeAndClothes, GirlTwinBraidBrownHairFrecklesBlueshirt, GirlGreyhairRedShirt, YoungGirlBrownPigtailsPinkShirt, Anna, Armorer, Vendor-er/Aimee, Arena Manager

BYTE 0 0 0 0 0 0 0 0
//Portrait ID 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E
//Anna SecretShop, FrelianMessenger, BlueSoldier, RedSoldier, PurpleONeill, OrangeONeill, NovalaAgain?, GreenSoldier, PurpleSoldier

BYTE 0 0
//Portrait 0x71 - WhiteSoldier; 0x72 Myrmidon Class Card

//0x72 - Myrmidon Class Card
//I'm skipping over the rest of the Class Cards:
//They don't go to this routine at all.
//0xAA - Demon King Class Card

//0xAB - Supply Minimug
//0xAC - Copy of the Placeholder Mug
//Only these last two mugs would get affected by this edit,
//and they shouldn't be used as normal portraits anyway;
//so as long as you have <0x71 unique portraits you can leave this inline.

//Edit this if you repoint!
//MESSAGE Better be 0x5CA2 and it is... currentOffset
30 changes: 30 additions & 0 deletions Prologue.tmx
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<map version="1.0" tiledversion="1.1.5" orientation="orthogonal" renderorder="right-down" width="19" height="14" tilewidth="16" tileheight="16" infinite="0" nextobjectid="1">
<tileset firstgid="1" source="01000203.tsx"/>
<layer name="Tile Layer 1" width="19" height="14">
<properties>
<property name="ChapterID" value="0"/>
<property name="Main" value=""/>
<property name="MapChangesID" value="6"/>
<property name="MapID" value="4"/>
<property name="ObjectType1" value="1"/>
<property name="PaletteID" value="2"/>
<property name="TileConfig" value="3"/>
</properties>
<data encoding="base64" compression="zlib">
eJy7wsTAcAWKNZgZGDSBWAuILzIhcAoDKoapX4eGtYH6dIBYF4g9gNgTiL2YMfXjwzCzvIH6fIDYF4gzgDgTiLPwmCWIQ24d1K2TGBFiyGxizELng/QjY0L6l5IYBrj8g8uP2NQRq5Zct8DiiRRz0MMB2VwQm1TzCMUZKeEF8xO6XDIR+q4wIfhLsLgH5m987lGFuvcKE3Y7SA0LmFno5pEbpgCKaGmh
</data>
</layer>
<layer name="Village Door" width="19" height="14">
<properties>
<property name="Height" value="1"/>
<property name="ID" value="1"/>
<property name="Width" value="1"/>
<property name="X" value="4"/>
<property name="Y" value="2"/>
</properties>
<data encoding="base64" compression="zlib">
eJxjYBgaoJt5oF0wCkbByAUA9TQAjw==
</data>
</layer>
</map>
Binary file modified VBA-BT_01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
39 changes: 39 additions & 0 deletions vba2 issues.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
prologue:
*glitchy enough transition between prologue opening and chapter gameplay
*lunar brace still references eirika
*do we *really* need a donate screen
*can't visit starting prologue house, if we care about house visitability
*vedge has no animation
*village: ...didn't take "out" side... - should be "our"
*boss has no battle or death quote

chapter 1:
*units just pop out without fog
*everything flickers for a frame after visiting arch?
*ch1 boss doesn't like blinking, has no death quote
*seth randomly appears in ch1 ending instead of null, as dialogue implies

chapter 2:
*ah, good old placeholder for the opening
*objective on both map and status screens still claims it's a rout chapter
*of the newly added bows, only the extra bow is effective against fliers (possibly intentional as the descriptions don't allude to flier effectiveness?)
*tarvos has tomebreaker (no mages) and a hammer (no armours). description mentions its "inherited some lunacy", possibly intentional
*keanu's death quote is just ross's
*cortez (boss) has countermagic, player has no mages (might just be a monk class skill though)
*also lacks boss/death quote
*ending's a placeholder

chapter 3:
*fades in and out several times during opening
*generics are still grado soldiers
*visiting village shows recruit flicker on screen before conversation starts
*boo's portrait is simply dozla
*screen flashes purple when boo visits the left house
*boss has no battle/death quote
*no objective shows up at all on the map

chapter 4:
*no text at all in the opening
*ch3 and ch4 bosses share portraits
*recruit is just colm, no change at all
*VILLAGE IS UNSAVEABLE; thief always reaches it on turn two and cannot be distracted, the only hypothetical way to save it would be if the cavaliers were on the front line as they could stand directly in front of the village turn 2, but they start in the back instead

0 comments on commit 3317602

Please sign in to comment.