From 08704ffe8882a5f78bee355b4c9ab428ef367b58 Mon Sep 17 00:00:00 2001 From: collett Date: Fri, 3 Jan 2020 04:06:25 +0900 Subject: [PATCH 1/3] Play the sound effect when buying items from shop. When selling the sound effect is also played (and shop switch to buy back tab as well) but the selling logic code is not there so... --- src/scripts/common/GilShop.cpp | 4 ++-- src/world/Actor/Player.h | 2 +- src/world/Actor/PlayerEvent.cpp | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/scripts/common/GilShop.cpp b/src/scripts/common/GilShop.cpp index a57a1ecd..d15f1d4d 100644 --- a/src/scripts/common/GilShop.cpp +++ b/src/scripts/common/GilShop.cpp @@ -43,7 +43,7 @@ private: } - player.playGilShop( result.eventId, SCENE_FLAGS, std::bind( &GilShop::shopInteractionCallback, this, std::placeholders::_1, std::placeholders::_2 ) ); + player.playGilShop( result.eventId, SCENE_FLAGS, result.param2 == 1 ? 3 : 2, std::bind( &GilShop::shopInteractionCallback, this, std::placeholders::_1, std::placeholders::_2 ) ); return; } @@ -53,7 +53,7 @@ private: void shopCallback( Entity::Player& player, const Event::SceneResult& result ) { - player.playGilShop( result.eventId, SCENE_FLAGS, std::bind( &GilShop::shopInteractionCallback, this, std::placeholders::_1, std::placeholders::_2 ) ); + player.playGilShop( result.eventId, SCENE_FLAGS, 0, std::bind( &GilShop::shopInteractionCallback, this, std::placeholders::_1, std::placeholders::_2 ) ); } }; diff --git a/src/world/Actor/Player.h b/src/world/Actor/Player.h index 9f40168c..fc2020e4 100644 --- a/src/world/Actor/Player.h +++ b/src/world/Actor/Player.h @@ -67,7 +67,7 @@ namespace Sapphire::Entity /*! play a subevent */ void playScene( uint32_t eventId, uint32_t scene, uint32_t flags, uint32_t eventParam2, uint32_t eventParam3 ); - void playGilShop( uint32_t eventId, uint32_t flags, + void playGilShop( uint32_t eventId, uint32_t flags, uint32_t param1, Event::EventHandler::SceneReturnCallback eventCallback ); void directorPlayScene( uint32_t eventId, uint32_t scene, uint32_t flags, uint32_t eventParam3, diff --git a/src/world/Actor/PlayerEvent.cpp b/src/world/Actor/PlayerEvent.cpp index 15c84470..8bb7d830 100644 --- a/src/world/Actor/PlayerEvent.cpp +++ b/src/world/Actor/PlayerEvent.cpp @@ -130,7 +130,7 @@ void Sapphire::Entity::Player::playScene( uint32_t eventId, uint32_t scene, playScene( eventId, scene, flags, eventParam2, eventParam3, 0, eventCallback ); } -void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, +void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, uint32_t param, Event::EventHandler::SceneReturnCallback eventCallback ) { auto pEvent = bootstrapSceneEvent( eventId, flags ); @@ -145,6 +145,8 @@ void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, openGilShopPacket->data().eventId = eventId; openGilShopPacket->data().sceneFlags = flags; openGilShopPacket->data().actorId = getId(); + openGilShopPacket->data().params[ 0 ] = 1; + openGilShopPacket->data().params[ 1 ] = param; openGilShopPacket->data().scene = 10; From 6e4f861234f7e9691a326fda83be9a60faf516fd Mon Sep 17 00:00:00 2001 From: collett Date: Wed, 8 Jan 2020 18:21:30 +0900 Subject: [PATCH 2/3] Fix shop packet. --- src/scripts/common/GilShop.cpp | 2 +- src/world/Actor/PlayerEvent.cpp | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/scripts/common/GilShop.cpp b/src/scripts/common/GilShop.cpp index d15f1d4d..8e7afe0e 100644 --- a/src/scripts/common/GilShop.cpp +++ b/src/scripts/common/GilShop.cpp @@ -43,7 +43,7 @@ private: } - player.playGilShop( result.eventId, SCENE_FLAGS, result.param2 == 1 ? 3 : 2, std::bind( &GilShop::shopInteractionCallback, this, std::placeholders::_1, std::placeholders::_2 ) ); + player.playGilShop( result.eventId, SCENE_FLAGS, result.param2, std::bind( &GilShop::shopInteractionCallback, this, std::placeholders::_1, std::placeholders::_2 ) ); return; } diff --git a/src/world/Actor/PlayerEvent.cpp b/src/world/Actor/PlayerEvent.cpp index 8bb7d830..a3d2393f 100644 --- a/src/world/Actor/PlayerEvent.cpp +++ b/src/world/Actor/PlayerEvent.cpp @@ -145,8 +145,22 @@ void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, ui openGilShopPacket->data().eventId = eventId; openGilShopPacket->data().sceneFlags = flags; openGilShopPacket->data().actorId = getId(); - openGilShopPacket->data().params[ 0 ] = 1; - openGilShopPacket->data().params[ 1 ] = param; + switch( param ) + { + case 1: + { + openGilShopPacket->data().params[ 0 ] = 0x02; + openGilShopPacket->data().params[ 1 ] = 1; + openGilShopPacket->data().params[ 2 ] = 0x64; + break; + } + case 2: + { + openGilShopPacket->data().params[ 0 ] = 0xA2; + openGilShopPacket->data().params[ 1 ] = 2; + break; + } + } openGilShopPacket->data().scene = 10; From 54ecc63fb8c47535af5bdc5215486db8133c6e4c Mon Sep 17 00:00:00 2001 From: collett Date: Wed, 8 Jan 2020 18:28:19 +0900 Subject: [PATCH 3/3] rename --- src/world/Actor/PlayerEvent.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/world/Actor/PlayerEvent.cpp b/src/world/Actor/PlayerEvent.cpp index a3d2393f..0303b4fb 100644 --- a/src/world/Actor/PlayerEvent.cpp +++ b/src/world/Actor/PlayerEvent.cpp @@ -130,7 +130,7 @@ void Sapphire::Entity::Player::playScene( uint32_t eventId, uint32_t scene, playScene( eventId, scene, flags, eventParam2, eventParam3, 0, eventCallback ); } -void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, uint32_t param, +void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, uint32_t param1, Event::EventHandler::SceneReturnCallback eventCallback ) { auto pEvent = bootstrapSceneEvent( eventId, flags ); @@ -145,7 +145,7 @@ void Sapphire::Entity::Player::playGilShop( uint32_t eventId, uint32_t flags, ui openGilShopPacket->data().eventId = eventId; openGilShopPacket->data().sceneFlags = flags; openGilShopPacket->data().actorId = getId(); - switch( param ) + switch( param1 ) { case 1: {