diff --git a/src/dialog.asm b/src/dialog.asm index fa2d89a1..9313d81a 100644 --- a/src/dialog.asm +++ b/src/dialog.asm @@ -106,6 +106,7 @@ .IMPORT DataA_Dialog_PaperJerome22_sDialog .IMPORT DataA_Dialog_PaperJerome23_sDialog .IMPORT DataA_Dialog_PaperJerome24_sDialog +.IMPORT DataA_Dialog_PaperJerome25_sDialog .IMPORT DataA_Dialog_PaperJerome26_sDialog .IMPORT DataA_Dialog_PaperJerome27_sDialog .IMPORT DataA_Dialog_PaperJerome28_sDialog @@ -528,6 +529,7 @@ _Finish: d_entry t, PaperJerome22, DataA_Dialog_PaperJerome22_sDialog d_entry t, PaperJerome23, DataA_Dialog_PaperJerome23_sDialog d_entry t, PaperJerome24, DataA_Dialog_PaperJerome24_sDialog + d_entry t, PaperJerome25, DataA_Dialog_PaperJerome25_sDialog d_entry t, PaperJerome26, DataA_Dialog_PaperJerome26_sDialog d_entry t, PaperJerome27, DataA_Dialog_PaperJerome27_sDialog d_entry t, PaperJerome28, DataA_Dialog_PaperJerome28_sDialog diff --git a/src/dialog.inc b/src/dialog.inc index 1e7e5390..fa090cc9 100644 --- a/src/dialog.inc +++ b/src/dialog.inc @@ -184,6 +184,7 @@ kDialogEntryCutscene = $ff ; ends the dialog and starts a new cutscene PaperJerome22 PaperJerome23 PaperJerome24 + PaperJerome25 PaperJerome26 PaperJerome27 PaperJerome28 diff --git a/src/newgame.asm b/src/newgame.asm index 840efeaa..01ab8e0c 100644 --- a/src/newgame.asm +++ b/src/newgame.asm @@ -313,8 +313,9 @@ _SetFlags: .byte eFlag::UpgradeRam3 .byte eFlag::BreakerLava .byte eFlag::UpgradeOpSync + .byte eFlag::PaperJerome09 ; room: MineFlower .byte eFlag::PaperJerome26 ; room: MineEast - .byte eFlag::PaperJerome09 ; room: MineNorth + .byte eFlag::PaperJerome25 ; room: MineNorth .byte eFlag::BossMine .byte eFlag::UpgradeRam4 .byte eFlag::BreakerMine diff --git a/src/paper.asm b/src/paper.asm index 841a0ea6..5f5ecce2 100644 --- a/src/paper.asm +++ b/src/paper.asm @@ -79,6 +79,9 @@ .IMPORT DataA_Text2_PaperJerome23_Page2_u8_arr .IMPORT DataA_Text2_PaperJerome24_Page1_u8_arr .IMPORT DataA_Text2_PaperJerome24_Page2_u8_arr +.IMPORT DataA_Text2_PaperJerome25_Page1_u8_arr +.IMPORT DataA_Text2_PaperJerome25_Page2_u8_arr +.IMPORT DataA_Text2_PaperJerome25_Page3_u8_arr .IMPORT DataA_Text2_PaperJerome26_Page1_u8_arr .IMPORT DataA_Text2_PaperJerome26_Page2_u8_arr .IMPORT DataA_Text2_PaperJerome27_Page1_u8_arr @@ -308,7 +311,7 @@ Ram_CollectedPapers_u8_arr: .res kPaperGridCols d_byte eFlag::PaperJerome22, eDialog::PaperJerome22 d_byte eFlag::PaperJerome23, eDialog::PaperJerome23 d_byte eFlag::PaperJerome24, eDialog::PaperJerome24 - d_byte eFlag::PaperJerome25, 0 ; TODO + d_byte eFlag::PaperJerome25, eDialog::PaperJerome25 d_byte eFlag::PaperJerome26, eDialog::PaperJerome26 d_byte eFlag::PaperJerome27, eDialog::PaperJerome27 d_byte eFlag::PaperJerome28, eDialog::PaperJerome28 @@ -344,7 +347,7 @@ Ram_CollectedPapers_u8_arr: .res kPaperGridCols d_byte eFlag::PaperJerome06, eArea::Shadow ; room: ShadowOffice d_byte eFlag::PaperJerome07, eArea::Factory ; room: FactoryBridge d_byte eFlag::PaperJerome08, eArea::Crypt ; room: CryptCenter - d_byte eFlag::PaperJerome09, eArea::Mine ; room: MineNorth + d_byte eFlag::PaperJerome09, eArea::Mine ; room: MineFlower d_byte eFlag::PaperJerome10, eArea::Lava ; room: LavaWest d_byte eFlag::PaperJerome11, eArea::Crypt ; room: CryptSpiral d_byte eFlag::PaperJerome12, eArea::Garden ; room: GardenHallway @@ -360,7 +363,7 @@ Ram_CollectedPapers_u8_arr: .res kPaperGridCols d_byte eFlag::PaperJerome22, eArea::Sewer ; room: SewerFlower d_byte eFlag::PaperJerome23, eArea::Core ; room: CoreLock d_byte eFlag::PaperJerome24, eArea::City ; room: CityBuilding1 - d_byte eFlag::PaperJerome25, $ff ; TODO + d_byte eFlag::PaperJerome25, eArea::Mine ; room: MineNorth d_byte eFlag::PaperJerome26, eArea::Mine ; room: MineEast d_byte eFlag::PaperJerome27, eArea::Lava ; room: LavaTunnel d_byte eFlag::PaperJerome28, eArea::Temple ; room: TempleChevet @@ -880,6 +883,14 @@ _Right: dlg_Done .ENDPROC +.EXPORT DataA_Dialog_PaperJerome25_sDialog +.PROC DataA_Dialog_PaperJerome25_sDialog + dlg_Text Paper, DataA_Text2_PaperJerome25_Page1_u8_arr + dlg_Text Paper, DataA_Text2_PaperJerome25_Page2_u8_arr + dlg_Text Paper, DataA_Text2_PaperJerome25_Page3_u8_arr + dlg_Done +.ENDPROC + .EXPORT DataA_Dialog_PaperJerome26_sDialog .PROC DataA_Dialog_PaperJerome26_sDialog dlg_Text Paper, DataA_Text2_PaperJerome26_Page1_u8_arr diff --git a/src/rooms/mine_flower.asm b/src/rooms/mine_flower.asm index c3982dc7..53939e63 100644 --- a/src/rooms/mine_flower.asm +++ b/src/rooms/mine_flower.asm @@ -31,6 +31,7 @@ .INCLUDE "../room.inc" .IMPORT DataA_Room_Mine_sTileset +.IMPORT Data_Empty_sActor_arr .IMPORT FuncA_Machine_Error .IMPORT FuncA_Machine_HoistMoveTowardGoal .IMPORT FuncA_Machine_HoistTryMove @@ -120,7 +121,7 @@ _Ext_sRoomExt: D_STRUCT sRoomExt d_addr Terrain_sTileset_ptr, DataA_Room_Mine_sTileset d_addr Platforms_sPlatform_arr_ptr, _Platforms_sPlatform_arr - d_addr Actors_sActor_arr_ptr, _Actors_sActor_arr + d_addr Actors_sActor_arr_ptr, Data_Empty_sActor_arr d_addr Devices_sDevice_arr_ptr, _Devices_sDevice_arr d_addr Passages_sPassage_arr_ptr, _Passages_sPassage_arr d_addr Enter_func_ptr, FuncA_Room_RemoveFlowerDeviceIfCarriedOrDelivered @@ -238,10 +239,6 @@ _Platforms_sPlatform_arr: D_END .assert * - :- <= kMaxPlatforms * .sizeof(sPlatform), error .byte ePlatform::None -_Actors_sActor_arr: -: ;; TODO: add a baddie - .assert * - :- <= kMaxActors * .sizeof(sActor), error - .byte eActor::None _Devices_sDevice_arr: : .assert * - :- = kFlowerDeviceIndex * .sizeof(sDevice), error D_STRUCT sDevice @@ -262,6 +259,12 @@ _Devices_sDevice_arr: d_byte BlockCol_u8, 12 d_byte Target_byte, kHoistEastMachineIndex D_END + D_STRUCT sDevice + d_byte Type_eDevice, eDevice::Paper + d_byte BlockRow_u8, 8 + d_byte BlockCol_u8, 1 + d_byte Target_byte, eFlag::PaperJerome09 + D_END .assert * - :- <= kMaxDevices * .sizeof(sDevice), error .byte eDevice::None _Passages_sPassage_arr: diff --git a/src/rooms/mine_north.asm b/src/rooms/mine_north.asm index b0bc8fcd..941925e2 100644 --- a/src/rooms/mine_north.asm +++ b/src/rooms/mine_north.asm @@ -238,7 +238,7 @@ _Devices_sDevice_arr: d_byte Type_eDevice, eDevice::Paper d_byte BlockRow_u8, 3 d_byte BlockCol_u8, 18 - d_byte Target_byte, eFlag::PaperJerome09 + d_byte Target_byte, eFlag::PaperJerome25 D_END .assert * - :- <= kMaxDevices * .sizeof(sDevice), error .byte eDevice::None diff --git a/src/text/text2.txt b/src/text/text2.txt index a074761c..5cb9824c 100644 --- a/src/text/text2.txt +++ b/src/text/text2.txt @@ -277,6 +277,24 @@ change humans before they aren't remotely human anymore?# +@PaperJerome25_Page1 +Day 25: The whole idea +was to allow humans to +live as they wanted. +To be free.# + +@PaperJerome25_Page2 +But the eternal truth +of humans is that what +we want is not always +what's best for us.# + +@PaperJerome25_Page3 +Especially when what +we want is for those +who disagree with us +to not exist.# + @PaperJerome26_Page1 Day 26: Once their frustration with us