I need help re-adding events to my FE5 disassembly

So, a little while ago I decided to redo my FE5 disassembly in a new format. Progress has been slow, and one of the main things I need to do is to re-add all of the vanilla chapter events from the old repository. This is a slow task, where the process is mostly

  • Create a new installer file for the chapter
  • Put the sections at their vanilla positions in the main build script
  • Copy small chunks of events from old → new
    • Fix old event code and macro names
    • Look for things that could be macroified
  • Building after each chunk to catch mistakes early

Since the new disassembly doesn’t have any of the dialogue or other things disassembled, I have to add their pointers into the definitions area of the chapter’s installer. One of the main goals of the new format is to consolidate the chapter events and event data (and eventually world map events) into one file.

Anyway, the point of this post is to ask if anyone would be willing to help with this. To get started, grab the current repository and follow the readme to set it up (let me know if you have trouble, by the way) and also grab the old version from the releases tab of the repository. Take a look at the currently-added events to get a feel for how they’re structured.

Basically, they look like


.weak
  WARNINGS :?= "None"
.endweak

GUARD_FE5_CHAPTER{number} :?= false
.if (!GUARD_FE5_CHAPTER{number})
  GUARD_FE5_CHAPTER{number} := true

  .include "../../VoltEdge/VoltEdge.h"

  ; Definitions

    .weak

      ...

    .endweak

  ; Freespace inclusions

    .section Chapter{number}EventsSection

      ...

    .endsection Chapter{number}EventsSection

    .section Chapter{number}DataSection

      ...

    .endsection Chapter{number}DataSection

.endif ; GUARD_FE5_CHAPTER{number}

where {number} is the chapter’s number.

In the main build script Build.asm, the (currently) two sections for each chapter are added to their fixed locations. This involves using the old disassembly’s build script and offset comments:

Say, for chapter 3, I’d check the old build script to find that they’re inside a block that begins with

* = $060000
.logical $8C8000

and in the actual event file

eventChapter3Events ; 8C/E435

which tells me that (if whatever comes directly before/after them isn’t already added) I’ll need to create a block in the new build script that looks like


  * := $066435
  .logical mapped($066435)

    startEvents

      .dsection Chapter3EventsSection

    endEvents

  .endlogical

The same thing is done for the chapter data section:

In the old script:

* = $188000
.logical $B18000

and in the data

eventChapter3Data ; B1/F318

mean that in the new build script I’d add

  * := $18F318
  .logical mapped($18F318)

    startData

      .dsection Chapter3DataSection

    endData

  .endlogical

Anyway, if anyone would like to help, hit me up here or on Discord.

5 Likes