summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/cable_car_util.h12
-rw-r--r--include/field_weather.h60
-rw-r--r--include/gba/macro.h30
-rw-r--r--include/global.h1
4 files changed, 103 insertions, 0 deletions
diff --git a/include/cable_car_util.h b/include/cable_car_util.h
new file mode 100644
index 000000000..0f50914c8
--- /dev/null
+++ b/include/cable_car_util.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_CABLE_CAR_UTIL_H
+#define GUARD_CABLE_CAR_UTIL_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+
+void sub_8124F08(u16 *dest, const u16 *src, u8 x, u8 y, u8 width, u8 height);
+
+#endif //GUARD_CABLE_CAR_UTIL_H
diff --git a/include/field_weather.h b/include/field_weather.h
index 409f76028..790fadaea 100644
--- a/include/field_weather.h
+++ b/include/field_weather.h
@@ -47,4 +47,64 @@ bool8 sub_807DDFC(void);
void SetWeather(u32);
void UpdateWeatherPerDay(u16);
+struct WeatherSubstruct {
+ u8 filler_0[5];
+ u8 unk_5_0:2;
+ u8 unk_5_2:2;
+ u8 unk_5_4:4;
+};
+
+struct Weather
+{
+ u8 filler_000[0xf0];
+ struct WeatherSubstruct *unk_0f0[20];
+ u8 filler_140[0xc0];
+ u8 unknown_200[2][32];
+ u8 filler_240[0x480];
+ s8 unknown_6C0;
+ s8 unknown_6C1;
+ u8 unknown_6C2;
+ u8 unknown_6C3;
+ u16 unknown_6C4;
+ u8 unknown_6C6;
+ u8 unknown_6C7;
+ u8 unknown_6C8;
+ u8 unknown_6C9;
+ u8 unknown_6CA;
+ u8 unknown_6CB;
+ u8 filler_6CC[2];
+ u16 unknown_6CE;
+ u8 unknown_6D0;
+ u8 unknown_6D1;
+ u8 filler_6D2[1];
+ u8 unknown_6D3;
+ u8 unknown_6D4;
+ u8 unknown_6D5;
+ u8 filler_6D6[2];
+ u8 unknown_6D8;
+ u8 filler_6D9[1];
+ u8 unknown_6DA;
+ u8 filler_6DB[3];
+ u8 unknown_6DE;
+ u8 filler_6DF[5];
+ u8 unknown_6E4;
+ u8 filler_6E5[0x15];
+ u8 unknown_6FA;
+ u8 unknown_6FB;
+ u8 filler_6FC[4];
+ u8 unknown_700;
+ u8 filler_701[0x15];
+ u8 unknown_716;
+ u8 unknown_717;
+ u8 filler_718[0xc];
+ u8 unknown_724;
+ u8 filler_725[9];
+ u8 unknown_72E;
+};
+
+#define gWeather gUnknown_0202F7E8
+extern struct Weather gWeather;
+
+extern struct Weather *const gUnknown_08396FC4;
+
#endif // GUARD_WEATHER_H
diff --git a/include/gba/macro.h b/include/gba/macro.h
index 1e0254806..71ff15590 100644
--- a/include/gba/macro.h
+++ b/include/gba/macro.h
@@ -118,4 +118,34 @@
#define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16)
#define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32)
+#define DmaFillLarge(dmaNum, fillval, dest, size, block, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = (u32)(size); \
+ while (1) \
+ { \
+ DmaFill##bit(dmaNum, fillval, _dest, (block)); \
+ _dest += (block); \
+ _size -= (block); \
+ if (_size <= (block)) \
+ { \
+ DmaFill##bit(dmaNum, fillval, _dest, _size); \
+ break; \
+ } \
+ } \
+}
+
+#define DmaFill16Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 16)
+#define DmaFill32Large(dmaNum, fillval, dest, size, block) DmaFillLarge(dmaNum, fillval, dest, size, block, 32)
+
+#define DmaFillDefvars(dmaNum, fillval, dest, size, bit) \
+{ \
+ void *_dest = dest; \
+ u32 _size = (u##bit)(size); \
+ DmaFill##bit(dmaNum, fillval, _dest, _size); \
+}
+
+#define DmaFill16Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 16)
+#define DmaFill32Defvars(dmaNum, fillval, dest, size) DmaFillDefvars(dmaNum, fillval, dest, size, 32)
+
#endif // GUARD_GBA_MACRO_H
diff --git a/include/global.h b/include/global.h
index f0eb7401f..4604c8cbb 100644
--- a/include/global.h
+++ b/include/global.h
@@ -799,5 +799,6 @@ struct HallOfFame
extern struct HallOfFame gHallOfFame;
extern struct SaveBlock2 gSaveBlock2;
+extern u8 ewram[];
#endif // GUARD_GLOBAL_H