Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- En_Door
- Door
- Id: 0009
- Object: 0001
- //Model dependent on current scene
- v &>> 0xFC00 = Transition Actor List Identifier //Reserved for use by the game engine
- v &>> 0x0380 = Type
- 0000 [0000] Loads Rooms
- 0001 [0080] Small Key Locked //Loads Rooms. If double doors, then the left door is locked on one side and the right door is locked on the other.
- 0002 [0100] Loads Rooms
- 0003 [0180] Doesn't Load Rooms //Used for scene transitions
- 0004 [0200] Ajar //Slams shut on approach, then says "It won't open!" if you try to interact with it.
- 0005 [0280] Talking Door
- 0006 [0300] Time Locked Wooden Door //Dampe's Shack, unlocked between 18:00 to 21:00, else displays message
- 0007 [0380] Loads Rooms
- v &>> 0x0040 = Double Door
- v &>> 0x003F = Switch Flag //Used by locked doors only
- v &>> 0x003F = Message ID (+0200)
- _______________________________________________________________________________________________________________________________________
- You find a door with Params = 01BF
- 01BF = 0000 0001 1011 1111 (01bf is door params)
- 0380 = 0000 0011 1000 0000 (0380 is door type mask operand)
- &_________________________
- type = 0000 0001 1000 0000
- 0380 ends with 7 zeros, so shift right by 7 to get door type = 0b11 = 3 (or just dont shift and see that the result of the & operation is 0180 which is the bracketed value in the actor info)
- 01BF = 0000 0001 1011 1111 (01bf is door params)
- 0040 = 0000 0000 0100 0000 (0040 is double door mask operand)
- &_________________________
- type = 0000 0000 0000 0000
- 0040 ends with 6 zeros, so shift right by 6 to get double door = 0b0 = 0
- 01BF = 0000 0001 1011 1111 (01bf is door params)
- FC00 = 1111 1100 0000 0000 (FC00 is Transition Actor List Identifier mask operand)
- &_________________________
- type = 0000 0000 0000 0000
- FC00 ends with 10 zeros, so shift right by 10 to get Transition Actor List Identifier = 0b0
- 01BF = 0000 0001 1011 1111 (01bf is door params)
- 003F = 0000 0000 0011 1111 (003F is Message ID mask operand)
- &_________________________
- type = 0000 0000 0011 1111
- 003F ends with 0 zeros, so shift right by 0 to get Message ID = 0b3F
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement