diff --git a/src/v0.rs b/src/v0.rs
index e7ad801..3177397 100644
--- a/src/v0.rs
+++ b/src/v0.rs
@@ -171,23 +171,34 @@ pub struct WorldEventReset{
 #[binrw]
 #[brw(little)]
 pub struct WorldEventButton{
-	#[br(pad_after=8)]
 	pub button_id:u32,
+	// This field does not exist in the final struct and
+	// exists purely to de/serialize the magic number.
+	#[br(temp)]
+	#[bw(ignore)]
+	#[brw(magic=b"quatdata")]
+	_magic:(),
 }
 #[binrw]
 #[brw(little)]
 pub struct WorldEventSetTime{
 	#[br(map=read_trey_double)]
-	#[br(pad_after=4)]
 	pub time:f64,
+	#[br(temp)]
+	#[bw(ignore)]
+	#[brw(magic=b"data")]
+	_magic:(),
 }
 #[binrw]
 #[brw(little)]
 pub struct WorldEventSetPaused{
 	#[br(map=|paused:u32|paused!=0)]
 	#[bw(map=|paused:&bool|*paused as u32)]
-	#[br(pad_after=8)]
 	pub paused:bool,
+	#[br(temp)]
+	#[bw(ignore)]
+	#[brw(magic=b"quatdata")]
+	_magic:(),
 }
 #[binrw]
 #[brw(little)]
@@ -279,8 +290,7 @@ pub enum FlagReason{
 	Teleport,
 	#[brw(magic=9u32)]
 	Practice,
-	// b"data"
-	#[brw(magic=1635017060u32)]
+	#[brw(magic=b"data")]
 	None,
 }
 #[binrw]