From 461f16eacb0d51bb8dfb7ab3a1e5ee10897e2582 Mon Sep 17 00:00:00 2001 From: Flugente Date: Sun, 4 Jul 2021 15:59:58 +0000 Subject: [PATCH] Added several interactive actions that play a sound when clicking on a structure git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@9125 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Tactical/Handle Items.cpp | 3 +++ Tactical/Handle Items.h | 1 + Tactical/Interface Cursors.cpp | 2 ++ Tactical/Interface Cursors.h | 3 +++ Tactical/Points.cpp | 3 +++ Tactical/Soldier Control.cpp | 10 ++++++++++ Tactical/UI Cursors.cpp | 2 ++ Utils/Cursors.cpp | 18 ++++++++++++++++++ Utils/Cursors.h | 5 +++++ 9 files changed, 47 insertions(+) diff --git a/Tactical/Handle Items.cpp b/Tactical/Handle Items.cpp index a1f0ec8b..e4cf834c 100644 --- a/Tactical/Handle Items.cpp +++ b/Tactical/Handle Items.cpp @@ -9399,6 +9399,9 @@ void DoInteractiveActionDefaultResult( INT32 sGridNo, UINT8 ubID, BOOLEAN aSucce } break; + case INTERACTIVE_STRUCTURE_VARIOUS: + break; + default: break; } diff --git a/Tactical/Handle Items.h b/Tactical/Handle Items.h index 1710ec93..bd96f98a 100644 --- a/Tactical/Handle Items.h +++ b/Tactical/Handle Items.h @@ -131,6 +131,7 @@ typedef enum INTERACTIVE_STRUCTURE_WATERTAP, INTERACTIVE_STRUCTURE_SODAMACHINE, INTERACTIVE_STRUCTURE_MINIGAME, + INTERACTIVE_STRUCTURE_VARIOUS, INTERACTIVE_STRUCTURE_TYPE_MAX, } INTERACTIVE_STRUCTURE_TYPE; diff --git a/Tactical/Interface Cursors.cpp b/Tactical/Interface Cursors.cpp index 56619477..ae647580 100644 --- a/Tactical/Interface Cursors.cpp +++ b/Tactical/Interface Cursors.cpp @@ -242,6 +242,8 @@ UICursor gUICursors[ NUM_UI_CURSORS ] = SPLINT_GREY_UICURSOR, UICURSOR_FREEFLOWING, CURSOR_SPLINT, 0, SPLINT_RED_UICURSOR, UICURSOR_FREEFLOWING, CURSOR_SPLINT_RED, 0, + GEARWHEEL_GREY_UICURSOR, UICURSOR_FREEFLOWING, CURSOR_GEARWHEEL, 0, + GEARWHEEL_RED_UICURSOR, UICURSOR_FREEFLOWING, CURSOR_GEARWHEEL_RED, 0, }; diff --git a/Tactical/Interface Cursors.h b/Tactical/Interface Cursors.h index b20eb713..0c89da40 100644 --- a/Tactical/Interface Cursors.h +++ b/Tactical/Interface Cursors.h @@ -219,6 +219,9 @@ typedef enum SPLINT_GREY_UICURSOR, SPLINT_RED_UICURSOR, + GEARWHEEL_GREY_UICURSOR, + GEARWHEEL_RED_UICURSOR, + NUM_UI_CURSORS } UICursorDefines; diff --git a/Tactical/Points.cpp b/Tactical/Points.cpp index 04621525..c483d990 100644 --- a/Tactical/Points.cpp +++ b/Tactical/Points.cpp @@ -4112,6 +4112,9 @@ INT16 GetAPsForInteractiveAction( SOLDIERTYPE *pSoldier, UINT16 usActionType ) case INTERACTIVE_STRUCTURE_MINIGAME: sAPCost += APBPConstants[AP_READFILE]; break; + case INTERACTIVE_STRUCTURE_VARIOUS: + sAPCost += APBPConstants[AP_READFILE]; + break; default: break; diff --git a/Tactical/Soldier Control.cpp b/Tactical/Soldier Control.cpp index 03651083..4b49fbb1 100644 --- a/Tactical/Soldier Control.cpp +++ b/Tactical/Soldier Control.cpp @@ -20509,6 +20509,16 @@ UINT16 SOLDIERTYPE::GetInteractiveActionSkill( INT32 sGridNo, UINT8 usLevel, UIN } break; + case INTERACTIVE_STRUCTURE_VARIOUS: + { + if ( this->ubProfile == ROBOT || IsVehicle( this ) ) + return 0; + + // no idea what we're doing, but we're probably good at it + return 100; + } + break; + default: break; } diff --git a/Tactical/UI Cursors.cpp b/Tactical/UI Cursors.cpp index 8e8823b7..fb11a3c5 100644 --- a/Tactical/UI Cursors.cpp +++ b/Tactical/UI Cursors.cpp @@ -2410,6 +2410,8 @@ UINT8 HandleHackCursor( SOLDIERTYPE *pSoldier, INT32 sGridNo, UINT32 uiCursorFla return skill ? SODAMACHINE_GREY_UICURSOR : SODAMACHINE_RED_UICURSOR; else if ( possibleaction == INTERACTIVE_STRUCTURE_MINIGAME ) return skill ? MINIGAME_GREY_UICURSOR : MINIGAME_RED_UICURSOR; + else if ( possibleaction == INTERACTIVE_STRUCTURE_VARIOUS ) + return skill ? GEARWHEEL_GREY_UICURSOR : GEARWHEEL_RED_UICURSOR; return NO_UICURSOR; } diff --git a/Utils/Cursors.cpp b/Utils/Cursors.cpp index 1f312ff1..2fccde31 100644 --- a/Utils/Cursors.cpp +++ b/Utils/Cursors.cpp @@ -151,6 +151,9 @@ CursorFileData CursorFileDatabase[] = { "CURSORS\\medicalsplint.sti" , FALSE, 0, ANIMATED_CURSOR, 11, NULL }, // Flugente: medical splint { "CURSORS\\medicalsplint_r.sti" , FALSE, 0, ANIMATED_CURSOR, 1, NULL }, + + { "CURSORS\\gearwheel.sti" , FALSE, 0, ANIMATED_CURSOR, 4, NULL }, // Flugente: gearwheel + { "CURSORS\\gearwheel_r.sti" , FALSE, 0, ANIMATED_CURSOR, 4, NULL }, { "CURSORS\\can_01.sti" , FALSE, 0, 0, 0, NULL }, { "CURSORS\\can_02.sti" , FALSE, 0, 0, 0, NULL }, @@ -1376,6 +1379,21 @@ CursorData CursorDatabase[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, CENTER_CURSOR, CENTER_CURSOR, 0, 0, 0, 0 }, + + // Flugente: gearwheel + { C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR, + C_GEARWHEEL, 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 2, CENTER_CURSOR, CENTER_CURSOR, 0, 0, 0, 0 }, + + { C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR, + C_GEARWHEEL_RED, 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, + 2, CENTER_CURSOR, CENTER_CURSOR, 0, 0, 0, 0 }, { C_TRINGS, 6, 0, HIDE_SUBCURSOR, HIDE_SUBCURSOR, C_FUEL , 0, 0, CENTER_SUBCURSOR, CENTER_SUBCURSOR, diff --git a/Utils/Cursors.h b/Utils/Cursors.h index d9a141e7..988da59c 100644 --- a/Utils/Cursors.h +++ b/Utils/Cursors.h @@ -185,6 +185,9 @@ typedef enum CURSOR_SPLINT, CURSOR_SPLINT_RED, + + CURSOR_GEARWHEEL, + CURSOR_GEARWHEEL_RED, CURSOR_FUEL, CURSOR_FUEL_RED, @@ -281,6 +284,8 @@ typedef enum C_BLOODBAG_RED, C_SPLINT, C_SPLINT_RED, + C_GEARWHEEL, + C_GEARWHEEL_RED, C_FUEL, C_FUEL_RED, C_ACTIONMODERED_NCTH,