Prev: 52920 Up: Map Next: 52990
52958: Process Room Display Parameter
Resolves special parameter values used in room display scripts to actual game values (current room, character ID, location value).
Input
A Parameter value (245-254 are special values)
Output
A Resolved parameter value
ProcessRoomDisplayParameter 52958 CP 245 Return unchanged if the parameter is not a special value (less than 245).
52960 RET C
52961 CP 254 Return unchanged if the parameter is not a special value (greater than 254).
52963 RET NC
52964 CP 250 Jump to ProcessRoomDisplayParameter_CheckCharacterID if not room parameter (250).
52966 JR NZ,ProcessRoomDisplayParameter_CheckCharacterID
52968 LD A,(40918) Return the current room ID (A=*CurrentRoom_ID).
52971 RET
ProcessRoomDisplayParameter_CheckCharacterID 52972 CP 251 Jump to ProcessRoomDisplayParameter_GetLocationValue if not character ID parameter (251).
52974 JR NZ,ProcessRoomDisplayParameter_GetLocationValue
52976 LD A,(41014) Return the current character ID (A=*CurrentCharacter_ID).
52979 RET
ProcessRoomDisplayParameter_GetLocationValue 52980 CP 252 Return the location value (high byte) if parameter is 252 otherwise return the location value (low byte).
52982 LD A,(40920)
52985 RET Z
52986 LD A,(40919)
52989 RET
Prev: 52920 Up: Map Next: 52990