@@ -685,6 +685,23 @@ def __init__(self, table: int, image: int, tex_format: TextureFormat, width: int
685685 self .default_count = default_count
686686
687687
688+ def writeWinConImage (settings : Settings , image : Image , ROM_COPY : LocalROM ):
689+ """Wrap function for writing a win con image, detecting K Rool win con."""
690+ # if settings.win_condition_spawns_ship:
691+ # base_im = Image.new(mode="RGBA", size=(64, 64))
692+ # left_im = getImageFile(ROM_COPY, TableNames.TexturesGeometry, 0x383, True, 32, 64, TextureFormat.RGBA5551)
693+ # right_im = getImageFile(ROM_COPY, TableNames.TexturesGeometry, 0x384, True, 32, 64, TextureFormat.RGBA5551)
694+ # base_im.paste(left_im, (0, 0), left_im)
695+ # base_im.paste(right_im, (32, 0), right_im)
696+ # base_im = base_im.transpose(Image.FLIP_TOP_BOTTOM)
697+ # base_im = base_im.resize((32, 32))
698+ # base_im.paste(image, (0, 0), image)
699+ # else:
700+ # base_im = image
701+ base_im = image
702+ writeColorImageToROM (base_im , 14 , 195 , 32 , 32 , False , TextureFormat .RGBA5551 , ROM_COPY )
703+
704+
688705def showWinCondition (settings : Settings , ROM_COPY : LocalROM ):
689706 """Alter the image that's shown on the main menu to display the win condition."""
690707 win_con = settings .win_condition_item
@@ -710,25 +727,25 @@ def showWinCondition(settings: Settings, ROM_COPY: LocalROM):
710727 pos_y = 32 * img [2 ]
711728 output_image .paste (local_img , (pos_x , pos_y ), local_img )
712729 output_image = output_image .resize ((32 , 32 )).transpose (Image .FLIP_TOP_BOTTOM )
713- writeColorImageToROM ( output_image , 14 , 195 , 32 , 32 , False , TextureFormat . RGBA5551 , ROM_COPY )
730+ writeWinConImage ( settings , output_image , LocalROM )
714731 if win_con == WinConditionComplex .get_key8 :
715732 output_image = Image .open (BytesIO (js .getFile ("base-hack/assets/displays/key8.png" )))
716733 output_image = output_image .resize ((32 , 32 ))
717- writeColorImageToROM ( output_image , 14 , 195 , 32 , 32 , False , TextureFormat . RGBA5551 , ROM_COPY )
734+ writeWinConImage ( settings , output_image , LocalROM )
718735 return
719736 if win_con == WinConditionComplex .req_bean :
720737 output_image = Image .open (BytesIO (js .getFile ("base-hack/assets/arcade_jetpac/arcade/bean.png" )))
721738 output_image = output_image .resize ((32 , 32 ))
722- writeColorImageToROM ( output_image , 14 , 195 , 32 , 32 , False , TextureFormat . RGBA5551 , ROM_COPY )
739+ writeWinConImage ( settings , output_image , LocalROM )
723740 return
724741 if win_con == WinConditionComplex .krem_kapture :
725742 item_im = getImageFile (ROM_COPY , 14 , 0x90 , True , 32 , 32 , TextureFormat .RGBA5551 )
726- writeColorImageToROM ( item_im , 14 , 195 , 32 , 32 , False , TextureFormat . RGBA5551 , ROM_COPY )
743+ writeWinConImage ( settings , item_im , ROM_COPY )
727744 return
728745 if win_con == WinConditionComplex .dk_rap_items :
729746 item_im = getImageFile (ROM_COPY , 7 , 0x3D3 , False , 40 , 40 , TextureFormat .RGBA5551 )
730747 item_im = item_im .resize ((32 , 32 )).transpose (Image .FLIP_TOP_BOTTOM )
731- writeColorImageToROM ( item_im , 14 , 195 , 32 , 32 , False , TextureFormat . RGBA5551 , ROM_COPY )
748+ writeWinConImage ( settings , item_im , ROM_COPY )
732749 return
733750 if win_con == WinConditionComplex .kill_the_rabbit :
734751 output_image = Image .open (BytesIO (js .getFile ("base-hack/assets/displays/kill_the_rabbit.png" )))
@@ -771,4 +788,4 @@ def showWinCondition(settings: Settings, ROM_COPY: LocalROM):
771788 base_im = base_im .resize ((32 , 32 ))
772789 num_im = numberToImage (settings .win_condition_count , (20 , 20 ), ROM_COPY )
773790 base_im .paste (num_im , (6 , 6 ), num_im )
774- writeColorImageToROM ( base_im , 14 , 195 , 32 , 32 , False , TextureFormat . RGBA5551 , ROM_COPY )
791+ writeWinConImage ( settings , base_im , ROM_COPY )
0 commit comments