![]() |
Routines |
| Prev: 53649 | Up: Map | Next: 53967 |
|
|
|||||||||||
|
Handles copying a "normal" bandit into the bandit state cache at Bandit_State_Reference.
|
|||||||||||
| Prep_Bandit_Open | 53650 | LD L,(IX+2) | Handles copying 0007 bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53653 | LD H,(IX+3) | ||||||||||
| 53656 | LD DE,55070 | ||||||||||
| 53659 | LD BC,7 | ||||||||||
| 53662 | PUSH HL | ||||||||||
| 53663 | PUSH DE | ||||||||||
| 53664 | PUSH BC | ||||||||||
| 53665 | LDIR | ||||||||||
| 53667 | CALL Bandit_Open_Routing | Call Bandit_Open_Routing to begin this characters actions. | |||||||||
| 53670 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53671 | POP DE | ||||||||||
| 53672 | POP HL | ||||||||||
| 53673 | EX DE,HL | Swap the source and target. | |||||||||
| 53674 | LD A,(53647) | Check if 53647 is zero. Write 0 to it. If it wasn't zero then return. | |||||||||
| 53677 | AND A | ||||||||||
| 53678 | LD A,0 | ||||||||||
| 53680 | LD (53647),A | ||||||||||
| 53683 | RET NZ | ||||||||||
| 53684 | LDIR | Else copy the (swapped) source back to the new target and return. | |||||||||
| 53686 | RET | ||||||||||
|
And copying a successful bandit encounter to close the door.
|
|||||||||||
| Prep_Bandit_Close | 53687 | LD L,(IX+2) | Handles copying 0007 bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53690 | LD H,(IX+3) | ||||||||||
| 53693 | LD DE,55070 | ||||||||||
| 53696 | LD BC,7 | ||||||||||
| 53699 | PUSH HL | ||||||||||
| 53700 | PUSH DE | ||||||||||
| 53701 | PUSH BC | ||||||||||
| 53702 | LDIR | ||||||||||
| 53704 | CALL Bandit_Close_Routing | Call Bandit_Close_Routing to begin this characters actions. | |||||||||
| 53707 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53708 | POP DE | ||||||||||
| 53709 | POP HL | ||||||||||
| 53710 | EX DE,HL | Swap the source and target. | |||||||||
| 53711 | LD A,(53647) | Check if 53647 is zero. Write $00 to it. If it wasn't zero then return. | |||||||||
| 53714 | AND A | ||||||||||
| 53715 | LD A,0 | ||||||||||
| 53717 | LD (53647),A | ||||||||||
| 53720 | RET NZ | ||||||||||
| 53721 | LDIR | Else copy the (swapped) source back to the new target and return. | |||||||||
| 53723 | RET | ||||||||||
|
Handles copying Bowie state data into the state cache at Bowie_Good_Bad.
|
|||||||||||
| Prep_Bowie | 53724 | LD L,(IX+2) | Handles copying $0009 bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53727 | LD H,(IX+3) | ||||||||||
| 53730 | LD DE,55237 | ||||||||||
| 53733 | LD BC,9 | ||||||||||
| 53736 | PUSH HL | ||||||||||
| 53737 | PUSH DE | ||||||||||
| 53738 | PUSH BC | ||||||||||
| 53739 | LDIR | ||||||||||
| 53741 | CALL Bowie_Routing | Call Bowie_Routing to begin this characters actions. | |||||||||
| 53744 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53745 | POP DE | ||||||||||
| 53746 | POP HL | ||||||||||
| 53747 | EX DE,HL | Swap the source and target. | |||||||||
| 53748 | LD A,(53647) | Check if 53647 is zero. Write $00 to it. If it wasn't zero then return. | |||||||||
| 53751 | AND A | ||||||||||
| 53752 | LD A,0 | ||||||||||
| 53754 | LD (53647),A | ||||||||||
| 53757 | RET NZ | ||||||||||
| 53758 | LDIR | Else copy the (swapped) source back to the new target and return. | |||||||||
| 53760 | RET | ||||||||||
|
Handles copying customer state data into the state cache at Customer_Frame_01.
|
|||||||||||
| Prep_Customer | 53761 | LD L,(IX+2) | Handles copying $000F bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53764 | LD H,(IX+3) | ||||||||||
| 53767 | LD DE,54415 | ||||||||||
| 53770 | LD BC,15 | ||||||||||
| 53773 | PUSH HL | ||||||||||
| 53774 | PUSH DE | ||||||||||
| 53775 | PUSH BC | ||||||||||
| 53776 | LDIR | ||||||||||
| 53778 | CALL Customer_Routing | Call Customer_Routing to begin this characters actions. | |||||||||
| 53781 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53782 | POP DE | ||||||||||
| 53783 | POP HL | ||||||||||
| 53784 | EX DE,HL | Swap the source and target. | |||||||||
| 53785 | LD A,(53647) | Check if 53647 is zero. Write $00 to it. If it wasn't zero then return. | |||||||||
| 53788 | AND A | ||||||||||
| 53789 | LD A,0 | ||||||||||
| 53791 | LD (53647),A | ||||||||||
| 53794 | RET NZ | ||||||||||
| 53795 | LDIR | Else copy the (swapped) source back to the new target and return. | |||||||||
| 53797 | RET | ||||||||||
|
Handles copying customer "is shot" state data into the state cache at Customer_Frame_01.
|
|||||||||||
| Prep_Customer_Shot | 53798 | LD L,(IX+2) | Handles copying $000F bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53801 | LD H,(IX+3) | ||||||||||
| 53804 | LD DE,54415 | ||||||||||
| 53807 | LD BC,15 | ||||||||||
| 53810 | PUSH HL | ||||||||||
| 53811 | PUSH DE | ||||||||||
| 53812 | PUSH BC | ||||||||||
| 53813 | LDIR | ||||||||||
| 53815 | CALL Customer_Shot | Call Customer_Shot. | |||||||||
| 53818 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53819 | POP DE | ||||||||||
| 53820 | POP HL | ||||||||||
| 53821 | EX DE,HL | Swap the source and target. | |||||||||
| 53822 | LDIR | Copy the (swapped) source back to the new target and return. | |||||||||
| 53824 | RET | ||||||||||
|
Handles copying Julius state data into the state cache at Julius_Good_Bad.
|
|||||||||||
| Prep_Julius_Open | 53825 | LD L,(IX+2) | Handles copying $000A bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53828 | LD H,(IX+3) | ||||||||||
| 53831 | LD DE,55525 | ||||||||||
| 53834 | LD BC,10 | ||||||||||
| 53837 | PUSH HL | ||||||||||
| 53838 | PUSH DE | ||||||||||
| 53839 | PUSH BC | ||||||||||
| 53840 | LDIR | ||||||||||
| 53842 | CALL Julius_Open_Routing | Call Julius_Open_Routing. | |||||||||
| 53845 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53846 | POP HL | ||||||||||
| 53847 | POP DE | ||||||||||
| 53848 | LD A,(53647) | Check if 53647 is zero. Write $00 to it. If it wasn't zero then return. | |||||||||
| 53851 | AND A | ||||||||||
| 53852 | LD A,0 | ||||||||||
| 53854 | LD (53647),A | ||||||||||
| 53857 | RET NZ | ||||||||||
| 53858 | LDIR | Copy the source to the target again and return. | |||||||||
| 53860 | RET | ||||||||||
|
And copying a successful Julius encounter to close the door.
|
|||||||||||
| Prep_Julius_Close | 53861 | LD L,(IX+2) | Handles copying $000A bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53864 | LD H,(IX+3) | ||||||||||
| 53867 | LD DE,55525 | ||||||||||
| 53870 | LD BC,10 | ||||||||||
| 53873 | PUSH HL | ||||||||||
| 53874 | PUSH DE | ||||||||||
| 53875 | PUSH BC | ||||||||||
| 53876 | LDIR | ||||||||||
| 53878 | CALL Julius_Close_Routing | Call Julius_Close_Routing. | |||||||||
| 53881 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53882 | POP HL | ||||||||||
| 53883 | POP DE | ||||||||||
| 53884 | LD A,(53647) | Check if 53647 is zero. Write $00 to it. If it wasn't zero then return. | |||||||||
| 53887 | AND A | ||||||||||
| 53888 | LD A,0 | ||||||||||
| 53890 | LD (53647),A | ||||||||||
| 53893 | RET NZ | ||||||||||
| 53894 | LDIR | Copy the source to the target again and return. | |||||||||
| 53896 | RET | ||||||||||
|
Handles copying a "drawing bandit" into the bandit state cache at Bandit_Draw.
|
|||||||||||
| Prep_Bandit_Draw_Open | 53897 | LD L,(IX+2) | Handles copying $000B bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53900 | LD H,(IX+3) | ||||||||||
| 53903 | LD DE,55820 | ||||||||||
| 53906 | LD BC,11 | ||||||||||
| 53909 | PUSH HL | ||||||||||
| 53910 | PUSH DE | ||||||||||
| 53911 | PUSH BC | ||||||||||
| 53912 | LDIR | ||||||||||
| 53914 | CALL Bandit_Draw_Open_Routing | Call Bandit_Draw_Open_Routing. | |||||||||
| 53917 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53918 | POP HL | ||||||||||
| 53919 | POP DE | ||||||||||
| 53920 | LD A,(53647) | Check if 53647 is zero. Write $00 to it. If it wasn't zero then return. | |||||||||
| 53923 | AND A | ||||||||||
| 53924 | LD A,0 | ||||||||||
| 53926 | LD (53647),A | ||||||||||
| 53929 | RET NZ | ||||||||||
| 53930 | LDIR | Copy the source to the target again and return. | |||||||||
| 53932 | RET | ||||||||||
|
And copying a successful "drawing bandit" encounter to close the door.
|
|||||||||||
| Prep_Bandit_Draw_Close | 53933 | LD L,(IX+2) | Handles copying $000B bytes of data from the address contained at (depending on which door is currently being actioned);
|
||||||||
| 53936 | LD H,(IX+3) | ||||||||||
| 53939 | LD DE,55820 | ||||||||||
| 53942 | LD BC,11 | ||||||||||
| 53945 | PUSH HL | ||||||||||
| 53946 | PUSH DE | ||||||||||
| 53947 | PUSH BC | ||||||||||
| 53948 | LDIR | ||||||||||
| 53950 | CALL Bandit_Draw_Close_Routing | Call Bandit_Draw_Close_Routing. | |||||||||
| 53953 | POP BC | Restore the source, target and counter from above. | |||||||||
| 53954 | POP HL | ||||||||||
| 53955 | POP DE | ||||||||||
| 53956 | LD A,(53647) | Check if 53647 is zero. If it wasn't zero then return. | |||||||||
| 53959 | AND A | ||||||||||
| 53960 | LD (53647),A | ||||||||||
| 53963 | RET NZ | ||||||||||
| 53964 | LDIR | Copy the source to the target again and return. | |||||||||
| 53966 | RET | ||||||||||
| Prev: 53649 | Up: Map | Next: 53967 |