Skip to content
This repository has been archived by the owner on Dec 30, 2023. It is now read-only.

Making a Mod

skellypupper edited this page Jun 14, 2023 · 12 revisions

Notes

  • Mod assets override regular assets in game; this means if you have if you have an assets/images/icons/bf.png and a mods/*/images/icons/bf.png, the mod path will be used.
  • As of right now, mods cannot override or interact with any part of non-PlayState related menus.
  • A template of the mod folder structure can be found here and downloaded with this.

1. Making your mod folder

In your Edak Engine folder, there will be a folder titled mods, create a new folder with any name inside of it; this will be where all the content for your mod goes.

2. Making weeks

There are multiple components that go into making a week.

A. order.txt

Your weeks will not show up without this file.

Before actually making any week files, you need to make an order.txt file in data/weeks. This file will contain your week names in the order you want them to appear on the story menu. (or the order you want the songs to be listed in the freeplay menu)

Example

If you have 3 weeks called swag.yaml money.yaml and week8.yaml, your order.txt should look like this (again, order is up to you):

swag
money
week8

B. Story Characters

If you want characters to appear for your week in the story menu, you'll have to make story characters.

Inside your mod folder at data/weeks/characters, make a .yaml file with any name.

Story Character YAML Example
---
storyAssets: storyMenu/characters/campaign_menu_UI_characters # The path to the story mode assets for this character.
anims: # only accepts the 2 animations listed below, "confirm" is optional.
  idle: BF idle dance white # the names for your animations 
  confirm: BF HEY!!
x: 0 # WARNING: x and y are offsets, negative goes right or down, positive goes left or up.
y: -30
scale: .9
flipped: false
framerate: 24

C. Difficulties

Inside your mod folder at data/difficulties, make a .yaml file with any name.

Difficulty YAML Example
color: 0xFF00FF00 # The text color of your difficulty. Format with ARGB. (0xAARRGGBB)
loadsDifferentSong: false # Whether or not this difficulty loads a different version of the target song. If true the game will look for Inst-<difficulty>.ogg and Voices-<difficulty>.ogg when loading the song.
offsets: # The image offsets for your story mode difficulty image. (Image path: images/difficulties/<difficulty>)
  - 20
  - 0

D. Weeks Themselves

Inside your mod folder at data/weeks, make a .yaml file with any name.

Week YAML Example
---
name: Daddy Dearest # The name of your week, appears in the story menu.
hideInStory: false # Whether or not to include your week in the story menu.
songs: # The songs for your week, match the names to the ones in your "songs" folder. (case-insensitive)
  - Bopeebo
  - Fresh
  - DadBattle
colors: # The colors for the freeplay background. If you're using the same color for all songs you only have to provide one, otherwise, provide the one for each song. Format with ARGB. (0xAARRGGBB)
  - 0xfff191ba
icons: # The icons for the freeplay state. Same premise as colors.
  - dad
difficulties: # The difficulties for your week. Names must match the filenames in "data/difficulty". (case-insensitive)
  - Easy
  - Normal
  - Hard
storyDad: dad # The animated dad character for the story menu. Name must match a filename in "data/weeks/characters". (case-insensitive)
storyBf: bf # ^ same concept.
storyGf: gf # ^ you get the deal.