diff options
Diffstat (limited to 'engines/lure/disassembly/Lure_notes.txt')
-rw-r--r-- | engines/lure/disassembly/Lure_notes.txt | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/engines/lure/disassembly/Lure_notes.txt b/engines/lure/disassembly/Lure_notes.txt index a4a744f509..0b95e8583c 100644 --- a/engines/lure/disassembly/Lure_notes.txt +++ b/engines/lure/disassembly/Lure_notes.txt @@ -33,13 +33,10 @@ animation_load/animation_load_2 - Makes a hotspot 'active' by loading it into Input: load => bx = resource Id load_2 => si = offset of hotspot record -Seems to load a single animation entry into the runtime - location for animations. - animation_load_entry - Not sure if this method is just for loading animations; it does some checks, and if passed, then takes the word at offset 9h in the resource and jumps to that location. In calls I've - seen so far, this is 7167h, which then calls animation_load + seen so far, this is 7167h, which then calls animation_load Input: bx = Resource Id for animation entry animation_load_entry_2 - Alternate form of the animation load @@ -64,6 +61,14 @@ animation_unload/animation_unload_2 - Removes a hotspot from the active hotspot sets field 0Bh of the hotspot (the offset in the animation list where a hotspot is loaded) to zero. +animations_preload - Decodes any animations ilsted for the current room, based + on a system list. This is likely intended to improve performance on + low end systems, as it means the bulk of animations are already decoded + before a new screen is faded in + +animations_preload_ticks - Handles repeatably calling the animation tick method + for hotspots in a room several times before the room is displayed + char_face_up/char_face_down/char_face_left/char_face_right - Faces the character represented by a given hotspot in the given direction Input: si = Hotspot record @@ -206,13 +211,19 @@ copy_rectangle - Copys a 32x32 rectangular area from a source buffer to a copy_protection_check - Performs the copy protection check. Note that in the English version of the game supplied by Revolution, this has been cracked. - This is + This is decode_character - Decodes a character from a compressed bit-stream of text Input: DL = current bit position for read is set DS:SI = current byte to read data from Output: AL = output byte +decode_character_and_hotspot_names - Decodes the names of both the current + talking character as well as the active hotspot. Note that the + input and output fields/buffers are hardcoded, and not passed + to the method + Input: al = A value of zero suppresses adding the prefix + decode_file_entry - Decodes a file resource, normally a graphics screen Input: dx = source data segment es = destination segment (for example, A000h for direct to screen) @@ -231,6 +242,9 @@ decode_string_init - Initialises a source pointer for decoding a compressed dl = Starting bit position for reading string +decode_hotspot_name - Decodes the name of a hotspot, prefixing with the + correct article of 'a', 'an', or 'the' + decode_and_fade_in_display - Decodes the data for a given screen, and then fades it into view by using the defined fade in proc for the given video mode Input: [buffer_segment1] = Loaded entry data @@ -425,6 +439,10 @@ popmenu_populate_list - Populates the contents of the list used to define Input: dx:ax = Bitset indicating which actions should be displayed, in order of their placement in the action list +prepare_ask_item_list - Creates a list of menuitems for the things a character + can be asked for + Input: ax = Action index whose context to generate the list for + protection_cycle_characters - Cycles through a single frame in the list of possible characters in the copy protection check and displays them on screen. |