diff options
author | johndoe123 | 2014-01-06 23:19:32 +0100 |
---|---|---|
committer | johndoe123 | 2014-01-06 23:19:32 +0100 |
commit | 4f6c3efa15c68dfa49bf5e6fe75dec034abe903b (patch) | |
tree | 01eecd128ea4d38c3084b0c0f0cd8c6ecf22c618 /engines | |
parent | 67483e591f943b65aeced1a5b76486d44aa2d364 (diff) | |
parent | 9754be2d07599a2b9db7816450d282c7cecd78cb (diff) | |
download | scummvm-rg350-4f6c3efa15c68dfa49bf5e6fe75dec034abe903b.tar.gz scummvm-rg350-4f6c3efa15c68dfa49bf5e6fe75dec034abe903b.tar.bz2 scummvm-rg350-4f6c3efa15c68dfa49bf5e6fe75dec034abe903b.zip |
Merge branch 'master' of github.com:scummvm/scummvm
Diffstat (limited to 'engines')
-rw-r--r-- | engines/fullpipe/constants.h | 720 | ||||
-rw-r--r-- | engines/fullpipe/fullpipe.cpp | 1 | ||||
-rw-r--r-- | engines/fullpipe/module.mk | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/scenes.h | 8 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene16.cpp | 4 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene22.cpp | 3 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene25.cpp | 9 | ||||
-rw-r--r-- | engines/fullpipe/scenes/scene28.cpp | 239 | ||||
-rw-r--r-- | engines/hopkins/hopkins.h | 4 | ||||
-rw-r--r-- | engines/neverhood/menumodule.cpp | 4 | ||||
-rw-r--r-- | engines/neverhood/module.cpp | 2 | ||||
-rw-r--r-- | engines/neverhood/palette.cpp | 13 | ||||
-rw-r--r-- | engines/neverhood/palette.h | 1 | ||||
-rw-r--r-- | engines/sci/sound/music.cpp | 2 |
15 files changed, 660 insertions, 356 deletions
diff --git a/engines/fullpipe/constants.h b/engines/fullpipe/constants.h index e42479d0ec..5edeeb1ec8 100644 --- a/engines/fullpipe/constants.h +++ b/engines/fullpipe/constants.h @@ -27,229 +27,28 @@ namespace Fullpipe { // Common #define ANI_FLY 4916 -#define MV_FLY_FLY 4917 -#define SND_CMN_060 4921 -#define SND_CMN_061 4922 -#define ST_FLY_FLY 4918 - -#define ANI_BALLDROP 2685 -#define ANI_BATUTA 737 -#define ANI_BIGBALL 4923 -#define ANI_BIGLUK 909 -#define ANI_BOOT_1 4231 -#define ANI_BUTTON 598 -#define ANI_BUTTON_6 2988 -#define ANI_CLOCK 588 -#define ANI_CLOCK_8 2989 -#define ANI_CORNERSITTER 71 -#define ANI_DOMINO_3 2732 -#define ANI_DADAYASHIK 306 -#define ANI_EGGEATER 334 -#define ANI_EGGIE 4929 -#define ANI_GUM 978 -#define ANI_HAND 601 -#define ANI_HANDLE 622 -#define ANI_HOOLIGAN 808 -#define ANI_IN1MAN 5110 -#define ANI_INV_COIN 875 -#define ANI_INV_EGGAPL 1564 -#define ANI_INV_EGGBOOT 1570 -#define ANI_INV_EGGCOIN 1567 -#define ANI_INV_EGGDOM 1561 -#define ANI_INV_EGGGLS 1573 -#define ANI_INV_HANDLE 893 #define ANI_INV_MAP 5321 -#define ANI_KOZAWKA 495 #define ANI_LIFTBUTTON 2751 -#define ANI_LUKE 803 -#define ANI_MAMASHA 656 -#define ANI_MAMASHA_4 660 #define ANI_MAN 322 -#define ANI_NADUVATEL 944 -#define ANI_NEWBALL 1073 -#define ANI_OTMOROZ 419 -#define ANI_PACHKA 975 -#define ANI_PACHKA2 3008 -#define ANI_PLANK 501 -#define ANI_PLUSMINUS 2938 -#define ANI_SC2_BOX 1020 -#define ANI_SC4_BOOT 1035 -#define ANI_SC4_COIN 690 -#define ANI_SC7_BOX 791 -#define ANI_SPEAKER_4 3275 -#define ANI_SPRING 542 -#define ANI_VMYATS 764 -#define MSG_CLICKBOTTLE 569 -#define MSG_CLICKBUTTON 609 -#define MSG_CLICKPLANK 549 #define MSG_CMN_WINARCADE 4778 #define MSG_DISABLESAVES 5201 #define MSG_ENABLESAVES 5202 #define MSG_HMRKICK_METAL 4764 #define MSG_HMRKICK_STUCCO 4765 -#define MSG_INTR_ENDINTRO 5139 -#define MSG_INTR_GETUPMAN 5135 -#define MSG_INTR_SWITCHTO1 5145 -#define MSG_INTR_SWITCHTO2 5134 -#define MSG_KOZAWRESTART 546 -#define MSG_LIFT_CLICKBUTTON 2780 -#define MSG_LIFT_CLOSEDOOR 5194 -#define MSG_LIFT_EXITLIFT 5187 -#define MSG_LIFT_GO 1065 -#define MSG_LIFT_STARTEXITQUEUE 5186 -#define MSG_LOWERPLANK 540 #define MSG_MANSHADOWSOFF 5196 #define MSG_MANSHADOWSON 5197 -#define MSG_RAISEPLANK 547 -#define MSG_RESTARTGAME 4767 -#define MSG_SC1_SHOWOSK 1019 -#define MSG_SC1_SHOWOSK2 468 -#define MSG_SC1_UTRUBACLICK 1100 -#define MSG_SC2_HIDELADDER 1023 -#define MSG_SC2_LADDERCLICK 1101 -#define MSG_SC2_PUTMANUP 1026 -#define MSG_SC2_SHOWLADDER 1027 -#define MSG_SC3_HIDEDOMINO 3177 -#define MSG_SC3_ONTAKECOIN 5338 -#define MSG_SC3_RELEASEEGG 2681 -#define MSG_SC3_TAKEEGG 1583 -#define MSG_SC3_TESTFAT 1582 -#define MSG_SC3_UTRUBACLICK 1103 -#define MSG_SC4_COINOUT 2895 -#define MSG_SC4_COINPUT 1032 -#define MSG_SC4_CLICKLADDER 1439 -#define MSG_SC4_DROPBOTTLE 2896 -#define MSG_SC4_HANDOVER 2960 -#define MSG_SC4_HIDEBOOT 4563 -#define MSG_SC4_KOZAWFALL 2858 -#define MSG_SC4_MANFROMBOTTLE 2854 -#define MSG_SC4_MANTOBOTTLE 2852 -#define MSG_SC5_BGRSOUNDOFF 5315 -#define MSG_SC5_BGRSOUNDON 5314 -#define MSG_SC5_HANDLEDOWN 916 -#define MSG_SC5_HANDLEUP 915 -#define MSG_SC5_HIDEHANDLE 917 -#define MSG_SC5_MAKEMANFLIGHT 1136 -#define MSG_SC5_MAKEOTMFEEDBACK 1169 -#define MSG_SC5_SHOWHANDLE 918 -#define MSG_SC5_TESTLUK 914 -#define MSG_SC6_BTNPUSH 1017 -#define MSG_SC6_ENABLEDROPS 687 -#define MSG_SC6_INSTHANDLE 1012 -#define MSG_SC6_JUMPBK 2900 -#define MSG_SC6_JUMPFW 2901 -#define MSG_SC6_RESTORESCROLL 2906 -#define MSG_SC6_SHOWNEXTBALL 790 -#define MSG_SC6_STARTDROPS 2897 -#define MSG_SC6_TAKEBALL 682 -#define MSG_SC6_TESTNUMBALLS 2904 -#define MSG_SC6_UTRUBACLICK 1105 -#define MSG_SC7_CLOSELUKE 822 -#define MSG_SC7_HIDEBOX 817 -#define MSG_SC7_HIDELUKE 821 -#define MSG_SC7_OPENLUKE 823 -#define MSG_SC7_PULL 2943 -#define MSG_SC7_SHOWBOX 816 -#define MSG_SC8_ARCADENOW 1044 -#define MSG_SC8_ENTERUP 3037 -#define MSG_SC8_GETHIMUP 789 -#define MSG_SC8_HIDELADDER_D 1107 -#define MSG_SC8_RESUMEFLIGHT 784 -#define MSG_SC8_STANDUP 2976 -#define MSG_SC10_CLICKGUM 992 -#define MSG_SC10_HIDEGUM 993 -#define MSG_SC10_LADDERTOBACK 3002 -#define MSG_SC10_LADDERTOFORE 3004 -#define MSG_SC10_SHOWGUM 994 -#define MSG_GOTOLADDER 618 -#define MSG_SHAKEBOTTLE 584 -#define MSG_SHOOTKOZAW 557 -#define MSG_SHOWCOIN 1033 -#define MSG_SPINHANDLE 2398 -#define MSG_STARTARCADE 781 -#define MSG_STARTHAND 612 -#define MSG_TAKEBOTTLE 614 -#define MSG_TAKEKOZAW 611 -#define MSG_TESTPLANK 538 -#define MSG_UPDATEBOTTLE 613 -#define MV_BLK_CLOSE 911 -#define MV_BLK_OPEN 910 -#define MV_CLK8_GO 2990 -#define MV_CST_CLOSELUKE 807 -#define MV_EGTR_FATASK 5332 -#define MV_IN1MAN_SLEEP 5111 -#define MV_BDG_OPEN 1379 -#define MV_BTN_CLICK 599 -#define MV_CLK_GO 589 -#define MV_HND_POINT 602 -#define MV_KZW_GOR 564 -#define MV_KZW_JUMP 558 -#define MV_KZW_JUMPROTATE 561 -#define MV_KZW_TOHOLERV 537 -#define MV_KZW_WALKPLANK 500 -#define MV_KZW_JUMPHIT 2857 -#define MV_KZW_JUMPOUT 586 -#define MV_KZW_RAISEHEAD 577 -#define MV_KZW_STANDUP 563 -#define MV_KZW_TURN 562 -#define MV_MAN_FROMLADDER 493 -#define MV_MAN_FROMLADDERUP 1522 -#define MV_MAN_GOD 481 +#define MV_FLY_FLY 4917 #define MV_MAN_GOLADDER 451 #define MV_MAN_GOLADDER2 2844 -#define MV_MAN_GOU 460 -#define MV_MAN_JUMPONPLANK 551 -#define MV_MAN_LOOKLADDER 520 -#define MV_MAN_LOOKLADDERRV 556 #define MV_MAN_LOOKUP 4773 -#define MV_MAN_PLANKTOLADDER 553 +#define rMV_MAN_LOOKUP 4775 +#define MV_MAN_TOLADDER 448 +#define MV_MAN_TOLADDER2 2841 #define MV_MAN_STARTLADDER 452 #define MV_MAN_STARTLADDER2 2842 -#define MV_MAN_STARTLADDERD 457 #define MV_MAN_STOPLADDER 454 #define MV_MAN_STOPLADDER2 2845 -#define MV_MAN_TOLADDER 448 -#define MV_MAN_TOLADDERD 1524 -#define MV_MAN_TOLADDER2 2841 #define MV_MAN_TURN_LU 486 -#define MV_MAN_TURN_SUD 1089 -#define MV_MAN6_TAKEBALL 2691 -#define MV_MAN6_THROWBALL 2692 -#define MV_MAN8_BADLUCK 783 -#define MV_MAN8_DRYGDOWN 770 -#define MV_MAN8_DRYGUP 768 -#define MV_MAN8_HANDSDOWN 772 -#define MV_MAN8_HANDSUP 777 -#define MV_MAN8_JUMP 775 -#define MV_MAN8_JUMPOFF 2969 -#define MV_MAN8_SITDOWN 2968 -#define MV_MANHDL_HANDLEDOWN 630 -#define MV_MANHDL_HANDLEUP 631 -#define MV_MOM_CYCLEBK 3012 -#define MV_MOM_JUMPBK 662 -#define MV_MOM_JUMPFW 661 -#define MV_MOM_STARTBK 3010 -#define MV_MOM_STOPBK 3013 -#define MV_MOM_TAKE1 2885 -#define MV_MOM_TAKE2 2886 -#define MV_MOM_TAKE3 2887 -#define MV_MOM_TAKE4 2888 -#define MV_MOM_TAKE5 2889 -#define MV_NDV_BLOW2 2855 -#define MV_NDV_DENIES 952 -#define MV_NDV_DENY_NOGUM 3022 -#define MV_OTM_BOXHANDLEDOWN 626 -#define MV_OTM_BOXHANDLEUP 627 -#define MV_OTM_HANDLEDOWN 620 -#define MV_OTM_HANDLEUP 621 -#define MV_PNK_WEIGHTLEFT 541 -#define MV_PNK_WEIGHTRIGHT 502 -#define MV_SC4_COIN_default 1029 -#define MV_SC7_BOX_default 792 -#define MV_SPK4_PLAY 3276 -#define MV_SPR_LOWER 543 -#define MV_VMT_DEF 765 -#define PIC_CMN_EVAL 3468 #define PIC_CSR_DEFAULT 4891 #define PIC_CSR_DEFAULT_INV 4892 #define PIC_CSR_ITN 4893 @@ -286,75 +85,17 @@ namespace Fullpipe { #define PIC_IN1_PIPETITLE 5167 #define PIC_INV_MENU 991 #define PIC_MAP_A13 5275 -#define PIC_MAP_P03 5279 #define PIC_MAP_S01 5223 -#define PIC_SC1_KUCHKA 1321 -#define PIC_SC1_LADDER 1091 -#define PIC_SC1_OSK 1018 -#define PIC_SC1_OSK2 2932 -#define PIC_SC2_DTRUBA 841 -#define PIC_SC2_LADDER 412 -#define PIC_SC3_DOMIN 5182 -#define PIC_SC3_LADDER 1102 -#define PIC_SC4_BOTTLE 568 -#define PIC_SC4_BOTTLE2 2936 -#define PIC_SC4_DOWNTRUBA 619 -#define PIC_SC4_LADDER 1438 -#define PIC_SC4_LRTRUBA 616 -#define PIC_SC4_MASK 585 -#define PIC_SC4_PLANK 5183 -#define PIC_SC6_LADDER 1104 -#define PIC_SC8_ARCADENOW 1043 -#define PIC_SC8_LADDER 754 -#define PIC_SC8_LADDER_D 755 -#define PIC_SC8_LADDERD 1106 -#define PIC_SC10_DTRUBA 974 -#define PIC_SC10_LADDER 995 -#define QU_BALL_WALKL 4920 -#define QU_BALL_WALKR 4919 -#define QU_CST_CLOSELUKE 820 -#define QU_EGG6_GOL 4936 -#define QU_EGG6_GOR 4935 -#define QU_EGTR_MD2_SHOW 4698 -#define QU_EGTR_MD1_SHOW 4697 -#define QU_EGTR_SLIMSHOW 4883 -#define QU_HND_TAKE0 1440 -#define QU_HND_TAKE1 1441 -#define QU_HND_TAKE2 1442 -#define QU_HND_TAKEBOTTLE 1443 -#define QU_IN2_DO 5144 -#define QU_INTR_FINISH 5138 -#define QU_INTR_GETUPMAN 5136 #define QU_INTR_STARTINTRO 5133 -#define QU_KOZAW_WALK 505 -#define QU_MOM_JUMPBK 671 -#define QU_MOM_JUMPFW 670 -#define QU_MOM_PUTBALL 2903 -#define QU_MOM_SITDOWN 685 -#define QU_MOM_STANDUP 2899 -#define QU_MOM_TOLIFT 2902 -#define QU_PNK_CLICK 550 -#define QU_SC3_ENTERLIFT 2779 -#define QU_SC3_EXITLIFT 2808 -#define QU_SC6_FALLHANDLE 2995 -#define QU_SC4_GOCLOCK 595 -#define QU_SC4_MANFROMBOTTLE 2851 -#define QU_SC4_MANTOBOTTLE 2850 -#define QU_SC5_MANBUMP 1167 -#define QU_SC5_MANFLY 1168 -#define QU_SC6_DROPS 2898 -#define QU_SC6_DROPS3 2955 -#define QU_SC6_ENTERLIFT 1054 -#define QU_SC6_EXITLIFT 1055 -#define QU_SC6_FALLBALL 2690 -#define QU_SC6_SHOWHANDLE 1689 -#define QU_SC6_SHOWNEXTBALL 2689 -#define QU_SC8_FINISH 788 -#define QU_SC8_STANDUP 2975 -#define QU_SC10_ENTERLIFT 1067 -#define QU_SC10_EXITLIFT 2809 -#define QU_SC10_TAKEGUM 3026 #define SC_1 301 +#define SC_2 302 +#define SC_3 303 +#define SC_4 304 +#define SC_5 305 +#define SC_6 649 +#define SC_7 650 +#define SC_8 651 +#define SC_9 652 #define SC_10 653 #define SC_11 654 #define SC_12 655 @@ -365,7 +106,6 @@ namespace Fullpipe { #define SC_17 1141 #define SC_18 1142 #define SC_19 1143 -#define SC_2 302 #define SC_20 1144 #define SC_21 1546 #define SC_22 1547 @@ -376,7 +116,6 @@ namespace Fullpipe { #define SC_27 1552 #define SC_28 2062 #define SC_29 2063 -#define SC_3 303 #define SC_30 2064 #define SC_31 2065 #define SC_32 2066 @@ -386,12 +125,6 @@ namespace Fullpipe { #define SC_36 2070 #define SC_37 2071 #define SC_38 2072 -#define SC_4 304 -#define SC_5 305 -#define SC_6 649 -#define SC_7 650 -#define SC_8 651 -#define SC_9 652 #define SC_COMMON 321 #define SC_DBGMENU 726 #define SC_FINAL1 4999 @@ -401,43 +134,12 @@ namespace Fullpipe { #define SC_INTRO1 3896 #define SC_INTRO2 3907 #define SC_INV 858 -#define SC_LDR 635 -#define SC_MAINMENU 4620 -#define SC_MAP 5222 -#define SC_TEST 903 -#define SC_TITLES 5166 -#define SND_4_010 3125 -#define SND_4_012 3127 -#define SND_4_033 4990 -#define SND_5_026 5316 -#define SND_8_014 3624 #define SND_CMN_031 3516 +#define SND_CMN_060 4921 +#define SND_CMN_061 4922 #define SND_CMN_070 5199 #define SND_INTR_019 5220 -#define ST_BLK_CLOSED 912 -#define ST_BLK_OPEN 913 -#define ST_BTT_CHESHET 746 -#define ST_BTT_NOSPOON 739 -#define ST_BTT_SLEEPS 748 -#define ST_BTT_SPOON 741 -#define ST_CLK_CLOSED 590 -#define ST_CST_HANDLELESS 794 -#define ST_DYAS_LIES 318 -#define ST_EGTR_MID1 2863 -#define ST_EGTR_MID2 2869 -#define ST_EGTR_SLIM 336 -#define ST_HGN_LOOK 811 -#define ST_HGN_LUKE 810 -#define ST_HDL_BROKEN 3342 -#define ST_HDL_DOWN 625 -#define ST_HDL_PLUGGED 2397 -#define ST_HDL_UP 624 -#define ST_HND_EMPTY 603 -#define ST_IN1MAN_SLEEP 5112 -#define ST_KZW_EMPTY 498 -#define ST_KZW_JUMPOUT 587 -#define ST_KZW_RIGHT 559 -#define ST_KZW_SIT 560 +#define ST_FLY_FLY 4918 #define ST_LBN_0N 2832 #define ST_LBN_0P 2833 #define ST_LBN_1N 2753 @@ -458,42 +160,350 @@ namespace Fullpipe { #define ST_LBN_8P 2775 #define ST_LBN_9N 2777 #define ST_LBN_9P 2778 -#define ST_LUK_CLOSED 805 -#define ST_LUK_OPEN 806 +#define ST_MAN_EMPTY 476 +#define ST_MAN_RIGHT 325 +#define TrubaDown 697 +#define TrubaLeft 474 +#define TrubaUp 680 + +// Intro +#define ANI_IN1MAN 5110 +#define MSG_INTR_ENDINTRO 5139 +#define MSG_INTR_GETUPMAN 5135 +#define MSG_INTR_SWITCHTO1 5145 +#define MSG_INTR_SWITCHTO2 5134 +#define MV_IN1MAN_SLEEP 5111 +#define QU_IN2_DO 5144 +#define QU_INTR_FINISH 5138 +#define QU_INTR_GETUPMAN 5136 +#define ST_IN1MAN_SLEEP 5112 + +// Scene 1 +#define ANI_BOOT_1 4231 +#define MSG_SC1_SHOWOSK 1019 +#define MSG_SC1_SHOWOSK2 468 +#define MSG_SC1_UTRUBACLICK 1100 +#define PIC_SC1_KUCHKA 1321 +#define PIC_SC1_LADDER 1091 +#define PIC_SC1_OSK 1018 +#define PIC_SC1_OSK2 2932 +#define TrubaRight 696 + +// Scene 2 +#define ANI_SC2_BOX 1020 +#define ANI_DADAYASHIK 306 +#define MSG_SC2_HIDELADDER 1023 +#define MSG_SC2_LADDERCLICK 1101 +#define MSG_SC2_PUTMANUP 1026 +#define MSG_SC2_SHOWLADDER 1027 +#define PIC_SC2_DTRUBA 841 +#define PIC_SC2_LADDER 412 +#define ST_DYAS_LIES 318 + +// Scene 3 +#define ANI_DOMINO_3 2732 +#define ANI_EGGEATER 334 +#define ANI_INV_COIN 875 +#define ANI_INV_EGGAPL 1564 +#define ANI_INV_EGGBOOT 1570 +#define ANI_INV_EGGCOIN 1567 +#define ANI_INV_EGGDOM 1561 +#define ANI_INV_EGGGLS 1573 +#define MSG_LIFT_CLICKBUTTON 2780 +#define MSG_LIFT_CLOSEDOOR 5194 +#define MSG_LIFT_EXITLIFT 5187 +#define MSG_LIFT_GO 1065 +#define MSG_LIFT_STARTEXITQUEUE 5186 +#define MSG_SC3_HIDEDOMINO 3177 +#define MSG_SC3_ONTAKECOIN 5338 +#define MSG_SC3_RELEASEEGG 2681 +#define MSG_SC3_TAKEEGG 1583 +#define MSG_SC3_TESTFAT 1582 +#define MSG_SC3_UTRUBACLICK 1103 +#define MV_EGTR_FATASK 5332 +#define PIC_SC3_DOMIN 5182 +#define PIC_SC3_LADDER 1102 +#define ST_EGTR_MID1 2863 +#define ST_EGTR_MID2 2869 +#define ST_EGTR_SLIM 336 +#define QU_EGTR_MD2_SHOW 4698 +#define QU_EGTR_MD1_SHOW 4697 +#define QU_EGTR_SLIMSHOW 4883 +#define QU_SC3_ENTERLIFT 2779 +#define QU_SC3_EXITLIFT 2808 + +// Scene 4 +#define ANI_BIGBALL 4923 +#define ANI_BUTTON 598 +#define ANI_CLOCK 588 +#define ANI_HAND 601 +#define ANI_KOZAWKA 495 +#define ANI_MAMASHA_4 660 +#define ANI_PLANK 501 +#define ANI_SC4_BOOT 1035 +#define ANI_SC4_COIN 690 +#define ANI_SPEAKER_4 3275 +#define ANI_SPRING 542 +#define MSG_GOTOLADDER 618 +#define MSG_KOZAWRESTART 546 +#define MSG_SC4_COINOUT 2895 +#define MSG_SC4_COINPUT 1032 +#define MSG_SC4_CLICKLADDER 1439 +#define MSG_SC4_DROPBOTTLE 2896 +#define MSG_SC4_HANDOVER 2960 +#define MSG_SC4_HIDEBOOT 4563 +#define MSG_SC4_KOZAWFALL 2858 +#define MSG_SC4_MANFROMBOTTLE 2854 +#define MSG_SC4_MANTOBOTTLE 2852 +#define MSG_SHAKEBOTTLE 584 +#define MSG_SHOOTKOZAW 557 +#define MSG_STARTHAND 612 +#define MSG_CLICKBOTTLE 569 +#define MSG_CLICKBUTTON 609 +#define MSG_CLICKPLANK 549 +#define MSG_LOWERPLANK 540 +#define MSG_RAISEPLANK 547 +#define MSG_SHOWCOIN 1033 +#define MSG_TAKEBOTTLE 614 +#define MSG_TAKEKOZAW 611 +#define MSG_TESTPLANK 538 +#define MSG_UPDATEBOTTLE 613 +#define MV_BTN_CLICK 599 +#define MV_CLK_GO 589 +#define MV_HND_POINT 602 +#define MV_KZW_GOR 564 +#define rMV_KZW_GOR 566 +#define MV_KZW_JUMP 558 +#define MV_KZW_JUMPROTATE 561 +#define MV_KZW_TOHOLERV 537 +#define MV_KZW_WALKPLANK 500 +#define MV_KZW_JUMPHIT 2857 +#define MV_KZW_JUMPOUT 586 +#define MV_KZW_RAISEHEAD 577 +#define MV_KZW_STANDUP 563 +#define MV_KZW_TURN 562 +#define MV_MAN_FROMLADDER 493 +#define MV_MAN_GOD 481 +#define MV_MAN_GOU 460 +#define MV_MAN_JUMPONPLANK 551 +#define MV_MAN_LOOKLADDER 520 +#define MV_MAN_PLANKTOLADDER 553 +#define MV_MAN_STARTLADDERD 457 +#define MV_PNK_WEIGHTLEFT 541 +#define MV_PNK_WEIGHTRIGHT 502 +#define MV_SC4_COIN_default 1029 +#define MV_SPK4_PLAY 3276 +#define MV_SPR_LOWER 543 +#define PIC_MAP_P03 5279 +#define PIC_SC4_BOTTLE 568 +#define PIC_SC4_BOTTLE2 2936 +#define PIC_SC4_DOWNTRUBA 619 +#define PIC_SC4_LADDER 1438 +#define PIC_SC4_LRTRUBA 616 +#define PIC_SC4_MASK 585 +#define PIC_SC4_PLANK 5183 +#define QU_BALL_WALKL 4920 +#define QU_BALL_WALKR 4919 +#define QU_HND_TAKE0 1440 +#define QU_HND_TAKE1 1441 +#define QU_HND_TAKE2 1442 +#define QU_HND_TAKEBOTTLE 1443 +#define QU_KOZAW_WALK 505 +#define QU_PNK_CLICK 550 +#define QU_SC4_GOCLOCK 595 +#define QU_SC4_MANFROMBOTTLE 2851 +#define QU_SC4_MANTOBOTTLE 2850 +#define SND_4_010 3125 +#define SND_4_012 3127 +#define SND_4_033 4990 +#define ST_CLK_CLOSED 590 +#define ST_HND_EMPTY 603 +#define ST_KZW_EMPTY 498 +#define ST_KZW_JUMPOUT 587 +#define ST_KZW_RIGHT 559 +#define ST_KZW_SIT 560 #define ST_MAN_GOLADDER 450 #define ST_MAN_GOLADDER2 2843 -#define ST_MAN_EMPTY 476 +#define MV_MAN_LOOKLADDERRV 556 #define ST_MAN_LADDERDOWN 521 #define ST_MAN_LOOKPLANK 555 #define ST_MAN_ONPLANK 552 -#define ST_MAN_RIGHT 325 #define ST_MAN_SIT 1164 #define ST_MAN_STANDLADDER 453 #define ST_MAN_UP 449 +#define ST_PNK_WEIGHTLEFT 503 +#define ST_PNK_WEIGHTRIGHT 504 +#define ST_SPR_UP 544 + +// Scene 5 +#define ANI_BIGLUK 909 +#define ANI_HANDLE 622 +#define ANI_OTMOROZ 419 +#define MSG_SC5_BGRSOUNDOFF 5315 +#define MSG_SC5_BGRSOUNDON 5314 +#define MSG_SC5_HANDLEDOWN 916 +#define MSG_SC5_HANDLEUP 915 +#define MSG_SC5_HIDEHANDLE 917 +#define MSG_SC5_MAKEMANFLIGHT 1136 +#define MSG_SC5_MAKEOTMFEEDBACK 1169 +#define MSG_SC5_SHOWHANDLE 918 +#define MSG_SC5_TESTLUK 914 +#define MV_BLK_CLOSE 911 +#define MV_BLK_OPEN 910 +#define MV_MANHDL_HANDLEDOWN 630 +#define MV_MANHDL_HANDLEUP 631 +#define MV_OTM_BOXHANDLEDOWN 626 +#define MV_OTM_BOXHANDLEUP 627 +#define MV_OTM_HANDLEDOWN 620 +#define MV_OTM_HANDLEUP 621 +#define QU_SC5_MANBUMP 1167 +#define QU_SC5_MANFLY 1168 +#define SND_5_026 5316 +#define ST_BLK_CLOSED 912 +#define ST_BLK_OPEN 913 +#define ST_HDL_BROKEN 3342 +#define ST_HDL_DOWN 625 +#define ST_HDL_UP 624 +#define ST_OTM_BOX_LEFT 429 +#define ST_OTM_GLS_LEFT 421 +#define ST_OTM_VNT_LEFT 434 + +// Scene 6 +#define ANI_BALLDROP 2685 +#define ANI_BUTTON_6 2988 +#define ANI_EGGIE 4929 +#define ANI_INV_HANDLE 893 +#define ANI_MAMASHA 656 +#define ANI_NEWBALL 1073 +#define MSG_SC6_BTNPUSH 1017 +#define MSG_SC6_ENABLEDROPS 687 +#define MSG_SC6_INSTHANDLE 1012 +#define MSG_SC6_JUMPBK 2900 +#define MSG_SC6_JUMPFW 2901 +#define MSG_SC6_RESTORESCROLL 2906 +#define MSG_SC6_SHOWNEXTBALL 790 +#define MSG_SC6_STARTDROPS 2897 +#define MSG_SC6_TAKEBALL 682 +#define MSG_SC6_TESTNUMBALLS 2904 +#define MSG_SC6_UTRUBACLICK 1105 +#define MSG_SPINHANDLE 2398 +#define MV_MAN6_TAKEBALL 2691 +#define MV_MAN6_THROWBALL 2692 +#define MV_MOM_CYCLEBK 3012 +#define MV_MOM_JUMPBK 662 +#define MV_MOM_JUMPFW 661 +#define MV_MOM_STARTBK 3010 +#define MV_MOM_STOPBK 3013 +#define MV_MOM_TAKE1 2885 +#define MV_MOM_TAKE2 2886 +#define MV_MOM_TAKE3 2887 +#define MV_MOM_TAKE4 2888 +#define MV_MOM_TAKE5 2889 +#define PIC_SC6_LADDER 1104 +#define QU_EGG6_GOL 4936 +#define QU_EGG6_GOR 4935 +#define QU_MOM_JUMPBK 671 +#define QU_MOM_JUMPFW 670 +#define QU_MOM_PUTBALL 2903 +#define QU_MOM_SITDOWN 685 +#define QU_MOM_STANDUP 2899 +#define QU_MOM_TOLIFT 2902 +#define QU_SC6_DROPS 2898 +#define QU_SC6_DROPS3 2955 +#define QU_SC6_ENTERLIFT 1054 +#define QU_SC6_EXITLIFT 1055 +#define QU_SC6_FALLBALL 2690 +#define QU_SC6_FALLHANDLE 2995 +#define QU_SC6_SHOWHANDLE 1689 +#define QU_SC6_SHOWNEXTBALL 2689 +#define ST_HDL_PLUGGED 2397 #define ST_MAN6_BALL 2688 -#define ST_MAN8_FLYDOWN 771 -#define ST_MAN8_FLYUP 769 -#define ST_MAN8_HANDSUP 773 -#define ST_MAN8_STAND 774 #define ST_MOM_SITS 659 #define ST_MOM_STANDS 658 #define ST_NBL_NORM 1076 -#define ST_NDV_SIT 946 -#define ST_OTM_BOX_LEFT 429 -#define ST_OTM_GLS_LEFT 421 -#define ST_OTM_VNT_LEFT 434 + +// Scene 7 +#define ANI_CORNERSITTER 71 +#define ANI_HOOLIGAN 808 +#define ANI_LUKE 803 +#define ANI_PLUSMINUS 2938 +#define ANI_SC7_BOX 791 +#define MSG_SC7_CLOSELUKE 822 +#define MSG_SC7_HIDEBOX 817 +#define MSG_SC7_HIDELUKE 821 +#define MSG_SC7_OPENLUKE 823 +#define MSG_SC7_PULL 2943 +#define MSG_SC7_SHOWBOX 816 +#define MV_CST_CLOSELUKE 807 +#define MV_SC7_BOX_default 792 +#define QU_CST_CLOSELUKE 820 +#define ST_CST_HANDLELESS 794 +#define ST_HGN_LOOK 811 +#define ST_HGN_LUKE 810 +#define ST_LUK_CLOSED 805 +#define ST_LUK_OPEN 806 #define ST_PMS_MINUS 2942 #define ST_PMS_PLUS 2941 -#define ST_PNK_WEIGHTLEFT 503 -#define ST_PNK_WEIGHTRIGHT 504 -#define ST_SPR_UP 544 + +// Scene 8 +#define ANI_BATUTA 737 +#define ANI_CLOCK_8 2989 +#define ANI_VMYATS 764 +#define MSG_SC8_ARCADENOW 1044 +#define MSG_SC8_ENTERUP 3037 +#define MSG_SC8_GETHIMUP 789 +#define MSG_SC8_HIDELADDER_D 1107 +#define MSG_SC8_RESUMEFLIGHT 784 +#define MSG_SC8_STANDUP 2976 +#define MSG_STARTARCADE 781 +#define MV_CLK8_GO 2990 +#define MV_MAN_FROMLADDERUP 1522 +#define MV_MAN_TOLADDERD 1524 +#define MV_MAN8_BADLUCK 783 +#define MV_MAN8_DRYGDOWN 770 +#define MV_MAN8_DRYGUP 768 +#define MV_MAN8_HANDSDOWN 772 +#define MV_MAN8_HANDSUP 777 +#define MV_MAN8_JUMP 775 +#define MV_MAN8_JUMPOFF 2969 +#define MV_MAN8_SITDOWN 2968 +#define MV_VMT_DEF 765 +#define PIC_SC8_ARCADENOW 1043 +#define PIC_SC8_LADDER 754 +#define PIC_SC8_LADDER_D 755 +#define PIC_SC8_LADDERD 1106 +#define QU_SC8_FINISH 788 +#define QU_SC8_STANDUP 2975 +#define SND_8_014 3624 +#define ST_BTT_CHESHET 746 +#define ST_BTT_NOSPOON 739 +#define ST_BTT_SLEEPS 748 +#define ST_BTT_SPOON 741 +#define ST_MAN8_FLYDOWN 771 +#define ST_MAN8_FLYUP 769 +#define ST_MAN8_HANDSUP 773 +#define ST_MAN8_STAND 774 #define ST_VMT_MIN 766 -#define TrubaDown 697 -#define TrubaLeft 474 -#define TrubaRight 696 -#define TrubaUp 680 -#define rMV_MAN_LOOKUP 4775 -#define rMV_KZW_GOR 566 + +// Scene 10 +#define ANI_GUM 978 +#define ANI_NADUVATEL 944 +#define ANI_PACHKA 975 +#define ANI_PACHKA2 3008 +#define MSG_SC10_CLICKGUM 992 +#define MSG_SC10_HIDEGUM 993 +#define MSG_SC10_LADDERTOBACK 3002 +#define MSG_SC10_LADDERTOFORE 3004 +#define MSG_SC10_SHOWGUM 994 +#define MV_NDV_BLOW2 2855 +#define MV_NDV_DENIES 952 +#define MV_NDV_DENY_NOGUM 3022 +#define PIC_SC10_DTRUBA 974 +#define PIC_SC10_LADDER 995 +#define QU_SC10_ENTERLIFT 1067 +#define QU_SC10_EXITLIFT 2809 +#define QU_SC10_TAKEGUM 3026 +#define ST_NDV_SIT 946 // Scene 11 #define ANI_BOOTS_11 2704 @@ -967,6 +977,47 @@ namespace Fullpipe { #define ST_VNT26_RIGHT2 3348 #define ST_VNT26_UP2 1948 +// Scene 28 +#define ANI_LIFT 982 +#define ANI_LIFT_28 4238 +#define MSG_SC28_CLICKLIFT 4258 +#define MSG_SC28_ENDCABIN 3456 +#define MSG_SC28_ENDLIFT1 4259 +#define MSG_SC28_ENDLIFT6 4244 +#define MSG_SC28_LIFT1_SHOWAFTER 4261 +#define MSG_SC28_LIFT6INSIDE 5354 +#define MSG_SC28_LIFT6MUSIC 5355 +#define MSG_SC28_MAKEFACES 4684 +#define MSG_SC28_STARTWORK1 4255 +#define MSG_SC28_TRYVTORPERS 4961 +#define MSG_SC28_TURNOFF_0 4678 +#define MSG_SC28_TURNOFF_1 4279 +#define MSG_SC28_TURNOFF_2 4277 +#define MSG_SC28_TURNOFF_3 4275 +#define MSG_SC28_TURNOFF_4 4282 +#define MSG_SC28_TURNOFF_6 4273 +#define MSG_SC28_TURNON4 4280 +#define MSG_SC28_TURNON_0 4677 +#define MSG_SC28_TURNON_1 4278 +#define MSG_SC28_TURNON_2 4276 +#define MSG_SC28_TURNON_3 4274 +#define MSG_SC28_TURNON_4 4281 +#define MSG_SC28_TURNON_6 4272 +#define PIC_SC28_DARK0 4675 +#define PIC_SC28_DARK1 4266 +#define PIC_SC28_DARK2 4267 +#define PIC_SC28_DARK3 4268 +#define PIC_SC28_DARK4 4269 +#define PIC_SC28_DARK5 4270 +#define PIC_SC28_DARK6 4271 +#define QU_SC28_LIFT0_START 4676 +#define QU_SC28_LIFT1_START 4254 +#define QU_SC28_LIFT2_START 4246 +#define QU_SC28_LIFT3_START 4245 +#define QU_SC28_LIFT5_START 4674 +#define QU_SC28_LIFT6_END 3563 +#define QU_SC28_LIFT6_START 4243 + // Scene 30 #define ANI_LEG 2322 #define MSG_SC30_UPDATEPATH 2358 @@ -995,6 +1046,7 @@ namespace Fullpipe { #define ST_RHT_OPEN 2362 // Debug scene +#define MSG_RESTARTGAME 4767 #define PIC_SCD_1 727 #define PIC_SCD_2 728 #define PIC_SCD_3 729 diff --git a/engines/fullpipe/fullpipe.cpp b/engines/fullpipe/fullpipe.cpp index a0348a9407..674dada0b9 100644 --- a/engines/fullpipe/fullpipe.cpp +++ b/engines/fullpipe/fullpipe.cpp @@ -94,6 +94,7 @@ FullpipeEngine::FullpipeEngine(OSystem *syst, const ADGameDescription *gameDesc) _isProcessingMessages = false; _musicAllowed = -1; + _musicGameVar = 0; _aniMan = 0; _aniMan2 = 0; diff --git a/engines/fullpipe/module.mk b/engines/fullpipe/module.mk index a2d4961f78..55be5a7a34 100644 --- a/engines/fullpipe/module.mk +++ b/engines/fullpipe/module.mk @@ -24,6 +24,7 @@ MODULE_OBJS = \ stateloader.o \ statics.o \ utils.o \ + scenes/sceneIntro.o \ scenes/scene01.o \ scenes/scene02.o \ scenes/scene03.o \ @@ -51,8 +52,7 @@ MODULE_OBJS = \ scenes/scene30.o \ scenes/scene31.o \ scenes/scene36.o \ - scenes/sceneDbg.o \ - scenes/sceneIntro.o + scenes/sceneDbg.o # This module can be built as a plugin ifeq ($(ENABLE_FULLPIPE), DYNAMIC_PLUGIN) diff --git a/engines/fullpipe/scenes.cpp b/engines/fullpipe/scenes.cpp index 04e2714053..4482225c2a 100644 --- a/engines/fullpipe/scenes.cpp +++ b/engines/fullpipe/scenes.cpp @@ -792,6 +792,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { addMessageHandler(sceneHandler27, 2); _updateCursorCallback = scene27_updateCursor; break; +#endif case SC_28: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_28"); @@ -804,6 +805,7 @@ bool FullpipeEngine::sceneSwitcher(EntranceInfo *entrance) { _updateCursorCallback = scene28_updateCursor; break; +#if 0 case SC_29: sceneVar = _gameLoader->_gameVar->getSubVarByName("SC_29"); scene->preloadMovements(sceneVar); diff --git a/engines/fullpipe/scenes.h b/engines/fullpipe/scenes.h index 7d7bb6e48d..ab5e18654f 100644 --- a/engines/fullpipe/scenes.h +++ b/engines/fullpipe/scenes.h @@ -132,6 +132,10 @@ void scene26_setupDrop(Scene *sc); int sceneHandler26(ExCommand *cmd); int scene26_updateCursor(); +void scene28_initScene(Scene *sc); + int sceneHandler28(ExCommand *ex); +int scene28_updateCursor(); + int scene30_updateCursor(); void scene30_initScene(Scene *sc, int flag); int sceneHandler30(ExCommand *cmd); @@ -428,8 +432,8 @@ public: int scene28_var04; int scene28_var05; int scene28_var06; - int scene28_var07; - int scene28_var08; + PictureObject *scene28_var07; + PictureObject *scene28_var08; int scene28_var09; int scene28_var10; int scene28_var11; diff --git a/engines/fullpipe/scenes/scene16.cpp b/engines/fullpipe/scenes/scene16.cpp index a280273e6a..b1e261287a 100644 --- a/engines/fullpipe/scenes/scene16.cpp +++ b/engines/fullpipe/scenes/scene16.cpp @@ -121,7 +121,7 @@ int scene16_updateCursor() { } void sceneHandler16_laughSound() { - int snd; + int snd = SND_16_035; switch (g_vars->scene16_sound) { case SND_16_034: @@ -191,7 +191,7 @@ void sceneHandler16_fillMug() { mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC16_GIRLOUT), 0, 1); mq->replaceKeyCode(-1, g_vars->scene16_walkingGirl->_okeyCode); - if (mq->chain(g_vars->scene16_walkingGirl) || !mq) + if (mq->chain(g_vars->scene16_walkingGirl)) return; } delete mq; diff --git a/engines/fullpipe/scenes/scene22.cpp b/engines/fullpipe/scenes/scene22.cpp index 657fe12ce1..13c9ab36e9 100644 --- a/engines/fullpipe/scenes/scene22.cpp +++ b/engines/fullpipe/scenes/scene22.cpp @@ -261,8 +261,7 @@ void sceneHandler22_stoolLogic(ExCommand *cmd) { mq->deleteExCommandByIndex(0, 0); - if (mq) - delete mq; + delete mq; mq = new MessageQueue(g_fp->_currentScene->getMessageQueueById(QU_SC22_TOSTOOL_R), 0, 0); diff --git a/engines/fullpipe/scenes/scene25.cpp b/engines/fullpipe/scenes/scene25.cpp index 5c2ddc695e..ba07c3e5b9 100644 --- a/engines/fullpipe/scenes/scene25.cpp +++ b/engines/fullpipe/scenes/scene25.cpp @@ -436,7 +436,7 @@ void sceneHandler25_backToPipe() { void sceneHandler25_walkOnLadder(StaticANIObject *ani, Common::Point *pnt, MessageQueue *mq, int flag) { int aniY = ani->_oy; - int newx, newy; + int newx = 0, newy = 0; Common::Point point; ExCommand *ex; @@ -488,7 +488,7 @@ void sceneHandler25_walkOnLadder(StaticANIObject *ani, Common::Point *pnt, Messa for (int i = 0; i < numObsolete; i++) mq->deleteExCommandByIndex(0, 1); - ex = new ExCommand(ani->_id, 34, 256, 0, 0, 0, 1, 0, 0, 0); + ex = new ExCommand(ani->_id, 34, 256, 0, 0, 0, 1, 0, 0, 0); ex->_field_14 = 256; ex->_messageNum = 0; @@ -509,6 +509,9 @@ void sceneHandler25_walkOnLadder(StaticANIObject *ani, Common::Point *pnt, Messa ani->_movement->setDynamicPhaseIndex(idx); } else { + if (!lastEx) + error("sceneHandler25_walkOnLadder(): Incorrect state. Please report this to sev"); + ani->changeStatics2(ani->getMovementById(lastEx->_messageNum)->_staticsObj1->_staticsId); ani->setOXY(newx, newy); ani->restartMessageQueue(mq); @@ -588,7 +591,7 @@ int sceneHandler25(ExCommand *cmd) { break; case 33: - if (g_fp->_aniMan2) { + if (g_fp->_aniMan2) { int x = g_fp->_aniMan2->_ox; int y = g_fp->_aniMan2->_oy; diff --git a/engines/fullpipe/scenes/scene28.cpp b/engines/fullpipe/scenes/scene28.cpp index bdb1699d70..9fad0f74f5 100644 --- a/engines/fullpipe/scenes/scene28.cpp +++ b/engines/fullpipe/scenes/scene28.cpp @@ -36,7 +36,7 @@ namespace Fullpipe { -void scene28_initScene() { +void scene28_initScene(Scene *sc) { g_vars->scene28_var01 = 200; g_vars->scene28_var02 = 200; g_vars->scene28_var03 = 300; @@ -54,4 +54,241 @@ void scene28_initScene() { g_fp->initArcadeKeys("SC_28"); } +int scene28_updateCursor() { + g_fp->updateCursorCommon(); + if (g_fp->_objectIdAtCursor == ANI_LIFT || g_fp->_objectIdAtCursor == ANI_LIFT_28) + if (g_fp->_cursorId == PIC_CSR_DEFAULT) + g_fp->_cursorId = PIC_CSR_ITN; + + return g_fp->_cursorId; +} + +void sceneHandler28_lift1ShowAfter() { + warning("STUB: sceneHandler28_lift1ShowAfter()"); +} + +void sceneHandler28_makeFaces(ExCommand *cmd) { + warning("STUB: sceneHandler28_makeFaces()"); +} + +void sceneHandler28_trySecondaryPers() { + warning("STUB: sceneHandler28_trySecondaryPers()"); +} + +void sceneHandler28_turnOn2() { + warning("STUB: sceneHandler28_turnOn2()"); +} + +void sceneHandler28_startWork1() { + warning("STUB: sceneHandler28_startWork1()"); +} + +void sceneHandler28_clickLift(int keyCode) { + warning("STUB: sceneHandler28_clickLift()"); +} + +void sceneHandler28_lift0Start() { + chainQueue(QU_SC28_LIFT0_START, 1); +} + +void sceneHandler28_lift1Start() { + warning("STUB: sceneHandler28_lift1Start()"); +} + +void sceneHandler28_lift2Start() { + chainQueue(QU_SC28_LIFT2_START, 1); +} + +void sceneHandler28_lift3Start() { + chainQueue(QU_SC28_LIFT3_START, 1); +} + +void sceneHandler28_lift4Start() { + warning("STUB: sceneHandler28_lift4Start()"); +} + +void sceneHandler28_lift5Start() { + chainQueue(QU_SC28_LIFT5_START, 1); +} + +void sceneHandler28_lift6Start() { + warning("STUB: sceneHandler28_lift6Start()"); +} + + +int sceneHandler28(ExCommand *cmd) { + if (cmd->_messageKind != 17) + return 0; + + switch (cmd->_messageNum) { + case MSG_SC28_LIFT6MUSIC: + g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_28"), "MUSIC_TIOTIA", 1); + break; + + case MSG_SC28_LIFT6INSIDE: + g_vars->scene28_var11 = 1; + break; + + case MSG_SC28_LIFT1_SHOWAFTER: + sceneHandler28_lift1ShowAfter(); + break; + + case MSG_SC28_MAKEFACES: + sceneHandler28_makeFaces(cmd); + break; + + case MSG_SC28_TRYVTORPERS: + sceneHandler28_trySecondaryPers(); + break; + + case MSG_SC28_TURNOFF_0: + g_vars->scene28_var08 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK0, 0); + g_vars->scene28_var08->_flags |= 4; + break; + + case MSG_SC28_TURNON_0: + g_vars->scene28_var07 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK0, 0); + break; + + case MSG_SC28_TURNON_1: + g_vars->scene28_var07 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK1, 0); + break; + + case MSG_SC28_TURNOFF_1: + g_vars->scene28_var08 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK1, 0); + g_vars->scene28_var08->_flags |= 4; + break; + + case MSG_SC28_TURNON_2: + g_vars->scene28_var07 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK2, 0); + sceneHandler28_turnOn2(); + break; + + case MSG_SC28_TURNOFF_2: + g_vars->scene28_var08 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK2, 0); + g_vars->scene28_var08->_flags |= 4; + break; + + case MSG_SC28_TURNON_3: + g_vars->scene28_var07 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK3, 0); + break; + + case MSG_SC28_TURNOFF_3: + g_vars->scene28_var08 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK3, 0); + g_vars->scene28_var08->_flags |= 4; + break; + + case MSG_SC28_TURNON_4: + g_vars->scene28_var07 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK4, 0); + break; + + case MSG_SC28_TURNOFF_4: + g_vars->scene28_var08 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK4, 0); + g_vars->scene28_var08->_flags |= 4; + break; + + case MSG_SC28_TURNON_6: + g_vars->scene28_var07 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK6, 0); + break; + + case MSG_SC28_TURNOFF_6: + g_vars->scene28_var08 = g_fp->_currentScene->getPictureObjectById(PIC_SC28_DARK6, 0); + g_vars->scene28_var08->_flags |= 4; + break; + + case MSG_SC28_STARTWORK1: + sceneHandler28_startWork1(); + break; + + case MSG_SC28_CLICKLIFT: + sceneHandler28_clickLift(cmd->_keyCode); + break; + + case MSG_SC28_ENDLIFT1: + case MSG_SC28_ENDLIFT6: + case MSG_SC28_ENDCABIN: + g_fp->_behaviorManager->setFlagByStaticAniObject(g_fp->_aniMan, 1); + g_fp->_aniMan->_flags &= 0xFEFF; + break; + + case 29: + { + if (g_vars->scene28_var11) { + chainObjQueue(g_fp->_aniMan, QU_SC28_LIFT6_END, 1); + + g_fp->playTrack(g_fp->getGameLoaderGameVar()->getSubVarByName("SC_28"), "MUSIC", 1); + + g_vars->scene28_var11 = 0; + } + + StaticANIObject *ani = g_fp->_currentScene->getStaticANIObjectAtPos(cmd->_sceneClickX, cmd->_sceneClickY); + + if (ani) + if (ani->_id == ANI_LIFT || ani->_id == ANI_LIFT_28 ) { + sceneHandler28_clickLift(ani->_okeyCode); + + cmd->_messageKind = 0; + break; + } + + if (!ani || !canInteractAny(g_fp->_aniMan, ani, cmd->_keyCode)) { + int picId = g_fp->_currentScene->getPictureObjectIdAtPos(cmd->_sceneClickX, cmd->_sceneClickY); + PictureObject *pic = g_fp->_currentScene->getPictureObjectById(picId, 0); + + if (!pic || !canInteractAny(g_fp->_aniMan, pic, cmd->_keyCode)) { + if ((g_fp->_sceneRect.right - cmd->_sceneClickX < 47 && g_fp->_sceneRect.right < g_fp->_sceneWidth - 1) + || (cmd->_sceneClickX - g_fp->_sceneRect.left < 47 && g_fp->_sceneRect.left > 0)) + g_fp->processArcade(cmd); + } + } + break; + } + + case 33: + if (g_fp->_aniMan2) { + int x = g_fp->_aniMan2->_ox; + + if (x < g_fp->_sceneRect.left + g_vars->scene28_var01) + g_fp->_currentScene->_x = x - g_vars->scene28_var03 - g_fp->_sceneRect.left; + + if (x > g_fp->_sceneRect.right - g_vars->scene28_var01) + g_fp->_currentScene->_x = x + g_vars->scene28_var03 - g_fp->_sceneRect.right; + } + + if (g_vars->scene28_var07) { + if (g_vars->scene28_var07->_picture->getAlpha() > 10) { + g_vars->scene28_var07->_picture->setAlpha(g_vars->scene28_var07->_picture->getAlpha() - 10); + } else { + g_vars->scene28_var07->_flags &= 0xFFFB; + + g_vars->scene28_var07 = 0; + } + } + + if (g_vars->scene28_var08) { + if (g_vars->scene28_var08->_picture->getAlpha() < 0xF9u ) { + g_vars->scene28_var08->_picture->setAlpha(g_vars->scene28_var08->_picture->getAlpha() + 6); + } else { + g_vars->scene28_var08->_picture->setAlpha(0xff); + + g_vars->scene28_var08 = 0; + } + } + + g_fp->_floaters->update(); + + for (uint i = 0; i < g_fp->_floaters->_array2.size(); i++) + if (g_fp->_floaters->_array2[i]->val13 == 1) + g_fp->_floaters->_array2[i]->ani->_priority = 15; + + g_fp->_behaviorManager->updateBehaviors(); + + g_fp->startSceneTrack(); + + break; + } + + return 0; +} + } // End of namespace Fullpipe diff --git a/engines/hopkins/hopkins.h b/engines/hopkins/hopkins.h index b7c6a9b5a9..615eace374 100644 --- a/engines/hopkins/hopkins.h +++ b/engines/hopkins/hopkins.h @@ -60,10 +60,6 @@ */ namespace Hopkins { -#define DEBUG_BASIC 1 -#define DEBUG_INTERMEDIATE 2 -#define DEBUG_DETAILED 3 - #define SCREEN_WIDTH 640 #define SCREEN_HEIGHT 480 diff --git a/engines/neverhood/menumodule.cpp b/engines/neverhood/menumodule.cpp index cf21bc094e..b332418cf5 100644 --- a/engines/neverhood/menumodule.cpp +++ b/engines/neverhood/menumodule.cpp @@ -1083,7 +1083,7 @@ static const NRect kLoadGameMenuButtonCollisionBounds[] = { { 182, 358, 241, 433 } }; -static const NRect kLoadGameMenuListBoxRect = { 0, 0, 320, 271 }; +static const NRect kLoadGameMenuListBoxRect = { 0, 0, 320, 272 }; static const NRect kLoadGameMenuTextEditRect = { 0, 0, 320, 17 }; static const NRect kLoadGameMenuMouseRect = { 263, 48, 583, 65 }; @@ -1116,7 +1116,7 @@ static const NRect kDeleteGameMenuButtonCollisionBounds[] = { { 395, 278, 452, 372 } }; -static const NRect kDeleteGameMenuListBoxRect = { 0, 0, 320, 271 }; +static const NRect kDeleteGameMenuListBoxRect = { 0, 0, 320, 272 }; static const NRect kDeleteGameMenuTextEditRect = { 0, 0, 320, 17 }; DeleteGameMenu::DeleteGameMenu(NeverhoodEngine *vm, Module *parentModule, SavegameList *savegameList) diff --git a/engines/neverhood/module.cpp b/engines/neverhood/module.cpp index d1578e680c..3ef4554334 100644 --- a/engines/neverhood/module.cpp +++ b/engines/neverhood/module.cpp @@ -48,7 +48,7 @@ void Module::draw() { uint32 Module::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { switch (messageNum) { case 0x0008: - sendMessage(_parentModule, 8, 0); + sendMessage(_parentModule, 0x0008, 0); return 0; case 0x1009: _moduleResult = param.asInteger(); diff --git a/engines/neverhood/palette.cpp b/engines/neverhood/palette.cpp index 941bcc3cd3..134fec7163 100644 --- a/engines/neverhood/palette.cpp +++ b/engines/neverhood/palette.cpp @@ -119,7 +119,7 @@ void Palette::startFadeToBlack(int counter) { _fadeToG = 0; _fadeToB = 0; _palCounter = counter; - _fadeStep = 255 / counter; + _fadeStep = calculateFadeStep(counter); _status = 1; } @@ -131,7 +131,7 @@ void Palette::startFadeToWhite(int counter) { _fadeToG = 255; _fadeToB = 255; _palCounter = counter; - _fadeStep = 255 / counter; + _fadeStep = calculateFadeStep(counter); _status = 1; } @@ -140,7 +140,7 @@ void Palette::startFadeToPalette(int counter) { if (counter == 0) counter = 1; _palCounter = counter; - _fadeStep = 255 / counter; + _fadeStep = calculateFadeStep(counter); _status = 2; } @@ -203,4 +203,11 @@ void Palette::fadeColor(byte *rgb, byte toR, byte toG, byte toB) { #undef FADE } +int Palette::calculateFadeStep(int counter) { + int fadeStep = 255 / counter; + if (255 % counter) + fadeStep++; + return fadeStep; +} + } // End of namespace Neverhood diff --git a/engines/neverhood/palette.h b/engines/neverhood/palette.h index c83207caae..016f856104 100644 --- a/engines/neverhood/palette.h +++ b/engines/neverhood/palette.h @@ -61,6 +61,7 @@ protected: int _fadeStep; void update(); void fadeColor(byte *rgb, byte toR, byte toG, byte toB); + int calculateFadeStep(int counter); }; } // End of namespace Neverhood diff --git a/engines/sci/sound/music.cpp b/engines/sci/sound/music.cpp index 1b8aa55460..f46c1dfbb0 100644 --- a/engines/sci/sound/music.cpp +++ b/engines/sci/sound/music.cpp @@ -1044,6 +1044,8 @@ void SciMusic::remapChannels() { if (!_channelMap[i]._song) resetDeviceChannel(i); } + + delete map; } |