[Scummvm-git-logs] scummvm master -> 05f3556f74d31eeb02c558c7e628da26590c079b
dreammaster
noreply at scummvm.org
Mon Jun 29 07:46:24 UTC 2026
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
c732305c27 MADS: FOREST: Fix getting sturdy stick in room 403
f07cdc84cc MADS: FOREST: Clarify sturdy stick usage in room 404
bfca69b8a4 MADS: FOREST: Fix journal and backpack icons shrinking when being opened
05f3556f74 MADS: FOREST; Room 404 anim cleanups
Commit: c732305c27b0aa300cd08613a85accc8083d02ff
https://github.com/scummvm/scummvm/commit/c732305c27b0aa300cd08613a85accc8083d02ff
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T17:45:31+10:00
Commit Message:
MADS: FOREST: Fix getting sturdy stick in room 403
Changed paths:
engines/mads/madsv2/forest/mads/inventory.h
engines/mads/madsv2/forest/rooms/room403.cpp
diff --git a/engines/mads/madsv2/forest/mads/inventory.h b/engines/mads/madsv2/forest/mads/inventory.h
index 179eda3b588..46eac214777 100644
--- a/engines/mads/madsv2/forest/mads/inventory.h
+++ b/engines/mads/madsv2/forest/mads/inventory.h
@@ -41,6 +41,7 @@ enum {
web = 10,
planks = 11,
elm_leaves = 12,
+ sturdy_stick = 13,
stick = 14,
forked_stick = 15
};
diff --git a/engines/mads/madsv2/forest/rooms/room403.cpp b/engines/mads/madsv2/forest/rooms/room403.cpp
index d3c8378c15c..7eb0d09517d 100644
--- a/engines/mads/madsv2/forest/rooms/room403.cpp
+++ b/engines/mads/madsv2/forest/rooms/room403.cpp
@@ -183,14 +183,15 @@ static void room_403_init() {
}
static void room_403_anim1() {
- if (kernel_anim[aa[0]].frame == aainfo[0]._frame)
- return;
- aainfo[0]._frame = kernel_anim[aa[0]].frame;
- if (global[player_hyperwalked] != -1)
- return;
- int16 ax = scratch._92 - 1;
- aainfo[0]._frame = ax;
- kernel_reset_animation(aa[0], ax);
+ if (kernel_anim[aa[0]].frame != aainfo[0]._frame) {
+ aainfo[0]._frame = kernel_anim[aa[0]].frame;
+ }
+
+ if (global[player_hyperwalked] == -1) {
+ int16 newFrame = scratch._92 - 1;
+ aainfo[0]._frame = newFrame;
+ kernel_reset_animation(aa[0], newFrame);
+ }
}
static void room_403_anim2() {
@@ -215,19 +216,18 @@ static void room_403_anim2() {
}
}
- if (global[player_hyperwalked] != -1)
- return;
- int16 ax = scratch._92 - 1;
- if (ax <= aainfo[6]._frame)
- return;
- aainfo[6]._frame = ax;
- kernel_reset_animation(aa[6], ax);
+ if (global[player_hyperwalked] == -1) {
+ int16 newFrame = scratch._92 - 1;
+ if (newFrame > aainfo[6]._frame) {
+ aainfo[6]._frame = newFrame;
+ kernel_reset_animation(aa[6], newFrame);
+ }
+ }
}
static void room_403_anim3() {
- if (kernel_anim[aa[1]].frame == aainfo[1]._frame)
- return;
- aainfo[1]._frame = kernel_anim[aa[1]].frame;
+ if (kernel_anim[aa[1]].frame != aainfo[1]._frame)
+ aainfo[1]._frame = kernel_anim[aa[1]].frame;
}
static void room_403_anim4() {
@@ -302,77 +302,75 @@ static void room_403_anim4() {
}
}
- if (kernel.trigger != 7 && kernel.trigger != 28)
- return;
-
- int16 a4 = scratch._a4;
- if (a4 == 28) {
- kernel_timing_trigger(30, 28);
- aainfo[3]._val3 = 23;
- scratch._a4 = 29;
- } else if (a4 == 29) {
- aainfo[3]._val3 = 21;
- aainfo[3]._frame = 28;
- kernel_reset_animation(aa[3], 28);
- digi_play_build_ii('e', 10, 1);
- scratch._a4 = 30;
- } else if (a4 == 30) {
- aainfo[3]._val3 = 19;
- aainfo[3]._frame = 34;
- kernel_reset_animation(aa[3], 34);
- scratch._a4 = -1;
- } else if (a4 == 45) {
- kernel_timing_trigger(30, 28);
- aainfo[3]._val3 = 23;
- scratch._a4 = 46;
- } else if (a4 == 46) {
- aainfo[3]._val3 = 21;
- aainfo[3]._frame = 45;
- kernel_reset_animation(aa[3], 45);
- digi_play_build_ii('e', 10, 1);
- scratch._a4 = 47;
- } else if (a4 == 47) {
- aainfo[3]._val3 = 19;
- aainfo[3]._frame = 51;
- kernel_reset_animation(aa[3], 51);
- scratch._a4 = -1;
- } else if (a4 == 450) {
- kernel_timing_trigger(30, 28);
- aainfo[3]._val3 = 23;
- scratch._a4 = 451;
- } else if (a4 == 451) {
- aainfo[3]._val3 = 21;
- aainfo[3]._frame = 45;
- kernel_reset_animation(aa[3], 45);
- digi_play_build_ii('e', 10, 1);
- scratch._a4 = 452;
- } else if (a4 == 452) {
- aainfo[3]._val3 = 19;
- aainfo[3]._frame = 51;
- kernel_reset_animation(aa[3], 51);
- scratch._a4 = -1;
- } else if (a4 == 4900) {
- kernel_timing_trigger(30, 28);
- aainfo[3]._val3 = 23;
- scratch._a4 = 4901;
- } else if (a4 == 4901) {
- aainfo[3]._val3 = 21;
- aainfo[3]._frame = 49;
- kernel_reset_animation(aa[3], 49);
- digi_play_build_ii('e', 10, 1);
- scratch._a4 = 4902;
- } else if (a4 == 4902) {
- aainfo[3]._val3 = 19;
- aainfo[3]._frame = 55;
- kernel_reset_animation(aa[3], 55);
- scratch._a4 = -1;
+ if (kernel.trigger == 7 || kernel.trigger == 28) {
+ int16 a4 = scratch._a4;
+ if (a4 == 28) {
+ kernel_timing_trigger(30, 28);
+ aainfo[3]._val3 = 23;
+ scratch._a4 = 29;
+ } else if (a4 == 29) {
+ aainfo[3]._val3 = 21;
+ aainfo[3]._frame = 28;
+ kernel_reset_animation(aa[3], 28);
+ digi_play_build_ii('e', 10, 1);
+ scratch._a4 = 30;
+ } else if (a4 == 30) {
+ aainfo[3]._val3 = 19;
+ aainfo[3]._frame = 34;
+ kernel_reset_animation(aa[3], 34);
+ scratch._a4 = -1;
+ } else if (a4 == 45) {
+ kernel_timing_trigger(30, 28);
+ aainfo[3]._val3 = 23;
+ scratch._a4 = 46;
+ } else if (a4 == 46) {
+ aainfo[3]._val3 = 21;
+ aainfo[3]._frame = 45;
+ kernel_reset_animation(aa[3], 45);
+ digi_play_build_ii('e', 10, 1);
+ scratch._a4 = 47;
+ } else if (a4 == 47) {
+ aainfo[3]._val3 = 19;
+ aainfo[3]._frame = 51;
+ kernel_reset_animation(aa[3], 51);
+ scratch._a4 = -1;
+ } else if (a4 == 450) {
+ kernel_timing_trigger(30, 28);
+ aainfo[3]._val3 = 23;
+ scratch._a4 = 451;
+ } else if (a4 == 451) {
+ aainfo[3]._val3 = 21;
+ aainfo[3]._frame = 45;
+ kernel_reset_animation(aa[3], 45);
+ digi_play_build_ii('e', 10, 1);
+ scratch._a4 = 452;
+ } else if (a4 == 452) {
+ aainfo[3]._val3 = 19;
+ aainfo[3]._frame = 51;
+ kernel_reset_animation(aa[3], 51);
+ scratch._a4 = -1;
+ } else if (a4 == 4900) {
+ kernel_timing_trigger(30, 28);
+ aainfo[3]._val3 = 23;
+ scratch._a4 = 4901;
+ } else if (a4 == 4901) {
+ aainfo[3]._val3 = 21;
+ aainfo[3]._frame = 49;
+ kernel_reset_animation(aa[3], 49);
+ digi_play_build_ii('e', 10, 1);
+ scratch._a4 = 4902;
+ } else if (a4 == 4902) {
+ aainfo[3]._val3 = 19;
+ aainfo[3]._frame = 55;
+ kernel_reset_animation(aa[3], 55);
+ scratch._a4 = -1;
+ }
}
}
static void room_403_anim5() {
- if (kernel_anim[aa[2]].frame == aainfo[2]._frame)
- return;
- aainfo[2]._frame = kernel_anim[aa[2]].frame;
+ if (kernel_anim[aa[2]].frame != aainfo[2]._frame)
+ aainfo[2]._frame = kernel_anim[aa[2]].frame;
}
static void room_403_anim6() {
@@ -485,7 +483,7 @@ static void room_403_daemon() {
}
break;
- case 17: {
+ case 24: {
if (scratch._8c == 3) {
aa[1] = kernel_run_animation(kernel_name('E', 1), 102);
aainfo[1]._active = -1;
@@ -512,7 +510,7 @@ static void room_403_daemon() {
break;
}
- case 18:
+ case 25:
if (scratch._8e == 2) {
aa[2] = kernel_run_animation(kernel_name('R', 1), 101);
aainfo[2]._active = -1;
@@ -524,7 +522,7 @@ static void room_403_daemon() {
}
break;
- case 19:
+ case 26:
if (scratch._90 == 1) {
kernel_reset_animation(scratch._9a, 0);
kernel_reset_animation(scratch._9c, 0);
@@ -621,7 +619,7 @@ static void room_403_daemon() {
kernel_synch(KERNEL_ANIM, scratch._9a, KERNEL_NOW, 0);
global[g133] = 0;
kernel_flip_hotspot(words_wrench, false);
- inter_move_object(13, PLAYER);
+ inter_move_object(sturdy_stick, PLAYER);
clear_selected_item();
player.commands_allowed = true;
if (config_file.forest1 != 0)
Commit: f07cdc84ccea29f5a06e22d4e27285b7eaff6810
https://github.com/scummvm/scummvm/commit/f07cdc84ccea29f5a06e22d4e27285b7eaff6810
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T17:45:31+10:00
Commit Message:
MADS: FOREST: Clarify sturdy stick usage in room 404
Changed paths:
engines/mads/madsv2/forest/rooms/room404.cpp
diff --git a/engines/mads/madsv2/forest/rooms/room404.cpp b/engines/mads/madsv2/forest/rooms/room404.cpp
index ad4f418b476..359dc03a869 100644
--- a/engines/mads/madsv2/forest/rooms/room404.cpp
+++ b/engines/mads/madsv2/forest/rooms/room404.cpp
@@ -78,7 +78,7 @@ static void room_404_init1() {
global[g141] = 0;
if (global[g084] == 16) {
- object_set_quality(13, 0, 0L);
+ object_set_quality(sturdy_stick, 0, 0);
scratch._9c = kernel_run_animation_disp('r', 6, 0);
kernel_position_anim(scratch._9c, 123, 145, 92, 1);
scratch._9a = kernel_run_animation_disp('e', 6, 0);
@@ -100,7 +100,7 @@ static void room_404_init1() {
global[g131] = -1;
global[g141] = -1;
if (global[g084] == 16) {
- object_set_quality(13, 0, 0L);
+ object_set_quality(sturdy_stick, 0, 0);
kernel_reset_animation(scratch._9c, 1);
kernel_reset_animation(scratch._9a, 1);
} else {
@@ -169,7 +169,7 @@ static void room_404_init() {
kernel_timing_trigger(1, 110);
}
- object_set_quality(13, 0, -1L);
+ object_set_quality(sturdy_stick, 0, -1);
scratch._a2 = 0;
scratch._a4 = -1;
@@ -671,7 +671,7 @@ static void room_404_daemon() {
kernel_abort_animation(scratch._9a);
kernel_abort_animation(scratch._9c);
global[g084] = 16;
- object_set_quality(13, 0, 0L);
+ object_set_quality(sturdy_stick, 0, 0);
scratch._9c = kernel_run_animation_disp('r', 6, 0);
kernel_position_anim(scratch._9c, 123, 145, 92, 1);
scratch._9a = kernel_run_animation_disp('e', 6, 0);
@@ -710,8 +710,8 @@ static void room_404_daemon() {
kernel_synch(KERNEL_PLAYER, 0, KERNEL_NOW, 0);
global[g081] = -1;
kernel_flip_hotspot(words_hole, false);
- object_set_quality(13, 0, 0L);
- inter_move_object(13, NOWHERE);
+ object_set_quality(sturdy_stick, 0, 0);
+ inter_move_object(sturdy_stick, NOWHERE);
clear_selected_item();
if (global[walker_converse_state]) {
global[walker_converse_state] = 0;
@@ -726,7 +726,7 @@ static void room_404_daemon() {
case 104:
player.commands_allowed = false;
if (global[walker_converse_state])
- inter_spin_object(13);
+ inter_spin_object(sturdy_stick);
global[g150] = -1;
scratch._90 = 8;
break;
@@ -845,7 +845,7 @@ static void room_404_parser() {
}
if (global[player_selected_object] >= 0) {
- if (global[player_selected_object] == 13) {
+ if (global[player_selected_object] == sturdy_stick) {
if (!global[g081] && global[g082]) {
kernel.trigger_setup_mode = 1;
kernel_timing_trigger(2, 109);
Commit: bfca69b8a4900adec119da7ff2ed70e47ff48245
https://github.com/scummvm/scummvm/commit/bfca69b8a4900adec119da7ff2ed70e47ff48245
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T17:45:31+10:00
Commit Message:
MADS: FOREST: Fix journal and backpack icons shrinking when being opened
Changed paths:
engines/mads/madsv2/core/sprite.cpp
engines/mads/madsv2/core/sprite.h
engines/mads/madsv2/forest/extra.cpp
diff --git a/engines/mads/madsv2/core/sprite.cpp b/engines/mads/madsv2/core/sprite.cpp
index 9c06e9f4655..2346a8e6160 100644
--- a/engines/mads/madsv2/core/sprite.cpp
+++ b/engines/mads/madsv2/core/sprite.cpp
@@ -65,11 +65,6 @@ void sprite_draw(SeriesPtr series, int id, Buffer *buf, int target_x, int target
#undef translate
#undef interface
-void sprite_draw_clipped(SeriesPtr series, int id, int clip_x, Buffer *buf, int target_x, int target_y) {
- // TODO: implement clipped/partial draw; for now delegate to full draw
- sprite_draw(series, id, buf, target_x, target_y);
-}
-
//=== sprite_draw_scaled =====================================
#define three_d false /* depth coding OFF */
#define bresenham true /* bresenham ON */
diff --git a/engines/mads/madsv2/core/sprite.h b/engines/mads/madsv2/core/sprite.h
index 006be642afa..5daebd7c955 100644
--- a/engines/mads/madsv2/core/sprite.h
+++ b/engines/mads/madsv2/core/sprite.h
@@ -300,7 +300,6 @@ extern int sprite_error;
void sprite_draw(SeriesPtr series, int id, Buffer *buf, int target_x, int target_y);
-void sprite_draw_clipped(SeriesPtr series, int id, int clip_x, Buffer *buf, int target_x, int target_y);
void sprite_draw_scaled(SeriesPtr series, int id, Buffer *buf,
int target_x, int target_y, int scale_factor);
void sprite_draw_3d_scaled(SeriesPtr series, int id, Buffer *buf, Buffer *attr,
diff --git a/engines/mads/madsv2/forest/extra.cpp b/engines/mads/madsv2/forest/extra.cpp
index 540f436a56e..c7b10ac19c9 100644
--- a/engines/mads/madsv2/forest/extra.cpp
+++ b/engines/mads/madsv2/forest/extra.cpp
@@ -196,8 +196,8 @@ void open_interface(InterfaceButton button) {
if (button == JOURNAL_FLY) {
if (count != 23) {
int x = count * 2 + 46;
- int clip_x = 100 - count * 9;
- sprite_draw_clipped(series_list[0], 1, clip_x, &scr_inter, x, 30);
+ int scale = 100 - count * 9;
+ sprite_draw_scaled(series_list[0], 1, &scr_inter, 30, x, scale);
}
} else {
sprite_draw(series_list[0], 1, &scr_inter, JOURNAL_X, JOURNAL_Y);
@@ -206,8 +206,8 @@ void open_interface(InterfaceButton button) {
if (button == BP_FLY) {
if (count != 23) {
int x = count * 2 + 40;
- int clip_x = 100 - count * 9;
- sprite_draw_clipped(series_list[1], 1, clip_x, &scr_inter, x, 96);
+ int scale = 100 - count * 9;
+ sprite_draw_scaled(series_list[1], 1, &scr_inter, 96, x, scale);
}
} else {
sprite_draw(series_list[1], 1, &scr_inter, BP_X, BP_Y);
@@ -232,6 +232,7 @@ void open_interface(InterfaceButton button) {
}
buffer_rect_copy_2(scr_inter, scr_main, 168, 0, 168, 156, 152, 44);
+ buffer_rect_copy_2(scr_main, scr_live, 0, 156, 0, 156, 320, 44);
while (timer_read() - current_time < 2) {
}
@@ -258,8 +259,8 @@ void close_interface(InterfaceButton button) {
if (button == JOURNAL_FLY) {
if (count != 0) {
int x = count * 2 + 43;
- int clip_x = 100 - count * 9;
- sprite_draw_clipped(series_list[0], 1, clip_x, &scr_inter, x, 30);
+ int scale = 100 - count * 9;
+ sprite_draw_scaled(series_list[0], 1, &scr_inter, 30, x, scale);
} else {
sprite_draw(series_list[0], 1, &scr_inter, JOURNAL_X, JOURNAL_Y);
}
@@ -270,8 +271,8 @@ void close_interface(InterfaceButton button) {
if (button == BP_FLY) {
if (count != 0) {
int x = count * 2 + 37;
- int clip_x = 100 - count * 9;
- sprite_draw_clipped(series_list[1], 1, clip_x, &scr_inter, x, 96);
+ int scale = 100 - count * 9;
+ sprite_draw_scaled(series_list[1], 1, &scr_inter, 96, x, scale);
} else {
sprite_draw(series_list[1], 1, &scr_inter, BP_X, BP_Y);
}
@@ -293,6 +294,7 @@ void close_interface(InterfaceButton button) {
sprite_draw(series_list[3], 1, &scr_inter, DOOR_X, DOOR_Y);
buffer_rect_copy_2(scr_inter, scr_main, 168, 0, 168, 156, 152, 44);
+ buffer_rect_copy_2(scr_main, scr_live, 0, 156, 0, 156, 320, 44);
while (timer_read() - current_time < 2) {
}
Commit: 05f3556f74d31eeb02c558c7e628da26590c079b
https://github.com/scummvm/scummvm/commit/05f3556f74d31eeb02c558c7e628da26590c079b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-29T17:45:31+10:00
Commit Message:
MADS: FOREST; Room 404 anim cleanups
Changed paths:
engines/mads/madsv2/forest/rooms/room404.cpp
diff --git a/engines/mads/madsv2/forest/rooms/room404.cpp b/engines/mads/madsv2/forest/rooms/room404.cpp
index 359dc03a869..dc548bf2c95 100644
--- a/engines/mads/madsv2/forest/rooms/room404.cpp
+++ b/engines/mads/madsv2/forest/rooms/room404.cpp
@@ -214,15 +214,17 @@ static void room_404_anim1() {
int16 cur = kernel_anim[scratch.animation[0]].frame;
if (cur != aainfo[0]._frame)
aainfo[0]._frame = cur;
- if (global[player_hyperwalked] != -1)
- return;
- int16 f = scratch._92 - 1;
- aainfo[0]._frame = f;
- kernel_reset_animation(scratch.animation[0], f);
+
+ if (global[player_hyperwalked] == -1) {
+ int16 f = scratch._92 - 1;
+ aainfo[0]._frame = f;
+ kernel_reset_animation(scratch.animation[0], f);
+ }
}
static void room_404_anim2() {
int16 cur = kernel_anim[scratch.animation[9]].frame;
+
if (cur != aainfo[9]._frame) {
aainfo[9]._frame = cur;
if (flags[29] == 1) {
@@ -265,35 +267,31 @@ static void room_404_anim2() {
}
}
- if (kernel.trigger != 7 && kernel.trigger != 28)
- return;
-
- if (flags[29] == 1) {
- aainfo[9]._val3 = 13;
- aainfo[9]._frame = 18;
- kernel_reset_animation(scratch.animation[9], 18);
- scratch._a6 = -1;
- return;
- }
-
- if (scratch._a6 == 1) {
- global[g154] = 0;
- kernel_timing_trigger(30, 28);
- aainfo[9]._val3 = 13;
- aainfo[9]._frame = 3;
- kernel_reset_animation(scratch.animation[9], 3);
- scratch._a6 = 2;
- } else if (scratch._a6 == 2) {
- aainfo[9]._val3 = 11;
- aainfo[9]._frame = 5;
- kernel_reset_animation(scratch.animation[9], 5);
- scratch._a6 = 3;
- digi_play_build(404, 'e', 5, 1);
- } else if (scratch._a6 == 3) {
- aainfo[9]._val3 = 13;
- aainfo[9]._frame = 18;
- kernel_reset_animation(scratch.animation[9], 18);
- scratch._a6 = -1;
+ if (kernel.trigger == 7 || kernel.trigger == 28) {
+ if (flags[29] == 1) {
+ aainfo[9]._val3 = 13;
+ aainfo[9]._frame = 18;
+ kernel_reset_animation(scratch.animation[9], 18);
+ scratch._a6 = -1;
+ } else if (scratch._a6 == 1) {
+ global[g154] = 0;
+ kernel_timing_trigger(30, 28);
+ aainfo[9]._val3 = 13;
+ aainfo[9]._frame = 3;
+ kernel_reset_animation(scratch.animation[9], 3);
+ scratch._a6 = 2;
+ } else if (scratch._a6 == 2) {
+ aainfo[9]._val3 = 11;
+ aainfo[9]._frame = 5;
+ kernel_reset_animation(scratch.animation[9], 5);
+ scratch._a6 = 3;
+ digi_play_build(404, 'e', 5, 1);
+ } else if (scratch._a6 == 3) {
+ aainfo[9]._val3 = 13;
+ aainfo[9]._frame = 18;
+ kernel_reset_animation(scratch.animation[9], 18);
+ scratch._a6 = -1;
+ }
}
}
@@ -325,14 +323,13 @@ static void room_404_anim5() {
}
}
- if (kernel.trigger != 7 && kernel.trigger != 28)
- return;
-
- if (scratch._a6 == 5) {
- aainfo[3]._val3 = 14;
- aainfo[3]._frame = 9;
- kernel_reset_animation(scratch.animation[3], 9);
- scratch._a6 = -1;
+ if (kernel.trigger == 7 || kernel.trigger == 28) {
+ if (scratch._a6 == 5) {
+ aainfo[3]._val3 = 14;
+ aainfo[3]._frame = 9;
+ kernel_reset_animation(scratch.animation[3], 9);
+ scratch._a6 = -1;
+ }
}
}
@@ -363,19 +360,18 @@ static void room_404_anim6() {
}
}
- if (kernel.trigger != 7 && kernel.trigger != 28)
- return;
-
- if (scratch._a6 == 5) {
- aainfo[5]._val3 = 13;
- aainfo[5]._frame = 11;
- kernel_reset_animation(scratch.animation[5], 11);
- scratch._a6 = -1;
- } else if (scratch._a6 == 67) {
- aainfo[5]._val3 = 13;
- aainfo[5]._frame = 73;
- kernel_reset_animation(scratch.animation[5], 73);
- scratch._a6 = -1;
+ if (kernel.trigger == 7 || kernel.trigger == 28) {
+ if (scratch._a6 == 5) {
+ aainfo[5]._val3 = 13;
+ aainfo[5]._frame = 11;
+ kernel_reset_animation(scratch.animation[5], 11);
+ scratch._a6 = -1;
+ } else if (scratch._a6 == 67) {
+ aainfo[5]._val3 = 13;
+ aainfo[5]._frame = 73;
+ kernel_reset_animation(scratch.animation[5], 73);
+ scratch._a6 = -1;
+ }
}
}
@@ -479,33 +475,33 @@ static void room_404_anim8() {
static void room_404_anim9() {
int16 cur = kernel_anim[scratch.animation[8]].frame;
- if (cur == aainfo[8]._frame)
- return;
- aainfo[8]._frame = cur;
+ if (cur != aainfo[8]._frame) {
+ aainfo[8]._frame = cur;
- if (cur == 49) {
- if (imath_random(0, 100) > 50) {
- aainfo[8]._frame--;
- kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
- } else {
- aainfo[8]._frame = 21;
- kernel_reset_animation(scratch.animation[8], 21);
- }
- } else if (cur < 49) {
- if (cur == 19 || cur == 30 || cur == 40) {
- if (imath_random(0, 100) > 20) {
- aainfo[8]._frame--;
- kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
- }
- } else if (cur == 34 || cur == 46) {
- if (imath_random(0, 100) > 40) {
+ if (cur == 49) {
+ if (imath_random(0, 100) > 50) {
aainfo[8]._frame--;
kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
+ } else {
+ aainfo[8]._frame = 21;
+ kernel_reset_animation(scratch.animation[8], 21);
}
- } else if (cur == 20 || cur == 48) {
- if (imath_random(0, 100) > 60) {
- aainfo[8]._frame -= 2;
- kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
+ } else if (cur < 49) {
+ if (cur == 19 || cur == 30 || cur == 40) {
+ if (imath_random(0, 100) > 20) {
+ aainfo[8]._frame--;
+ kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
+ }
+ } else if (cur == 34 || cur == 46) {
+ if (imath_random(0, 100) > 40) {
+ aainfo[8]._frame--;
+ kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
+ }
+ } else if (cur == 20 || cur == 48) {
+ if (imath_random(0, 100) > 60) {
+ aainfo[8]._frame -= 2;
+ kernel_reset_animation(scratch.animation[8], aainfo[8]._frame);
+ }
}
}
}
More information about the Scummvm-git-logs
mailing list