aboutsummaryrefslogtreecommitdiff
path: root/engines/lure/disassembly/Lure_notes.txt
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lure/disassembly/Lure_notes.txt')
-rw-r--r--engines/lure/disassembly/Lure_notes.txt28
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.