Code:
monitor_conditions I_CompareCounter start_battle = 0
camera_position_at_bookmark 1 ; Landscape shot (farm and windmill)-START
unit_order_move_relative eng_dis_general_1 0 300
unit_order_move_relative eng_dis_knights_1 0 300
unit_order_move_relative eng_dis_knights_2 0 300
unit_order_move_relative eng_dis_knights_3 0 300
unit_order_move_relative eng_heavy_bill_1 0 300
unit_order_move_relative eng_heavy_bill_2 0 300
unit_order_move_relative eng_dis_knights_4 0 300
unit_order_move_relative eng_yeomen_1 0 300
unit_order_move_relative eng_yeomen_2 0 300
unit_order_move_relative eng_yeomen_3 0 300
unit_order_move_relative eng_yeomen_4 0 300
unit_order_move_relative eng_yeomen_5 0 300
unit_order_move_relative eng_yeomen_6 0 300
unit_order_move_relative eng_yeomen_7 0 300
battle_wait 2
while I_CompareCounter start_battle = 1
end_while
;;;Intro landscape shot
;;;;;;;;;;;;;;;;;;;;;;;
;"1415, Northern France"
play_sound_event AGINCOURT_NARRATOR_1 tag = AGINCOURT_NARRATOR_1
battle_wait 2
while I_CompareCounter start_battle = 1
end_while
;;;Henry's army marching along road
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
camera_zoom_to_bookmark 2 30 ; over head shot of henry's army
battle_wait 5
;"The Hundred Years War continues.:
play_sound_event AGINCOURT_NARRATOR_2 tag = AGINCOURT_NARRATOR_2
battle_wait 4
while I_CompareCounter start_battle = 1
end_while
;;;;camera over henry
;;;;;;;;;;;;;;;;;;;;;
camera_position_at_bookmark 3 ; Road where Eng enter (right close-up)
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
; "After spending the Autumn month campaigning in Northern France, Henry V, King of England is making his way home."
play_sound_event AGINCOURT_NARRATOR_3 tag = AGINCOURT_NARRATOR_3
battle_wait 8
while I_CompareCounter start_battle = 1
end_while
;;;shot over French camp
;;;;;;;;;;;;;;;;;;;;;;;;;;;
camera_position_at_bookmark 6 ; Overhead shot of French camp
battle_wait 1
;"But first he must contend with a large army awaiting him near the town of Agincourt."
play_sound_event AGINCOURT_NARRATOR_4 tag = AGINCOURT_NARRATOR_4
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;;;;;Shot of French army
;;;;;;;;;;;;;;;;;;;;;;;;
camera_position_at_bookmark 21 ; French army
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
;;;;Shot of Town
;;;;;;;;;;;;;;;;;;
camera_position_at_bookmark 5 ; Overhead shot of Agincourt pt1
;;;************************************************************
;;; Look at French generals & the french army
;;;-----------------------------------------------------------
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 15 ; close up of French general 1
;battle_wait 1
;"The French army, led by John la Maingre and Charles d’ Albert is more a collection of arrogent nobles than an army, distracted by their own bitter rivalries.
play_sound_event AGINCOURT_NARRATOR_5 tag = AGINCOURT_NARRATOR_5
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 16 ; close up of French general 2 (follow him)
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;;; Move French group1 along road
;;;----------------------------------------------------------------------
unit_order_move_relative fra_general_2 0 100
unit_order_move_relative fra_chiv_knights_1a 0 100
unit_order_move_relative fra_chiv_knights_2a 0 100
camera_track_unit fra_general_2 front 8 1 -25
;;;------------------------------------------------------------------------------
;;;Move English to 'coming off road position' & get them to move towards position 1
;;;------------------------------------------------------------------------------
battle_wait 5
while I_CompareCounter start_battle = 1
end_while
unit_immediate_place eng_dis_general_1 -226.762, -187.262 -69 10.886
unit_immediate_place eng_dis_knights_1 -264.875, -185.188 41 2.807
unit_immediate_place eng_dis_knights_2 -255.256, -170.542 36 6.738
unit_immediate_place eng_dis_knights_3 -252.595, -154.884 12 7.672
unit_immediate_place eng_heavy_bill_1 -271.205, -177.868 34 3.606
unit_immediate_place eng_heavy_bill_2 -283.017, -193.595 60 1.990
unit_immediate_place eng_dis_knights_4 -279.872, -201.320 62 5.145
unit_immediate_place eng_yeomen_1 -241.149, -178.122, 30 8.509
unit_immediate_place eng_yeomen_2 -230.708, -157.315, 23 4.893
unit_immediate_place eng_yeomen_3 -275.787, -160.847, 33 2.212
unit_immediate_place eng_yeomen_4 -255.289, -197.273, 29 5.450
unit_immediate_place eng_yeomen_5 -298.654, -177.644, 83 5.588
unit_immediate_place eng_yeomen_6 -292.560, -214.850, 86 3.823
unit_immediate_place eng_yeomen_7 -268.302, -213.126, 88 6.102
unit_order_move eng_dis_knights_1 -207.594, -88.063, -1
unit_order_move eng_dis_knights_2 -182.588, -94.531, -1
unit_order_move eng_dis_knights_3 -203.524, -94.976, -1
unit_order_move eng_heavy_bill_1 -233.293, -101.524, 2
unit_order_move eng_heavy_bill_2 -123.461, -100.933, -1
unit_order_move eng_dis_knights_4 -160.895, -93.913, 0,
unit_order_move eng_yeomen_1 -280.087, -76.373, 28
unit_order_move eng_yeomen_2 -244.755, -93.495, 3
unit_order_move eng_yeomen_3 -210.006, -104.321, -1
unit_order_move eng_yeomen_4 -168.697, -103.790, -1
unit_order_move eng_yeomen_5 -139.107, -93.584, -1
unit_order_move eng_yeomen_6 -99.213, -91.268, -22
unit_order_move eng_yeomen_7 -100.853, -102.349, -14
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 9 ;side shot of Eng coming off road
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
; "While the English army is a disciplined force, led by King Henry, a shrewd commander and an inspiring presence."
play_sound_event AGINCOURT_NARRATOR_6 tag = AGINCOURT_NARRATOR_6
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 7 5 ;Close up of Henry from his right side
battle_wait 4
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 8 4 ; view behind Henry of of Eng coming off road
battle_wait 2
while I_CompareCounter start_battle = 1
end_while
;"As the sun rises on the 25th October, Henry moves his weary and hungry men into position, knowing they are largely outnumbered."
play_sound_event AGINCOURT_NARRATOR_7 tag = AGINCOURT_NARRATOR_7
battle_wait 9
while I_CompareCounter start_battle = 1
end_while
;;;******************************************************************************
;;;Shots of battlefield
;;;------------------------------------------------------------------------------
camera_position_at_bookmark 18 ;Point 1 view of battlefield
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;"Heavy rainfall overnight has left the newly ploughed field separating the two forces, a sodden muddy mess."
play_sound_event AGINCOURT_NARRATOR_8 tag = AGINCOURT_NARRATOR_8
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 19 20 ; Point 2 view of battlefield
;;;------------------------------------------------------------------------
;;; Teleport French group1 to battle start position
;;;----------------------------------------------------------------------
unit_immediate_place fra_general_2 -757.765, 120.540, -180, 29.641
unit_immediate_place fra_chiv_knights_1a -796.416, 116.579, 175 31.499
unit_immediate_place fra_chiv_knights_2a -774.006, 140.297, 177 33.830
;;;****************************************************************************
;;; Shots of relaxed French army
;;;--------------------------------------------------------------------------
battle_wait 7
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 20 ; French camp fire
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;"The French forces awake and take a leisurely breakfast, happy to wait and let disease and hunger grind down Henry’s Army."
play_sound_event AGINCOURT_NARRATOR_9 tag = AGINCOURT_NARRATOR_9
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
; unit_order_move_relative fra_dis_chiv_knig_3 0 30
; unit_order_move_relative fra_dis_chiv_knig_5 0 30
; unit_order_move_relative fra_dis_chiv_knig11 0 30
battle_wait 2
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 13 ; relaxed french
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;;;-----------------------------------------------------------------------------
;;; teleport Eng army to battle position 1 in formation
;;;----------------------------------------------------------------------------
unit_immediate_place eng_dis_general_1 -184.844, -88.415, -1 21.133
unit_immediate_place eng_dis_knights_1 -207.594, -88.063, -1 21.949
unit_immediate_place eng_dis_knights_2 -182.588, -94.531, -1 21.623
unit_immediate_place eng_dis_knights_3 -203.524, -94.976, -1 21.931
unit_immediate_place eng_heavy_bill_1 -233.293, -101.524, 2 20.583
unit_immediate_place eng_heavy_bill_2 -123.461, -100.933, -1 20.817
unit_immediate_place eng_dis_knights_4 -160.895, -93.913, 0 21.542
unit_immediate_place eng_yeomen_1 -280.087, -76.373, 28 34.117
unit_immediate_place eng_yeomen_2 244.755, -93.495, 3 40.926
unit_immediate_place eng_yeomen_3 -210.006, -104.321, -1 38.569
unit_immediate_place eng_yeomen_4 -168.697, -103.790, -1 60.078
unit_immediate_place eng_yeomen_5 -139.107, -93.584, -1 39.414
unit_immediate_place eng_yeomen_6 -99.213, -91.268, -22 39.938
unit_immediate_place eng_yeomen_7 -100.853, -102.349, -14 40.189
;;;-----------------------------------------------------------------------------
;;; move Eng army towards battle position 2 in formation
;;;----------------------------------------------------------------------------
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
unit_order_move_relative eng_dis_general_1 0 90
unit_order_move_relative eng_dis_knights_1 0 90
unit_order_move_relative eng_dis_knights_2 0 90
unit_order_move_relative eng_dis_knights_3 0 90
unit_order_move_relative eng_heavy_bill_1 0 90
unit_order_move_relative eng_heavy_bill_2 0 90
unit_order_move_relative eng_dis_knights_4 0 90
unit_order_move_relative eng_yeomen_1 0 90
unit_order_move_relative eng_yeomen_2 0 90
unit_order_move_relative eng_yeomen_3 0 90
unit_order_move_relative eng_yeomen_4 0 90
unit_order_move_relative eng_yeomen_5 0 90
unit_order_move_relative eng_yeomen_6 0 90
unit_order_move_relative eng_yeomen_7 0 90
;;;*********************************************************************
;;; Shots of Eng army moving into position 1
;;;-----------------------------------------------------------------------
battle_wait 5
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 10 ; eng army starting to move from position 1 to position 2
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
;"Knowing this only too well Henry moves his army forward, hoping to provoke the French into rash action."
play_sound_event AGINCOURT_NARRATOR_10 tag = AGINCOURT_NARRATOR_10
battle_wait 3
while I_CompareCounter start_battle = 1
end_while
camera_position_at_bookmark 11 ; Point1-following eng army moving from position 1 to position 2
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 12 1 ; Point2-following eng army moving from position 1 to position 2
battle_wait 4
while I_CompareCounter start_battle = 1
end_while
;"Henry’s gamble is successful."
play_sound_event AGINCOURT_NARRATOR_11 tag = AGINCOURT_NARRATOR_11
;;;--------------------------------------------------------------------------------------------------
;;;Move French towards battle position
;;;--------------------------------------------------------------------------------------------------
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
unit_order_move fra_dis_chiv_knig_1 -185.213, 183.259, -179 run
unit_order_move fra_dis_chiv_knig_2 -106.470, 183.674, -180 run
unit_order_move fra_dis_chiv_knig_3 -122.455, 248.714, -179 run
unit_order_move fra_dis_chiv_knig_4 -132.375, 183.985, -180 run
unit_order_move fra_crossbow_1 -78.575, 190.072, -179 run
unit_order_move fra_crossbow_2 -176.583, 190.499, -180 run
unit_order_move fra_dis_chiv_knig_5 -150.806, 227.054, -180 run
unit_order_move fra_dis_chiv_knig_6 -176.784, 226.796, -180 run
unit_order_move fra_dis_chiv_knig_7 -158.946, 183.474, -180 run
unit_order_move fra_serg_spearmen_1 -101.301, 248.914, -180 run
unit_order_move fra_serg_spearmen_2 -172.323, 248.801, 178 run
unit_order_move fra_chiv_knights_1 -201.045, 166.681, 179 run
unit_order_move fra_chiv_knights_2 -171.840, 236.934, -180 run
unit_order_move fra_dis_chiv_knig_8 -145.452, 190.022, -179 run
unit_order_move fra_dis_chiv_knig_9 -147.297, 248.818, -180 run
unit_order_move fra_dis_chiv_knig10 -98.537, 227.391, 179 run
unit_order_move fra_chiv_knights_3 -91.680, 166.402, 179 run
unit_order_move fra_dis_chiv_knig11 -136.175, 235.577, -180 run
unit_order_move fra_general_1 -124.856, 227.657, -180 run
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;;;-----------------------------------------------------------------------------
;;; teleport Eng army to battle position 2 in formation & plant stakes & make henry never rout
;;;----------------------------------------------------------------------------
unit_immediate_place eng_dis_general_1 -181.080, -17.841, -1 21.133
unit_immediate_place eng_dis_knights_1 -216.230, -25.426, -1 21.949
unit_immediate_place eng_dis_knights_2 -179.796, -3.408, -1 21.623
unit_immediate_place eng_dis_knights_3 -200.327, -3.566, -1 21.931
unit_immediate_place eng_heavy_bill_1 -239.817, -22.258, 2 20.583
unit_immediate_place eng_heavy_bill_2 -119.218, -23.444, -1 20.817
unit_immediate_place eng_dis_knights_4 -158.669, -3.042, 0 21.542
unit_immediate_place eng_yeomen_1 -271.688, 12.155, 28 28
unit_immediate_place eng_yeomen_2 -241.397, -3.124, 3 31
unit_immediate_place eng_yeomen_3 -220.219, -19.615, -1 35
unit_immediate_place eng_yeomen_4 -159.687, -18.999, -1 35
unit_immediate_place eng_yeomen_5 -137.490, -4.188, -1 30
unit_immediate_place eng_yeomen_6 -98.317, -2.234, -22 31
unit_immediate_place eng_yeomen_7 -107.482, -18.187, -14 31
unit_deploy_stakes eng_yeomen_1
unit_deploy_stakes eng_yeomen_2
unit_deploy_stakes eng_yeomen_3
unit_deploy_stakes eng_yeomen_4
unit_deploy_stakes eng_yeomen_5
unit_deploy_stakes eng_yeomen_6
unit_deploy_stakes eng_yeomen_7
unit_set_skirmish_mode eng_yeomen_1 off
unit_set_skirmish_mode eng_yeomen_2 off
unit_set_skirmish_mode eng_yeomen_3 off
unit_set_skirmish_mode eng_yeomen_4 off
unit_set_skirmish_mode eng_yeomen_5 off
unit_set_skirmish_mode eng_yeomen_6 off
unit_set_skirmish_mode eng_yeomen_7 off
unit_set_morale eng_dis_general_1 high
;;;*******************************************************************************
;;; SHOT of French rushing into position
;;;--------------------------------------------------------------------------------
camera_position_at_bookmark 4 ; French army on the move
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
;"Lines of unprepared knights and nobles push and shove amongst themselves, eager to engage their English counterparts."
play_sound_event AGINCOURT_NARRATOR_12 tag = AGINCOURT_NARRATOR_12
battle_wait 6
while I_CompareCounter start_battle = 2
end_while
camera_position_at_bookmark 17 ; French army on the move2
battle_wait 5
while I_CompareCounter start_battle = 1
end_while
;;;-------------------------------------------------------------------
;;; New Bookmarks
;;;-----------------------------------------------------------------
set_camera_bookmark 1, -230.261, 75.4718, 7.75472 -224.515, 75.6336, -0.403302 ; shot of stakes
set_camera_bookmark 2, -159.791, 73.8077, -15.8261 -164.508, 68.3991, -23.2231 ; eng men at arms in battle line
set_camera_bookmark 3, -183.138, 72.378, -15.6563 -177.229, 73.238, -23.7172 ; henry in battle line
set_camera_bookmark 4, -178.735, 89.2306, -61.7882 -177.809, 85.2347, -52.9387 ; Eng overview
set_camera_bookmark 5, -66.9693, 73.0177, 12.3019 -63.9737, 76.9757, 3.35406 ; Point 1 Shot of archers
set_camera_bookmark 6, -76.6844, 74.1679, 8.90294 -71.7806, 74.4139, 0.231824 ; Point 2 Shot of archers
;;;*********************************************************************************
;;; SHOT of Eng archers in position
;;;------------------------------------------------------------------------------
camera_position_at_bookmark 5 ; Point 1 Shot of archers
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 6 1 ; Point 2 Shot of archers
;"Henry's longbowmen will be the key to defeating the French, striking them down as they traverse the muddy field."
play_sound_event AGINCOURT_NARRATOR_13 tag = AGINCOURT_NARRATOR_13
;;--------------------------------------------------------------------
;;;teleport FrencH group0 to battle position
;;---------------------------------------------------------------------
unit_immediate_place fra_general_1 -124.856, 227.657, -180 26.596
unit_immediate_place fra_dis_chiv_knig_1 -185.213, 183.259, -179 26.912
unit_immediate_place fra_dis_chiv_knig_2 -106.470, 183.674, -180 26.258
unit_immediate_place fra_dis_chiv_knig_3 -122.455, 248.714, -179 25.942
unit_immediate_place fra_dis_chiv_knig_4 -132.375, 183.985, -180 26.272
unit_immediate_place fra_crossbow_1 -78.575, 190.072, -179 72.701
unit_immediate_place fra_crossbow_2 -176.583, 190.499, -180 83.668
unit_immediate_place fra_dis_chiv_knig_5 -150.806, 227.054, -180 26.080
unit_immediate_place fra_dis_chiv_knig_6 -176.784, 226.796, -180 26.576
unit_immediate_place fra_dis_chiv_knig_7 -158.946, 183.474, -180 26.892
unit_immediate_place fra_serg_spearmen_1 -101.301, 248.914, -180 21.449
unit_immediate_place fra_serg_spearmen_2 -172.323, 248.801, 178 21.791
unit_immediate_place fra_chiv_knights_1 -201.045, 166.681, 179 63.351
unit_immediate_place fra_chiv_knights_2 -171.840, 236.934, -180 49.735
unit_immediate_place fra_dis_chiv_knig_8 -145.452, 190.022, -179 26.572
unit_immediate_place fra_dis_chiv_knig_9 -147.297, 248.818, -180 25.219
unit_immediate_place fra_dis_chiv_knig10 -98.537, 227.391, 179 26.312
unit_immediate_place fra_chiv_knights_3 -91.680, 166.402, 179 94.343
unit_immediate_place fra_dis_chiv_knig11 -136.175, 235.577, -180 26.312
;;;-------------------------------------------------------------------
;;; New Bookmarks
;;;-----------------------------------------------------------------
set_camera_bookmark 1, -230.461, 75.2703, 6.77397 -224.787, 75.1728, -1.41667 ; shot of stakes
set_camera_bookmark 2, -159.791, 73.8077, -15.8261 -164.508, 68.3991, -23.2231 ; eng men at arms in battle line
set_camera_bookmark 3, -183.068, 72.7352, -15.8828 -178.101, 72.0334, -24.4757 ; henry in battle line
set_camera_bookmark 4, -178.735, 89.2306, -61.7882 -177.809, 85.2347, -52.9387 ; Eng overview
set_camera_bookmark 20, -66.7741, 74.373, 12.5999 -63.3339, 73.5149, 2.62728 ; Point 1 Shot of archers
set_camera_bookmark 21, -134.848, 75.1649, -0.950766 -64.8983, 72.6332, 2.85072 ; Point 2 Shot of archers
battle_wait 9
while I_CompareCounter start_battle = 1
end_while
; "To protect his longbowmen from cavalry, Henry has ordered them to plant sharpened stakes in front of their positions."
play_sound_event AGINCOURT_NARRATOR_14 tag = AGINCOURT_NARRATOR_14
battle_wait 2
while I_CompareCounter start_battle = 1
end_while
;;;************************************************************************
;;; SHOT of stakes
;;;-------------------------------------------------------------------------
camera_position_at_bookmark 1 ; shot of stakes
battle_wait 7
while I_CompareCounter start_battle = 1
end_while
;;;************************************************************************
;;; SHOT of men at arms, Henry and final shot of Eng army
;;;-------------------------------------------------------------------------
camera_position_at_bookmark 2 ; eng men at arms in battle line
battle_wait 1
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 3 4 ; henry in battle line
;"To emerge victorious, Henry must survive the upcoming battle and destroy or rout the French army before him, Only then can he make his way home.
play_sound_event AGINCOURT_NARRATOR_15 tag = AGINCOURT_NARRATOR_15
battle_wait 10
while I_CompareCounter start_battle = 1
end_while
camera_zoom_to_bookmark 4 15 ; Eng overview
battle_wait 7
set_counter start_battle 1
terminate_monitor
end_monitor
Given the agincourt example I'd be looking for real-time applications, it seems to me that's what whiles may be for. Could be useful for scripted camera movements, and so on, on the campaign map too, I'd guess.