summaryrefslogtreecommitdiff
path: root/src/overlays/fbdemos
diff options
context:
space:
mode:
authorTharo <17233964+Thar0@users.noreply.github.com>2021-08-04 04:21:31 +0100
committerGitHub <noreply@github.com>2021-08-03 23:21:31 -0400
commit7743e5a2c4b6d01c847dea8929c707e65e5e18b3 (patch)
tree344b481b7f247b8718db059cac0042e921115714 /src/overlays/fbdemos
parent60ff2079829021dcc80f40171ca2652f3ab1f9ae (diff)
Overhaul the build system (#234)
* wip * fix * add disassembler * Disasm builds OK * Variable addends * More wip * Rodata migration implemented * Cleanup old tools * Try fix submodule -> subrepo merge * git subrepo pull --force --remote=https://github.com/zeldaret/ZAPD.git tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "602e609" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "602e609" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Builds again but assets are totally broken * git subrepo pull --force tools/asm-processor subrepo: subdir: "tools/asm-processor" merged: "1ffdb08a" upstream: origin: "https://github.com/simonlindholm/asm-processor.git" branch: "master" commit: "1ffdb08a" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * More cleanup, move functions.txt and variables.txt to tools/disasm and rm tables * rm z64compress in preparation for subrepo * git subrepo clone (merge) https://github.com/z64me/z64compress.git tools/z64compress subrepo: subdir: "tools/z64compress" merged: "eb11085c" upstream: origin: "https://github.com/z64me/z64compress.git" branch: "main" commit: "eb11085c" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Fix asset extraction * Fix diff-init make rule * Split code bss * Split assumed linker bug padding from assembly files * add filelists for mm.us.rev1 * Maybe working, but I'm not sure * add overlays to spec * Add rodata to actos * Everything compiles * Make a lot of C files for code * Add almost every file in code to spec * whoops * 3 code files left * add scenes to spec * More progress on progress.py * Fix skelanime in spec * audio files! * Fix merge issues * Fix some C files in code * Fix remaining code files * Use existing O1 C files in spec * reorder boot order in spec * update spec * fault.c * Convert relocs on completed actors, fixbaserom uses current rom name * more boot files * Add VT macros and script * finish already existing boot files * most of libultra * fix 64bits libultra files * Use C files for libultra, wrap some functions in NON_MATCHING * Remove duplicate of OS_CLOCK_RATE from fault.c * C files for fbdemos * delete dumb files * bootstrap C files, still need to add them to the spec * update fixbaserom * boot OK? * I forgot to commit the spec * C for gamestates * C for kaleido * Change all includes to "" * copy actor sizes script from oot * I forgot to delete those files * Basic C files for effects * Add effects initvars names * Remove mislabelled boot functions from header/txt * Begin porting bootstrap_fx, some sizes * Fix <> * Fix enum * Fix diff.py * fix libultra stuff * update regconvert * update setup warnings * add some missing ; * Fix some makefile stuff and other fixes on some non_matching functions * add executable flag in extract_baserom and fixbaserom * fix relative path * copy assist from oot * fix map path * another assist path fix * Delete C files for handwritten files * add code_801A51F0 to spec * add gfxbuffers to spec * Move rodata to top of each file when possible * UNK_TYPEs for func_801A51F0 * Remove kaleido rodata from spec * Update spec and undefined_syms for recent merge * GCC warnings and fix errors in nonmatchings, * round percentage numbers * progress script: format changes * progress: error on non-existing files * fix warning in z_scene_table * Match 2 nonmatchings in z_actor * Warnings in lightswitch and invadepoh * Fix warning in z_actor_dlftbls * I though I fixed this one * whoops * Comment out CC_CHECK * Removed redundant ultra64.h includes * Update asm_processor, sorted boot_O1 into other folders, completed the fbdemo bootstrap, cleaned up undefined_syms * Completed gamestates bootstrap * Split kaleido_scope * Remove section.h and segment.h, move keep object externs to a common location in variables.h * Completed effects bootstrap * Segmented address externs for effects, fbdemos, gamestates and kaleido * Move actor data externs out of the if 0 * Segmented address externs for actors * Prepare actionfunc detection * fix script, how did it even work before * Fix actionfunc script again, re-introduce some more intermediate prints to the disassembler * Automated actionFunc detection in actors * Segmented addresses from player .text * rm old segment addrs script and fix build * Move sizes folder to tools * Make build.py executable * New Jenkinsfile Prayge * Remove numpy dependencies * Add warnings_disasm_current.txt * my bad * Update spec and undefined_syms * Add z_eff_ss_hahen to pametfrog * git subrepo pull (merge) --force tools/z64compress subrepo: subdir: "tools/z64compress" merged: "163ca2af" upstream: origin: "https://github.com/z64me/z64compress.git" branch: "main" commit: "163ca2af" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * Make z64compress print to stdout * sneeky commit to update warnings tooling * test * Another test * Mark fixing overlay reloc generating as a TODO * Update warnings stuff * Communicate the return code from running z64compress back to the Makefile through the wrapper * Run formatter, remove extra commented copy of function * Re-fix some includes * Convert atan to hex to conform to decided style * Some tidying up, remove c for fp and the other two handwritten code files * BSS in z_collision_check & z_scene_proc * add static back in * Fix timerintr bss, add file to spec, some cleanup * Remove externs * Newline * Readd enums * Typo * Colours * Comments for hitmark enum values Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> * Improvements and suggestions * Organize and remove unused imports and use env for python3 scripts, delete unused overlay.py Co-authored-by: angie <angheloalf95@gmail.com> Co-authored-by: Elliptic Ellipsis <elliptic.ellipsis@gmail.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com> Co-authored-by: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com>
Diffstat (limited to 'src/overlays/fbdemos')
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg2
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c49
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h12
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg2
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c50
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h12
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg2
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c52
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h12
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg2
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c50
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h12
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg2
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c52
-rw-r--r--src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h12
15 files changed, 323 insertions, 0 deletions
diff --git a/src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg
new file mode 100644
index 000000000..d5f678c11
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_triforce/overlay.cfg
@@ -0,0 +1,2 @@
+ovl_fbdemo_triforce
+z_fbdemo_triforce.c
diff --git a/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c
new file mode 100644
index 000000000..268f8e1a6
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.c
@@ -0,0 +1,49 @@
+/*
+ * File: z_fbdemo_triforce.c
+ * Overlay: ovl_fbdemo_triforce
+ * Description:
+ */
+
+#include "z_fbdemo_triforce.h"
+
+void* TransitionTriforce_Init(void* thisx);
+void TransitionTriforce_Destroy(void* thisx);
+void TransitionTriforce_Update(void* thisx, s32 updateRate);
+void TransitionTriforce_Draw(void* thisx, Gfx** gfxP);
+void TransitionTriforce_Start(void* thisx);
+void TransitionTriforce_SetType(void* thisx, s32 type);
+void TransitionTriforce_SetColor(void* thisx, u32 color);
+s32 TransitionTriforce_IsDone(void* thisx);
+
+#if 0
+const TransitionInit TransitionTriforce_InitVars = {
+ TransitionTriforce_Init,
+ TransitionTriforce_Destroy,
+ TransitionTriforce_Update,
+ TransitionTriforce_Draw,
+ TransitionTriforce_Start,
+ TransitionTriforce_SetType,
+ TransitionTriforce_SetColor,
+ NULL,
+ TransitionTriforce_IsDone,
+};
+
+#endif
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Start.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Init.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Destroy.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Update.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_SetColor.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_SetType.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/func_80AC5280.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_Draw.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_triforce/TransitionTriforce_IsDone.s")
diff --git a/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h
new file mode 100644
index 000000000..7d7dcae56
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_triforce/z_fbdemo_triforce.h
@@ -0,0 +1,12 @@
+#ifndef Z_FBDEMO_TRIFORCE_H
+#define Z_FBDEMO_TRIFORCE_H
+
+#include "global.h"
+
+typedef struct {
+ /* 0x0000 */ char unk_0[0x1E0];
+} TransitionTriforce; // size = 0x1E0
+
+extern const TransitionInit TransitionTriforce_InitVars;
+
+#endif
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg
new file mode 100644
index 000000000..5b3efc6ad
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/overlay.cfg
@@ -0,0 +1,2 @@
+ovl_fbdemo_wipe1
+z_fbdemo_wipe1.c
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c
new file mode 100644
index 000000000..560d341f2
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.c
@@ -0,0 +1,50 @@
+/*
+ * File: z_fbdemo_wipe1.c
+ * Overlay: ovl_fbdemo_wipe1
+ * Description:
+ */
+
+#include "z_fbdemo_wipe1.h"
+
+void* TransitionWipe1_Init(void* thisx);
+void TransitionWipe1_Destroy(void* thisx);
+void TransitionWipe1_Update(void* thisx, s32 updateRate);
+void TransitionWipe1_Draw(void* thisx, Gfx** gfxP);
+void TransitionWipe1_Start(void* thisx);
+void TransitionWipe1_SetType(void* thisx, s32 type);
+void TransitionWipe1_SetColor(void* thisx, u32 color);
+void TransitionWipe1_SetEnvColor(void* thisx, u32 color);
+s32 TransitionWipe1_IsDone(void* thisx);
+
+#if 0
+const TransitionInit TransitionWipe1_InitVars = {
+ TransitionWipe1_Init,
+ TransitionWipe1_Destroy,
+ TransitionWipe1_Update,
+ TransitionWipe1_Draw,
+ TransitionWipe1_Start,
+ TransitionWipe1_SetType,
+ TransitionWipe1_SetColor,
+ TransitionWipe1_SetEnvColor,
+ TransitionWipe1_IsDone,
+};
+
+#endif
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Start.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Init.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Destroy.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Update.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_Draw.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_IsDone.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_SetType.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_SetColor.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe1/TransitionWipe1_SetEnvColor.s")
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h
new file mode 100644
index 000000000..fe70e724b
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe1/z_fbdemo_wipe1.h
@@ -0,0 +1,12 @@
+#ifndef Z_FBDEMO_WIPE1_H
+#define Z_FBDEMO_WIPE1_H
+
+#include "global.h"
+
+typedef struct {
+ /* 0x0000 */ char unk_0[0x218];
+} TransitionWipe1; // size = 0x218
+
+extern const TransitionInit TransitionWipe1_InitVars;
+
+#endif
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg
new file mode 100644
index 000000000..73258114b
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe3/overlay.cfg
@@ -0,0 +1,2 @@
+ovl_fbdemo_wipe3
+z_fbdemo_wipe3.c
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c
new file mode 100644
index 000000000..bbd488642
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.c
@@ -0,0 +1,52 @@
+/*
+ * File: z_fbdemo_wipe3.c
+ * Overlay: ovl_fbdemo_wipe3
+ * Description:
+ */
+
+#include "z_fbdemo_wipe3.h"
+
+void* TransitionWipe3_Init(void* thisx);
+void TransitionWipe3_Destroy(void* thisx);
+void TransitionWipe3_Update(void* thisx, s32 updateRate);
+void TransitionWipe3_Draw(void* thisx, Gfx** gfxP);
+void TransitionWipe3_Start(void* thisx);
+void TransitionWipe3_SetType(void* thisx, s32 type);
+void TransitionWipe3_SetColor(void* thisx, u32 color);
+void TransitionWipe3_SetEnvColor(void* thisx, u32 color);
+s32 TransitionWipe3_IsDone(void* thisx);
+
+#if 0
+const TransitionInit TransitionWipe3_InitVars = {
+ TransitionWipe3_Init,
+ TransitionWipe3_Destroy,
+ TransitionWipe3_Update,
+ TransitionWipe3_Draw,
+ TransitionWipe3_Start,
+ TransitionWipe3_SetType,
+ TransitionWipe3_SetColor,
+ TransitionWipe3_SetEnvColor,
+ TransitionWipe3_IsDone,
+};
+
+#endif
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Start.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Init.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Destroy.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/func_80AC68B4.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Update.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_Draw.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_IsDone.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_SetType.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_SetColor.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe3/TransitionWipe3_SetEnvColor.s")
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h
new file mode 100644
index 000000000..f74f86a61
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe3/z_fbdemo_wipe3.h
@@ -0,0 +1,12 @@
+#ifndef Z_FBDEMO_WIPE3_H
+#define Z_FBDEMO_WIPE3_H
+
+#include "global.h"
+
+typedef struct {
+ /* 0x0000 */ char unk_0[0x120];
+} TransitionWipe3; // size = 0x120
+
+extern const TransitionInit TransitionWipe3_InitVars;
+
+#endif
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg
new file mode 100644
index 000000000..e18ed9858
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe4/overlay.cfg
@@ -0,0 +1,2 @@
+ovl_fbdemo_wipe4
+z_fbdemo_wipe4.c
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c
new file mode 100644
index 000000000..49dd027c8
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.c
@@ -0,0 +1,50 @@
+/*
+ * File: z_fbdemo_wipe4.c
+ * Overlay: ovl_fbdemo_wipe4
+ * Description:
+ */
+
+#include "z_fbdemo_wipe4.h"
+
+void* TransitionWipe4_Init(void* thisx);
+void TransitionWipe4_Destroy(void* thisx);
+void TransitionWipe4_Update(void* thisx, s32 updateRate);
+void TransitionWipe4_Draw(void* thisx, Gfx** gfxP);
+void TransitionWipe4_Start(void* thisx);
+void TransitionWipe4_SetType(void* thisx, s32 type);
+void TransitionWipe4_SetColor(void* thisx, u32 color);
+void TransitionWipe4_SetEnvColor(void* thisx, u32 color);
+s32 TransitionWipe4_IsDone(void* thisx);
+
+#if 0
+const TransitionInit TransitionWipe4_InitVars = {
+ TransitionWipe4_Init,
+ TransitionWipe4_Destroy,
+ TransitionWipe4_Update,
+ TransitionWipe4_Draw,
+ TransitionWipe4_Start,
+ TransitionWipe4_SetType,
+ TransitionWipe4_SetColor,
+ TransitionWipe4_SetEnvColor,
+ TransitionWipe4_IsDone,
+};
+
+#endif
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Start.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Init.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Destroy.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Update.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_Draw.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_IsDone.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_SetType.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_SetColor.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe4/TransitionWipe4_SetEnvColor.s")
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h
new file mode 100644
index 000000000..60296230e
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe4/z_fbdemo_wipe4.h
@@ -0,0 +1,12 @@
+#ifndef Z_FBDEMO_WIPE4_H
+#define Z_FBDEMO_WIPE4_H
+
+#include "global.h"
+
+typedef struct {
+ /* 0x0000 */ char unk_0[0x28];
+} TransitionWipe4; // size = 0x28
+
+extern const TransitionInit TransitionWipe4_InitVars;
+
+#endif
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg b/src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg
new file mode 100644
index 000000000..297aa770c
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe5/overlay.cfg
@@ -0,0 +1,2 @@
+ovl_fbdemo_wipe5
+z_fbdemo_wipe5.c
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c
new file mode 100644
index 000000000..4c27fe134
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.c
@@ -0,0 +1,52 @@
+/*
+ * File: z_fbdemo_wipe5.c
+ * Overlay: ovl_fbdemo_wipe5
+ * Description:
+ */
+
+#include "z_fbdemo_wipe5.h"
+
+void* TransitionWipe5_Init(void* thisx);
+void TransitionWipe5_Destroy(void* thisx);
+void TransitionWipe5_Update(void* thisx, s32 updateRate);
+void TransitionWipe5_Draw(void* thisx, Gfx** gfxP);
+void TransitionWipe5_Start(void* thisx);
+void TransitionWipe5_SetType(void* thisx, s32 type);
+void TransitionWipe5_SetColor(void* thisx, u32 color);
+void TransitionWipe5_SetEnvColor(void* thisx, u32 color);
+s32 TransitionWipe5_IsDone(void* thisx);
+
+#if 0
+const TransitionInit TransitionWipe5_InitVars = {
+ TransitionWipe5_Init,
+ TransitionWipe5_Destroy,
+ TransitionWipe5_Update,
+ TransitionWipe5_Draw,
+ TransitionWipe5_Start,
+ TransitionWipe5_SetType,
+ TransitionWipe5_SetColor,
+ TransitionWipe5_SetEnvColor,
+ TransitionWipe5_IsDone,
+};
+
+#endif
+
+extern UNK_TYPE D_0F000000;
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Start.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Init.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Destroy.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Update.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_Draw.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_IsDone.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_SetType.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_SetColor.s")
+
+#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_fbdemo_wipe5/TransitionWipe5_SetEnvColor.s")
diff --git a/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h
new file mode 100644
index 000000000..d8ffe0616
--- /dev/null
+++ b/src/overlays/fbdemos/ovl_fbdemo_wipe5/z_fbdemo_wipe5.h
@@ -0,0 +1,12 @@
+#ifndef Z_FBDEMO_WIPE5_H
+#define Z_FBDEMO_WIPE5_H
+
+#include "global.h"
+
+typedef struct {
+ /* 0x0000 */ char unk_0[0x14];
+} TransitionWipe5; // size = 0x14
+
+extern const TransitionInit TransitionWipe5_InitVars;
+
+#endif