Reverted item highlighting mod to the previous status (commit 90485a205a). #132

This commit is contained in:
NovaRain
2018-01-28 18:15:35 +08:00
parent b3e2b8b5b8
commit b2894268f6
3 changed files with 5 additions and 20 deletions
-6
View File
@@ -10,12 +10,6 @@ Containers=0
; Set to 1 to also highlight lootable corpses
Corpses=0
; Set to 1 to also highlight alive critters
Critters=0
; Set to 1 to ignore NO_HIGHLIGHT flag on objects and highlight them regardless
IgnoreNoHighlight=0
; Set to 1 to only highlight objects in the player's line-of-sight
CheckLOS=0
Binary file not shown.
+4 -13
View File
@@ -4,7 +4,7 @@
Previously was part of sfall itself, now a separate mod.
Features:
- highlighting items on the ground, containers (optional), dead bodies (optional) and critters (optional)
- highlighting items, containers (optional) and lootable corpses (optional) on the ground
- configurable hotkey is used to trigger highlight
- only objects in direct line-of-sight of player are highlighted (optional)
- motion scanner is required to enable highlight (optional)
@@ -29,8 +29,6 @@ variable configSection := "Highlighting";
variable highlightKey;
variable alsoContainer;
variable alsoCorpse;
variable alsoCritter;
variable ignoreNoHighlight;
variable checkLOS;
variable outlineColor;
variable motionScanner;
@@ -39,7 +37,7 @@ variable highlightFailMsg2;
procedure ToggleHighlightObject(variable obj, variable enable) begin
if obj and (not enable or not checkLOS or not obj_blocking_line(dude_obj, tile_num(obj), BLOCKING_TYPE_SHOOT)) then begin
if (alsoContainer and obj_item_subtype(obj) == item_type_container) or (ignoreNoHighlight or not NO_HIGHLIGHT(obj)) then begin
if (alsoContainer and obj_item_subtype(obj) == item_type_container) or (not NO_HIGHLIGHT(obj)) then begin
if (enable) then set_outline(obj, outlineColor);
else set_outline(obj, 0);
end
@@ -53,17 +51,12 @@ procedure ToggleHighlight(variable enable) begin
call ToggleHighlightObject(obj, enable);
end
end
foreach obj in list_as_array(LIST_CRITTERS) begin
if (alsoCorpse) then begin
foreach obj in list_as_array(LIST_CRITTERS) begin
if critter_state(obj) == CRITTER_IS_DEAD and not NO_STEAL(obj) then begin
call ToggleHighlightObject(obj, enable);
end
end
if (alsoCritter) then begin
if critter_state(obj) != CRITTER_IS_DEAD then begin
call ToggleHighlightObject(obj, enable);
end
end
end
tile_refresh_display;
end
@@ -73,7 +66,7 @@ procedure KeyPressHandler begin
scanCode := get_sfall_arg,
scanner, charges;
if scanCode == highlightKey and not (get_game_mode BWAND INTFACELOOT) then begin
if scanCode == highlightKey then begin
if pressed then begin
if motionScanner then begin
scanner := obj_carrying_pid_obj(dude_obj, PID_MOTION_SENSOR);
@@ -109,8 +102,6 @@ procedure start begin
highlightKey := GetConfig(configSection, "Key", 0);
alsoContainer := GetConfig(configSection, "Containers", 0);
alsoCorpse := GetConfig(configSection, "Corpses", 0);
alsoCritter := GetConfig(configSection, "Critters", 0);
ignoreNoHighlight := GetConfig(configSection, "IgnoreNoHighlight", 0);
checkLOS := GetConfig(configSection, "CheckLOS", 0);
outlineColor := GetConfig(configSection, "OutlineColor", 16);
if (outlineColor < 1) then outlineColor := 64;