Change subtitle timing from frames to seconds.

Based on patches by Emdek and Beliar. Closes #748.
master
cybersphinx 2011-12-11 19:42:56 +01:00
parent 8d309f5b22
commit fec056d409
58 changed files with 343 additions and 250 deletions

View File

@ -1,14 +1,14 @@
270 400 0 100 _("CAMPAIGN ONE")
260 420 0 100 _("WESTERN SECTOR")
270 400 0.0 4.0 _("CAMPAIGN ONE")
260 420 0.0 4.0 _("WESTERN SECTOR")
20 20 101 399 _("Dawn, July 4th, 2100")
0 0 101 399 _("Project HQ")
0 0 101 399 _("A New Era")
20 20 4.04 15.96 _("Dawn, July 4th, 2100")
0 0 4.04 15.96 _("Project HQ")
0 0 4.04 15.96 _("A New Era")
20 20 499 799 _("Morning, July 4th, 2100")
0 0 499 799 _("In-flight to Western Sector")
0 0 499 799 _("Team Alpha nears its destination")
20 20 19.96 31.96 _("Morning, July 4th, 2100")
0 0 19.96 31.96 _("In-flight to Western Sector")
0 0 19.96 31.96 _("Team Alpha nears its destination")
20 20 1250 1725 _("OBJECTIVE: Locate and recover neural synapse technology")
20 447 1250 1725 _("Establish a base, then search for a Pre-Collapse structure.")
0 0 1250 1725 _("This structure contains technology vital for the success of the Project.")
20 20 50.0 69.0 _("OBJECTIVE: Locate and recover neural synapse technology")
20 447 50.0 69.0 _("Establish a base, then search for a Pre-Collapse structure.")
0 0 50.0 69.0 _("This structure contains technology vital for the success of the Project.")

View File

@ -1,12 +1,12 @@
20 432 100 200 _("Transport destinations follow:")
0 0 100 200 _("Alpha - Western Sector....")
20 432 4.0 8.0 _("Transport destinations follow:")
0 0 4.0 8.0 _("Alpha - Western Sector....")
20 432 225 350 _("Alpha you are cleared for take-off.")
0 0 225 350 _("Good luck and good hunting.")
20 432 9.0 14.0 _("Alpha you are cleared for take-off.")
0 0 9.0 14.0 _("Good luck and good hunting.")
20 432 750 875 _("Approaching Landing Zone. Team Alpha Briefing commences.")
20 432 30.0 35.0 _("Approaching Landing Zone. Team Alpha Briefing commences.")
20 432 925 1150 _("Commander, you lead Team Alpha, one of three expeditionary teams sent out by the Project to recover artifacts from before the Collapse.")
20 432 37.0 46.0 _("Commander, you lead Team Alpha, one of three expeditionary teams sent out by the Project to recover artifacts from before the Collapse.")
20 432 1175 1240 _("Your destination lies in the western zone.")
20 432 47.0 49.6 _("Your destination lies in the western zone.")

View File

@ -1,7 +1,7 @@
20 20 0 60 _("Incoming Transmission")
20 20 0.0 2.4 _("Incoming Transmission")
20 20 70 250 _("Transmission from Beta Base")
20 452 70 250 _("Mayday! Mayday!")
0 0 70 250 _("Please assist!...")
20 20 2.8 10.0 _("Transmission from Beta Base")
20 452 2.8 10.0 _("Mayday! Mayday!")
0 0 2.8 10.0 _("Please assist!...")
20 20 730 844 _("Commander you are to assist Team Beta")
20 20 29.2 33.76 _("Commander you are to assist Team Beta")

View File

@ -1,11 +1,11 @@
//pos frame
//x y start end Text
20 432 0 100 _("Commander, we have recovered a command turret from the New Paradigm.")
20 432 0.0 4.0 _("Commander, we have recovered a command turret from the New Paradigm.")
20 432 125 375 _("This turret allows commanders to coordinate attacks between assigned units and to act as a delivery point for factories. Researching and using this technology has the highest priority.")
20 432 5.0 15.0 _("This turret allows commanders to coordinate attacks between assigned units and to act as a delivery point for factories. Researching and using this technology has the highest priority.")
20 432 425 475 _("Commander, we are receiving this transmission.")
20 432 17.0 19.0 _("Commander, we are receiving this transmission.")

View File

@ -1,5 +1,5 @@
//pos frame
//x y start end Text
20 432 150 325 _("Your attacks upon us will not go unpunished.")
0 0 150 325 _("You are in contravention of the New Paradigm.")
20 432 6.0 13.0 _("Your attacks upon us will not go unpunished.")
0 0 6.0 13.0 _("You are in contravention of the New Paradigm.")

View File

@ -1,9 +1,9 @@
//pos frame
//x y start end Text
20 432 200 370 _("All attack groups commence attack on enemy.")
0 0 200 370 _("They are in contravention of the New Paradigm.")
20 432 8.0 14.8 _("All attack groups commence attack on enemy.")
0 0 8.0 14.8 _("They are in contravention of the New Paradigm.")
20 432 385 450 _("They must be eradicated.")
20 432 15.4 18.0 _("They must be eradicated.")

View File

@ -1,8 +1,8 @@
//pos frame
//x y start end Text
20 432 25 175 _("Secure the LZ and establish a forward base.")
0 0 25 175 _("Then destroy the New Paradigm's base.")
20 432 1.0 7.0 _("Secure the LZ and establish a forward base.")
0 0 1.0 7.0 _("Then destroy the New Paradigm's base.")

View File

@ -1,10 +1,10 @@
20 432 150 325 _("Open your systems to me.")
0 0 150 325 _("Let me meld with your machines and cyborgs.")
20 432 6.0 13.0 _("Open your systems to me.")
0 0 6.0 13.0 _("Let me meld with your machines and cyborgs.")
20 432 330 550 _("We will create the perfect nexus of man and machine.")
0 0 330 550 _("Together we can create a new world.")
20 432 13.2 22.0 _("We will create the perfect nexus of man and machine.")
0 0 13.2 22.0 _("Together we can create a new world.")
20 432 575 675 _("I can give you power beyond your wildest dreams.")
20 432 23.0 27.0 _("I can give you power beyond your wildest dreams.")
20 432 700 925 _("Open your systems to me and you will be strong.")
0 0 700 925 _("I can raise you as gods upon the blasted earth.")
20 432 28.0 37.0 _("Open your systems to me and you will be strong.")
0 0 28.0 37.0 _("I can raise you as gods upon the blasted earth.")

View File

@ -1,6 +1,6 @@
//pos frame
//x y start end Text
20 432 25 125 _("When we failed to respond it became threatening.")
20 432 1.0 5.0 _("When we failed to respond it became threatening.")

View File

@ -1,6 +1,6 @@
20 432 75 337 _("Your interference in my plans for the New Paradigm will not go unpunished.")
0 0 75 337 _("You are weak flesh-things. I am strong and have many parts.")
20 432 3.0 13.48 _("Your interference in my plans for the New Paradigm will not go unpunished.")
0 0 3.0 13.48 _("You are weak flesh-things. I am strong and have many parts.")
20 432 350 600 _("You may defeat me here, but I shall rise again.")
0 0 350 600 _("As I once cleansed the world with fire, I will destroy you and your puny Project!!")
20 432 14.0 24.0 _("You may defeat me here, but I shall rise again.")
0 0 14.0 24.0 _("As I once cleansed the world with fire, I will destroy you and your puny Project!!")

View File

@ -1,13 +1,13 @@
//pos frame
//x y start end Text
20 432 25 190 _("Nexus then removed itself from the system, destroying its memory banks, and removing all traces of its external connections.")
20 432 1.0 7.6 _("Nexus then removed itself from the system, destroying its memory banks, and removing all traces of its external connections.")
20 432 200 475 _("We are not sure what Nexus is or who or what is directing it. Initial research links the Nexus Intruder Program with the Reed Corporation, the developer of the synaptic link.")
20 432 8.0 19.0 _("We are not sure what Nexus is or who or what is directing it. Initial research links the Nexus Intruder Program with the Reed Corporation, the developer of the synaptic link.")
20 432 500 710 _("We have ascertained that Nexus supplied the New Paradigm with most of its technology. Whatever Nexus is, it's more than a computer parasite.")
20 432 20.0 28.4 _("We have ascertained that Nexus supplied the New Paradigm with most of its technology. Whatever Nexus is, it's more than a computer parasite.")
20 432 725 900 _("It has technology and weapons. It knows about us, and it's not friendly.")
20 432 29.0 36.0 _("It has technology and weapons. It knows about us, and it's not friendly.")

View File

@ -1,16 +1,16 @@
//pos frame
//x y start end Text
20 432 65 190 _("The Synaptic Link was developed by the Reed Corporation in conjunction with the US Military.")
20 432 2.6 7.6 _("The Synaptic Link was developed by the Reed Corporation in conjunction with the US Military.")
20 432 200 550 _("The synaptic link allows for almost instantaneous transfer of thought from human operators to vehicle control and guidance systems. The synaptic link is fitted into the base of the skull circling the spinal column.")
20 432 8.0 22.0 _("The synaptic link allows for almost instantaneous transfer of thought from human operators to vehicle control and guidance systems. The synaptic link is fitted into the base of the skull circling the spinal column.")
20 432 625 750 _("The link has a hi-speed data transfer port that plugs into any computer system.")
20 432 25.0 30.0 _("The link has a hi-speed data transfer port that plugs into any computer system.")
20 432 925 1200 _("More importantly the development of the synaptic link made the creation of cyborgs possible. Early attempts at power suits for individual soldiers failed as they proved to be slow and unresponsive.")
20 432 37.0 48.0 _("More importantly the development of the synaptic link made the creation of cyborgs possible. Early attempts at power suits for individual soldiers failed as they proved to be slow and unresponsive.")
20 432 1350 1700 _("The synaptic link allowed soldiers to be placed in power suits that they controlled as easily as their own bodies. Power suits allowed infantry to function effectively on the battlefields of the 21st Century.")
20 432 54.0 68.0 _("The synaptic link allowed soldiers to be placed in power suits that they controlled as easily as their own bodies. Power suits allowed infantry to function effectively on the battlefields of the 21st Century.")
20 432 1715 1925 _("Unfortunately, this technology has fallen into the hands of the New Paradigm. It is imperative that you research and develop synaptic link technologies.")
20 432 68.6 77.0 _("Unfortunately, this technology has fallen into the hands of the New Paradigm. It is imperative that you research and develop synaptic link technologies.")

View File

@ -1,12 +1,12 @@
//pos frame
//x y start end Text
20 432 200 275 _("Warning!")
0 0 200 275 _("You are entering a restricted area.")
20 432 8.0 11.0 _("Warning!")
0 0 8.0 11.0 _("You are entering a restricted area.")
20 432 300 550 _("Return to your designated zone or be destroyed.")
0 0 300 550 _("Repeat. Return to your designated zone or be destroyed.")
0 0 300 550 _("Message Ends.")
20 432 12.0 22.0 _("Return to your designated zone or be destroyed.")
0 0 12.0 22.0 _("Repeat. Return to your designated zone or be destroyed.")
0 0 12.0 22.0 _("Message Ends.")

View File

@ -1,9 +1,9 @@
//pos frame
//x y start end Text
20 432 200 370 _("Your attacks upon us will not go unpunished.")
0 0 200 370 _("You are in contravention of the New Paradigm.")
20 432 8.0 14.8 _("Your attacks upon us will not go unpunished.")
0 0 8.0 14.8 _("You are in contravention of the New Paradigm.")
20 432 380 440 _("You will be destroyed.")
20 432 15.2 17.6 _("You will be destroyed.")

View File

@ -1,7 +1,7 @@
//pos frame
//x y start end Text
20 432 210 380 _("NEXUS, the synaptic technology you required has been recovered and sent for collection.")
20 432 8.4 15.2 _("NEXUS, the synaptic technology you required has been recovered and sent for collection.")

View File

@ -1,15 +1,15 @@
//pos frame
//x y start end Text
20 432 75 275 _("This Nexus Intruder Program is a self-mutating computer parasite. This makes it difficult to eradicate from systems once it has been identified.")
20 432 3.0 11.0 _("This Nexus Intruder Program is a self-mutating computer parasite. This makes it difficult to eradicate from systems once it has been identified.")
20 432 300 735 _("We have been unable to ascertain it's ultimate goal or function. In its initial form it seeks out and isolates sections of memory from the rest of the invaded system. It then begins to mutate itself and data structures, effectively reprogramming the system from within.")
20 432 12.0 29.4 _("We have been unable to ascertain it's ultimate goal or function. In its initial form it seeks out and isolates sections of memory from the rest of the invaded system. It then begins to mutate itself and data structures, effectively reprogramming the system from within.")
20 432 750 960 _("Further analysis was prevented by the manual shutdown of the system by our technicians to prevent additional contamination by the Nexus Intruder Program.")
20 432 30.0 38.4 _("Further analysis was prevented by the manual shutdown of the system by our technicians to prevent additional contamination by the Nexus Intruder Program.")
20 432 975 1225 _("However, the spread of the Nexus Intruder Program was not checked by New Paradigm. We need to capture New Paradigm's core systems to further investigate Nexus and determine its origins.")
20 432 39.0 49.0 _("However, the spread of the Nexus Intruder Program was not checked by New Paradigm. We need to capture New Paradigm's core systems to further investigate Nexus and determine its origins.")
20 432 1250 1425 _("Commander, you are to curtail the New Paradigm's activities in this sector and locate their main base.")
20 432 50.0 57.0 _("Commander, you are to curtail the New Paradigm's activities in this sector and locate their main base.")

View File

@ -1,8 +1,8 @@
//pos frame
//x y start end Text
20 432 150 375 _("You have done well.")
0 0 150 375 _("Once we have analyzed and authenticated the technology, your reward will follow.")
20 432 6.0 15.0 _("You have done well.")
0 0 6.0 15.0 _("Once we have analyzed and authenticated the technology, your reward will follow.")

View File

@ -1,7 +1,7 @@
//pos frame
//x y start end Text
20 432 25 190 _("Information discovered at the previous enemy base indicates that the New Paradigm recovered two synaptic link artifacts.")
20 432 2.08333333333 15.8333333333 _("Information discovered at the previous enemy base indicates that the New Paradigm recovered two synaptic link artifacts.")

View File

@ -1,18 +1,18 @@
270 400 0 100 _("CAMPAIGN TWO")
265 420 0 100 _("EASTERN SECTOR")
270 400 0.0 8.33333333333 _("CAMPAIGN TWO")
265 420 0.0 8.33333333333 _("EASTERN SECTOR")
20 20 105 285 _("Morning, September 1st, 2100")
0 0 105 285 _("In-flight to Eastern Sector")
0 0 105 285 _("Team Alpha approaches Beta Base")
20 20 8.75 23.75 _("Morning, September 1st, 2100")
0 0 8.75 23.75 _("In-flight to Eastern Sector")
0 0 8.75 23.75 _("Team Alpha approaches Beta Base")
20 20 320 912 _("BETA BASE MISSION: Eastern Sector")
20 447 320 912 _("Upon arrival you are to assume command of the base.")
0 0 320 912 _("You must defend and hold it at all costs.")
20 20 26.6666666667 76.0 _("BETA BASE MISSION: Eastern Sector")
20 447 26.6666666667 76.0 _("Upon arrival you are to assume command of the base.")
0 0 26.6666666667 76.0 _("You must defend and hold it at all costs.")
270 465 925 1125 _("THE COLLECTIVE")
270 465 77.0833333333 93.75 _("THE COLLECTIVE")
20 20 1730 1770 _("BETA BASE MISSION: Eastern Sector")
20 20 144.166666667 147.5 _("BETA BASE MISSION: Eastern Sector")
20 20 1800 2127 _("BETA BASE MISSION: Defend and Fortify")
20 447 1800 2127 _("Be sure to fortify the perimeter and establish anti-aircraft defenses.")
0 0 1800 2127 _("New technologies are available.")
20 20 150.0 177.25 _("BETA BASE MISSION: Defend and Fortify")
20 447 150.0 177.25 _("Be sure to fortify the perimeter and establish anti-aircraft defenses.")
0 0 150.0 177.25 _("New technologies are available.")

View File

@ -1,6 +1,6 @@
20 432 40 200 _("Commander, a new launch has been detected.")
0 0 40 200 _("It is likely to be targeted at your location.")
20 432 1.6 8.0 _("Commander, a new launch has been detected.")
0 0 1.6 8.0 _("It is likely to be targeted at your location.")
20 432 220 385 _("You are to start the immediate evacuation of Beta Base to the safe haven.")
20 432 8.8 15.4 _("You are to start the immediate evacuation of Beta Base to the safe haven.")

View File

@ -1,28 +1,28 @@
20 432 0 125 _("NASDA is the North American Strategic Defense Agency.")
20 432 0.0 10.4166666667 _("NASDA is the North American Strategic Defense Agency.")
20 432 150 435 _("NASDA was formed in 2076 to defend North America from conventional and nuclear attack. The construction of a satellite defense system began in 2081 and was completed in 2082.")
20 432 12.5 36.25 _("NASDA was formed in 2076 to defend North America from conventional and nuclear attack. The construction of a satellite defense system began in 2081 and was completed in 2082.")
20 432 450 590 _("In 2085 the NASDA satellites fired their nukes at Earth.")
20 432 37.5 49.1666666667 _("In 2085 the NASDA satellites fired their nukes at Earth.")
20 432 635 800 _("There were also ground-based sites. Many of these were destroyed in the nuclear counterstrikes, but there's bound to be some out there.")
20 432 52.9166666667 66.6666666667 _("There were also ground-based sites. Many of these were destroyed in the nuclear counterstrikes, but there's bound to be some out there.")
20 432 825 1000 _("The NASDA satellites also contained pulse-lasers designed to shoot down missiles approaching North America.")
20 432 68.75 83.3333333333 _("The NASDA satellites also contained pulse-lasers designed to shoot down missiles approaching North America.")
20 432 85.8333333333 106.25 _("During the counterstrikes, these LasSats failed to fire. If brought into operation, these LasSats could inflict major damage on ground targets.")
20 432 108.333333333 118.333333333 _("All nukes targeted at North America found their targets.")
20 447 119.166666667 141.666666667 _("We know that Nexus is searching for NASDA Central in the Eastern Sector. This was one of the land-based control centres for the satellites.")
20 453 142.5 147.083333333 _("If the centre is found intact, NEXUS may gain control of the satellites.")
20 432 148.333333333 154.166666667 _("Nexus claimed that it had already destroyed the world.")
20 432 1030 1275 _("During the counterstrikes, these LasSats failed to fire. If brought into operation, these LasSats could inflict major damage on ground targets.")
20 432 1300 1420 _("All nukes targeted at North America found their targets.")
20 447 1430 1700 _("We know that Nexus is searching for NASDA Central in the Eastern Sector. This was one of the land-based control centres for the satellites.")
20 453 1710 1765 _("If the centre is found intact, NEXUS may gain control of the satellites.")
20 432 1780 1850 _("Nexus claimed that it had already destroyed the world.")

View File

@ -1,2 +1,2 @@
20 432 25 150 _("NASDA Briefing follows...")
20 432 2.08333333333 12.5 _("NASDA Briefing follows...")

View File

@ -1,4 +1,4 @@
20 432 10 100 _("We've got to make sure that it can't do it again.")
20 432 0.4 4.0 _("We've got to make sure that it can't do it again.")

View File

@ -1,9 +1,9 @@
20 432 20 200 _("Analysis indicates that these systems were part of the control system for the NASDA satellites.")
0 0 20 200 _("It's now certain that Nexus was responsible for The Collapse.")
20 432 1.66666666667 16.6666666667 _("Analysis indicates that these systems were part of the control system for the NASDA satellites.")
0 0 1.66666666667 16.6666666667 _("It's now certain that Nexus was responsible for The Collapse.")
20 432 220 500 _("During the early stages of the Collapse, NASDA technicians switched off the infected systems in order to isolate the spread of Nexus. This seems to have prevented the LasSats from firing during the counterstrikes.")
20 432 18.3333333333 41.6666666667 _("During the early stages of the Collapse, NASDA technicians switched off the infected systems in order to isolate the spread of Nexus. This seems to have prevented the LasSats from firing during the counterstrikes.")
20 432 520 825 _("The ensuing nuclear-magnetic pulses wiped clean large amounts of NASDA's memory banks, shattering its core processor, and sent shockwaves blasting through Nexus.")
20 432 43.3333333333 68.75 _("The ensuing nuclear-magnetic pulses wiped clean large amounts of NASDA's memory banks, shattering its core processor, and sent shockwaves blasting through Nexus.")
20 432 875 1000 _("Nexus was fried as whole sections of its consciousness were obliterated in the counterstrikes.")
20 432 72.9166666667 83.3333333333 _("Nexus was fried as whole sections of its consciousness were obliterated in the counterstrikes.")

View File

@ -1,6 +1,6 @@
20 432 40 175 _("Commander we are detecting transmissions from this site that are reaching high orbit.")
20 432 1.6 7.0 _("Commander we are detecting transmissions from this site that are reaching high orbit.")
20 432 325 410 _("Nexus has now reconnected itself with the NASDA satellites.")
20 432 13.0 16.4 _("Nexus has now reconnected itself with the NASDA satellites.")
20 432 420 565 _("This poses a major threat to the Project and to our survival.")
20 432 16.8 22.6 _("This poses a major threat to the Project and to our survival.")

View File

@ -1,6 +1,6 @@
20 432 25 190 _("Analysis of NASDA Central leaves no doubt that The Collective has introduced the Nexus Intruder Virus to it.")
20 432 1.0 7.6 _("Analysis of NASDA Central leaves no doubt that The Collective has introduced the Nexus Intruder Virus to it.")
20 432 210 350 _("The nuclear reactor was going to be used to power a vast network of pre-Collapse computer systems.")
20 432 8.4 14.0 _("The nuclear reactor was going to be used to power a vast network of pre-Collapse computer systems.")

View File

@ -1,6 +1,6 @@
20 432 25 100 _("Commander, we have just detected a missile launch at these coordinates.")
20 432 2.08333333333 8.33333333333 _("Commander, we have just detected a missile launch at these coordinates.")
20 432 125 260 _("Team Gamma are sending a team to investigate the launch site and to prevent any further launches.")
20 432 10.4166666667 21.6666666667 _("Team Gamma are sending a team to investigate the launch site and to prevent any further launches.")
20 432 270 565 _("We can only assume that Nexus has gained control of this site. We cannot determine whether the missile is nuclear-armed or where it is targeted. You are advised to begin preparations for the evacuation of your base.")
20 432 22.5 47.0833333333 _("We can only assume that Nexus has gained control of this site. We cannot determine whether the missile is nuclear-armed or where it is targeted. You are advised to begin preparations for the evacuation of your base.")

View File

@ -1,5 +1,5 @@
20 432 225 425 _("Warriors of the Collective, I seek the location of NASDA Central.")
0 0 225 425 _("It lies somewhere in your territory.")
20 432 9.0 17.0 _("Warriors of the Collective, I seek the location of NASDA Central.")
0 0 9.0 17.0 _("It lies somewhere in your territory.")
20 432 450 635 _("Find it for me and I shall provide you with further weapons to aid you in your war against the Project.")
20 432 18.0 25.4 _("Find it for me and I shall provide you with further weapons to aid you in your war against the Project.")

View File

@ -1 +1 @@
20 432 10 325 _("As I once cleansed the world with fire, I will destroy you and your puny Project!!")
20 432 0.4 13.0 _("As I once cleansed the world with fire, I will destroy you and your puny Project!!")

View File

@ -1,8 +1,8 @@
20 432 25 290 _("Warriors of The Collective, more intruders are entering our territory.")
0 0 25 290 _("They are not part of the machine.")
20 432 2.08333333333 24.1666666667 _("Warriors of The Collective, more intruders are entering our territory.")
0 0 2.08333333333 24.1666666667 _("They are not part of the machine.")
20 432 300 625 _("Warriors of The Collective, attack and destroy kill all who resist the machine.")
0 0 300 625 _("Attack! Erase their presence from this area!")
20 432 25.0 52.0833333333 _("Warriors of The Collective, attack and destroy kill all who resist the machine.")
0 0 25.0 52.0833333333 _("Attack! Erase their presence from this area!")

View File

@ -1,11 +1,11 @@
20 432 25 250 _("Warriors of The Collective, we are ready to destroy the intruders who pollute our lands.")
20 432 2.08333333333 20.8333333333 _("Warriors of The Collective, we are ready to destroy the intruders who pollute our lands.")
20 432 275 625 _("Those of the Project are not of the machine. They have been denied its blessing. We who have embraced the power of the machine have a destiny to sweep away such weak creatures.")
20 432 22.9166666667 52.0833333333 _("Those of the Project are not of the machine. They have been denied its blessing. We who have embraced the power of the machine have a destiny to sweep away such weak creatures.")
20 432 650 775 _("They shall fall before the might of The Collective.")
20 432 54.1666666667 64.5833333333 _("They shall fall before the might of The Collective.")
20 432 800 925 _("Attack and destroy all who resist the machine.")
0 0 800 925 _("Attack!")
20 432 66.6666666667 77.0833333333 _("Attack and destroy all who resist the machine.")
0 0 66.6666666667 77.0833333333 _("Attack!")

View File

@ -1,6 +1,6 @@
20 432 10 320 _("Warriors of the Collective, Nexus has given us the power of the machine so that we can destroy all that oppose us.")
20 432 0.833333333333 26.6666666667 _("Warriors of the Collective, Nexus has given us the power of the machine so that we can destroy all that oppose us.")
20 432 325 500 _("Nexus now asks us to crush the Project.")
0 0 325 500 _("Cleanse and destroy!!")
20 432 27.0833333333 41.6666666667 _("Nexus now asks us to crush the Project.")
0 0 27.0833333333 41.6666666667 _("Cleanse and destroy!!")

View File

@ -1,8 +1,8 @@
20 432 240 380 _("Warriors of the Collective. You have performed well.")
0 0 240 380 _("Your just reward is on its way.")
20 432 9.6 15.2 _("Warriors of the Collective. You have performed well.")
0 0 9.6 15.2 _("Your just reward is on its way.")
20 432 390 525 _("The Project is fleeing its base and stealing your technology.")
0 0 390 525 _("You must stop them!")
20 432 15.6 21.0 _("The Project is fleeing its base and stealing your technology.")
0 0 15.6 21.0 _("You must stop them!")

View File

@ -1,4 +1,4 @@
20 432 10 100 _("Decoding Transmission...")
20 432 0.4 4.0 _("Decoding Transmission...")

View File

@ -1,17 +1,17 @@
260 400 0 100 _("CAMPAIGN THREE")
254 420 0 100 _("NORTHERN SECTOR")
260 400 0.0 8.33333333333 _("CAMPAIGN THREE")
254 420 0.0 8.33333333333 _("NORTHERN SECTOR")
20 20 113 479 _("TRANSPORT MISSION: Northern Sector")
20 447 113 479 _("Congratulations on your successful evacuation of Beta Base.")
0 0 113 479 _("NEXUS has gained access to nuclear weapons and is determined to destroy the Project.")
20 20 9.41666666667 39.9166666667 _("TRANSPORT MISSION: Northern Sector")
20 447 9.41666666667 39.9166666667 _("Congratulations on your successful evacuation of Beta Base.")
0 0 9.41666666667 39.9166666667 _("NEXUS has gained access to nuclear weapons and is determined to destroy the Project.")
20 20 1000 1225 _("Dusk, December 3rd, 2100")
0 0 1000 1225 _("In-flight to Northern Sector")
0 0 1000 1225 _("The Final Encounter")
20 20 83.3333333333 102.083333333 _("Dusk, December 3rd, 2100")
0 0 83.3333333333 102.083333333 _("In-flight to Northern Sector")
0 0 83.3333333333 102.083333333 _("The Final Encounter")
20 20 1278 1338 _("Briefing Commences")
20 20 106.5 111.5 _("Briefing Commences")
20 20 1347 1768 _("TRANSPORT MISSION: Northern Sector")
20 447 1347 1768 _("Once at the mountains secure an LZ. Then establish a forward base.")
0 0 1347 1768 _("Team Gamma will contact you there.")
20 20 112.25 147.333333333 _("TRANSPORT MISSION: Northern Sector")
20 447 112.25 147.333333333 _("Once at the mountains secure an LZ. Then establish a forward base.")
0 0 112.25 147.333333333 _("Team Gamma will contact you there.")

View File

@ -1,7 +1,7 @@
20 432 850 1025 _("Personnel at Gamma Base have confirmed that the nuclear missiles targeted at Alpha and Beta bases were launched from a silo in their sector.")
20 432 70.8333333333 85.4166666667 _("Personnel at Gamma Base have confirmed that the nuclear missiles targeted at Alpha and Beta bases were launched from a silo in their sector.")
20 432 1150 1250 _("Team Gamma is currently scouting the silo's location and monitoring NEXUS's activity.")
20 432 95.8333333333 104.166666667 _("Team Gamma is currently scouting the silo's location and monitoring NEXUS's activity.")
20 432 1275 1350 _("Commander, the success of the Project lies with you.")
20 432 106.25 112.5 _("Commander, the success of the Project lies with you.")

View File

@ -1,4 +1,4 @@
20 432 140 210 _("Time's up commander!!")
20 432 5.6 8.4 _("Time's up commander!!")

View File

@ -1,4 +1,4 @@
20 432 10 175 _("Commander, we are detecting NEXUS forces from these coordinates...")
20 432 0.4 7.0 _("Commander, we are detecting NEXUS forces from these coordinates...")

View File

@ -1,10 +1,10 @@
20 432 0 60 _("Glad you could make it, Commander.")
20 432 0.0 5.0 _("Glad you could make it, Commander.")
20 432 70 235 _("Enemy strike VTOLs have got us pinned down. We've managed to hold off cyborgs and tanks, but we haven't been able to make any progress along the valley.")
20 432 5.83333333333 19.5833333333 _("Enemy strike VTOLs have got us pinned down. We've managed to hold off cyborgs and tanks, but we haven't been able to make any progress along the valley.")
20 432 245 275 _("Can you try and reach us with anti-aircraft units?")
20 432 20.4166666667 22.9166666667 _("Can you try and reach us with anti-aircraft units?")

View File

@ -1,11 +1,11 @@
20 432 20 180 _("This is Team Alpha. Repeat, this is Team Alpha. We require immediate assistance.")
20 432 0.8 7.2 _("This is Team Alpha. Repeat, this is Team Alpha. We require immediate assistance.")
20 432 190 300 _("We are under heavy attack from cyborgs, laser tanks, and strike VTOLs.")
20 432 7.6 12.0 _("We are under heavy attack from cyborgs, laser tanks, and strike VTOLs.")
20 432 315 450 _("We were trying to reach your position, but have been ambushed.")
0 0 315 450 _("We're holed up in a valley at these coordinates.")
0 0 315 450 _("Please assist.")
20 432 12.6 18.0 _("We were trying to reach your position, but have been ambushed.")
0 0 12.6 18.0 _("We're holed up in a valley at these coordinates.")
0 0 12.6 18.0 _("Please assist.")

View File

@ -1,4 +1,4 @@
20 432 20 85 _("Coordinate Download Completed.")
20 432 0.8 3.4 _("Coordinate Download Completed.")
20 432 90 200 _("Commander, forces from Team Alpha escaped the nuclear attack on Alpha Base.")
20 432 3.6 8.0 _("Commander, forces from Team Alpha escaped the nuclear attack on Alpha Base.")

View File

@ -1,6 +1,6 @@
20 432 20 110 _("We are experiencing some interference from NEXUS.")
20 432 0.8 4.4 _("We are experiencing some interference from NEXUS.")
20 432 115 220 _("You must destroy his command centre before we lose control of key systems.")
20 432 4.6 8.8 _("You must destroy his command centre before we lose control of key systems.")

View File

@ -1,4 +1,4 @@
20 432 120 250 _("Commander, welcome to NEXUS!")
20 432 4.8 10.0 _("Commander, welcome to NEXUS!")

View File

@ -1,13 +1,13 @@
20 432 75 250 _("Well done Commander, you've prevented my last missile from launching.")
0 0 75 250 _("Such a shame. Your Project HQ would have made a wonderful target.")
20 432 3.0 10.0 _("Well done Commander, you've prevented my last missile from launching.")
0 0 3.0 10.0 _("Such a shame. Your Project HQ would have made a wonderful target.")
20 432 275 320 _("But it's good of you to join me here.")
20 432 11.0 12.8 _("But it's good of you to join me here.")
20 432 325 425 _("Buried beneath this silo is a tactical nuclear warhead that is set to go off soon.")
20 432 13.0 17.0 _("Buried beneath this silo is a tactical nuclear warhead that is set to go off soon.")
20 432 475 550 _("As I cannot launch it, it'll just have to blow where it is.")
20 432 19.0 22.0 _("As I cannot launch it, it'll just have to blow where it is.")
20 432 560 650 _("Please note that all entrances to the underground complex have been sealed. Goodbye, Commander.")
20 432 22.4 26.0 _("Please note that all entrances to the underground complex have been sealed. Goodbye, Commander.")

View File

@ -1,15 +1,15 @@
20 432 75 165 _("Ah, Commander, so good of you to join us here at Nexus base.")
20 432 3.0 6.6 _("Ah, Commander, so good of you to join us here at Nexus base.")
20 432 175 320 _("It was very useful having Gamma Team set up here in the mountains.")
0 0 175 320 _("Their absorption was such a pleasure.")
20 432 7.0 12.8 _("It was very useful having Gamma Team set up here in the mountains.")
0 0 7.0 12.8 _("Their absorption was such a pleasure.")
20 432 325 400 _("Thank you for all those useful technologies you've recovered.")
20 432 13.0 16.0 _("Thank you for all those useful technologies you've recovered.")
20 432 405 510 _("You and not those fools in the New Paradigm and the Collective.")
20 432 16.2 20.4 _("You and not those fools in the New Paradigm and the Collective.")
20 432 530 620 _("I'm now activating all your synaptic links so that your forces can meld with Nexus.")
20 432 21.2 24.8 _("I'm now activating all your synaptic links so that your forces can meld with Nexus.")
20 432 630 720 _("Your forces are now mine! Welcome to Nexus.")
20 432 25.2 28.8 _("Your forces are now mine! Welcome to Nexus.")
//_(" for me. Had I known you'd be so useful, I'd have hired ")

View File

@ -1,14 +1,14 @@
20 432 75 220 _("Commander, you're proving to be more resilient than I thought.")
0 0 75 220 _("Such a pity that you refused to join me earlier.")
20 432 3.0 8.8 _("Commander, you're proving to be more resilient than I thought.")
0 0 3.0 8.8 _("Such a pity that you refused to join me earlier.")
20 432 225 300 _("But no matter, as you'll not be here much longer.")
20 432 9.0 12.0 _("But no matter, as you'll not be here much longer.")
20 432 325 425 _("After much searching and reprogramming, I've finally got all my systems back on-line.")
20 432 13.0 17.0 _("After much searching and reprogramming, I've finally got all my systems back on-line.")
20 432 450 700 _("Once I destroyed the world with nuclear fire to clear the way for my cybernetic future.")
0 0 450 700 _("I now intend to further shape the world into my own image, by surgically removing unwanted growths like yourself.")
20 432 18.0 28.0 _("Once I destroyed the world with nuclear fire to clear the way for my cybernetic future.")
0 0 18.0 28.0 _("I now intend to further shape the world into my own image, by surgically removing unwanted growths like yourself.")
20 432 725 850 _("My Laser Satellites are now powering up. I intend to test them on you first, Commander!")
20 432 29.0 34.0 _("My Laser Satellites are now powering up. I intend to test them on you first, Commander!")

View File

@ -1,20 +1,20 @@
20 432 0 200 _("The Reed Corporation was founded by Dr Allan Reed. In 2080, Dr Reed landed a contract with the US Military to develop the synaptic link technology.")
20 432 0.0 16.6666666667 _("The Reed Corporation was founded by Dr Allan Reed. In 2080, Dr Reed landed a contract with the US Military to develop the synaptic link technology.")
20 432 225 350 _("After patenting the synaptic link five years later, Dr Reed continued his researches into cybernetics.")
20 432 18.75 29.1666666667 _("After patenting the synaptic link five years later, Dr Reed continued his researches into cybernetics.")
20 432 375 600 _("His goal this time was to allow transfer of human consciousness into data streams that could meld with computer technologies. While in Cyberspace the operator's bodies were kept in immersion tanks.")
20 432 31.25 50.0 _("His goal this time was to allow transfer of human consciousness into data streams that could meld with computer technologies. While in Cyberspace the operator's bodies were kept in immersion tanks.")
20 432 625 850 _("Backed again by the military, Dr Reed began work on the NEXUS Intruder Program. After three years with little progress, the military abandoned the Nexus Project and cut Dr Reed's funding.")
20 432 52.0833333333 70.8333333333 _("Backed again by the military, Dr Reed began work on the NEXUS Intruder Program. After three years with little progress, the military abandoned the Nexus Project and cut Dr Reed's funding.")
20 432 875 1000 _("Reports from the time claim that Dr Reed was furious and vowed to have his revenge on all who got in his way.")
20 432 72.9166666667 83.3333333333 _("Reports from the time claim that Dr Reed was furious and vowed to have his revenge on all who got in his way.")
20 432 1025 1225 _("It appears that Dr Reed may have succeeded in his goals and completed the Nexus Intruder Program.")
0 0 1025 1225 _("The similarity between NEXUS and Dr Reed is striking.")
20 432 85.4166666667 102.083333333 _("It appears that Dr Reed may have succeeded in his goals and completed the Nexus Intruder Program.")
0 0 85.4166666667 102.083333333 _("The similarity between NEXUS and Dr Reed is striking.")
20 432 1290 1485 _("Such an interesting history lesson. Now allow me to bring you up to date.")
0 0 1290 1485 _("The NEXUS Intruder Program was created in order to control fools like you.")
20 432 107.5 123.75 _("Such an interesting history lesson. Now allow me to bring you up to date.")
0 0 107.5 123.75 _("The NEXUS Intruder Program was created in order to control fools like you.")
20 432 1490 1760 _("It's very simple for me to infiltrate your systems and take them over. It's so simple, in fact, that you wouldn't even know I'm there. That is until I activate parts of myself etched into your core systems.")
20 432 124.166666667 146.666666667 _("It's very simple for me to infiltrate your systems and take them over. It's so simple, in fact, that you wouldn't even know I'm there. That is until I activate parts of myself etched into your core systems.")
20 432 1770 1850 _("Let's start by activating NEXUS in your core systems and see what happens!")
20 432 147.5 154.166666667 _("Let's start by activating NEXUS in your core systems and see what happens!")

View File

@ -1,5 +1,5 @@
20 432 25 200 _("Commander, we are experiencing interference with our equipment.")
0 0 25 200 _("Normal service will be restored as soon as possible.")
20 432 1.0 8.0 _("Commander, we are experiencing interference with our equipment.")
0 0 1.0 8.0 _("Normal service will be restored as soon as possible.")

View File

@ -1,9 +1,9 @@
20 432 75 165 _("Not long to go now, Commander. There's no where else for you to run to.")
20 432 3.0 6.6 _("Not long to go now, Commander. There's no where else for you to run to.")
20 432 210 325 _("However, if you vacate this facility, then I shall let you go free, as you are no longer a threat to me.")
20 432 8.4 13.0 _("However, if you vacate this facility, then I shall let you go free, as you are no longer a threat to me.")
20 432 350 425 _("You have five minutes to comply or else it's frying time!")
20 432 14.0 17.0 _("You have five minutes to comply or else it's frying time!")

View File

@ -1,6 +1,6 @@
20 432 20 150 _("Commander, we are under attack by NEXUS cyborgs and tanks. Please help as we....")
20 432 0.8 6.0 _("Commander, we are under attack by NEXUS cyborgs and tanks. Please help as we....")
20 432 225 360 _("...cannot hold out much longer. Repeat, please help, we cannot hold out much longer....")
20 432 9.0 14.4 _("...cannot hold out much longer. Repeat, please help, we cannot hold out much longer....")

View File

@ -1,18 +1,18 @@
//pos frame
//x y start end Text
20 20 0 550 _("Dusk, November 3rd, 2085")
0 0 0 550 _("Earth, High Orbit")
0 0 0 550 _("The Collapse")
20 20 0.0 22.0 _("Dusk, November 3rd, 2085")
0 0 0.0 22.0 _("Earth, High Orbit")
0 0 0.0 22.0 _("The Collapse")
20 20 975 1450 _("January 19th, 2086")
0 0 975 1450 _("North America")
0 0 975 1450 _("Nuclear Winter")
20 20 39.0 58.0 _("January 19th, 2086")
0 0 39.0 58.0 _("North America")
0 0 39.0 58.0 _("Nuclear Winter")
20 20 1500 2000 _("Midnight, April 10th, 2086")
0 0 1500 2000 _("Rocky Mountains")
0 0 1500 2000 _("Safety")
20 20 60.0 80.0 _("Midnight, April 10th, 2086")
0 0 60.0 80.0 _("Rocky Mountains")
0 0 60.0 80.0 _("Safety")
20 20 2300 4000 _("Dawn, April 4th, 2100")
0 0 2300 4000 _("North America")
0 0 2300 4000 _("A New Beginning")
20 20 92.0 160.0 _("Dawn, April 4th, 2100")
0 0 92.0 160.0 _("North America")
0 0 92.0 160.0 _("A New Beginning")

View File

@ -1,22 +1,22 @@
20 432 0 250 _("The NASDA system was developed to protect us. It was to be the ultimate nuclear deterrent. As it turned out, it was our executioner.")
20 432 0.0 10.0 _("The NASDA system was developed to protect us. It was to be the ultimate nuclear deterrent. As it turned out, it was our executioner.")
20 432 275 550 _("Reports said that NASDA developed a fault during a routine systems check. Don't believe it. Someone wanted it to take us out.")
20 432 11.0 22.0 _("Reports said that NASDA developed a fault during a routine systems check. Don't believe it. Someone wanted it to take us out.")
20 432 625 985 _("Those nukes were targeted on every major city around the world. NASDA was programmed to start the Collapse. When the counterstrikes launched, its laser defenses and anti-missile ground sites failed.")
20 432 25.0 39.4 _("Those nukes were targeted on every major city around the world. NASDA was programmed to start the Collapse. When the counterstrikes launched, its laser defenses and anti-missile ground sites failed.")
20 432 1010 1125 _("The world as we knew it ended...")
20 432 40.4 45.0 _("The world as we knew it ended...")
20 432 1150 1475 _("The Nuclear Winter hit hard. Disease and famine claimed most of us who had survived the nuclear strikes. Wars over cans of dog food took even more.")
20 432 46.0 59.0 _("The Nuclear Winter hit hard. Disease and famine claimed most of us who had survived the nuclear strikes. Wars over cans of dog food took even more.")
20 432 1500 1650 _("We'd fled Seattle early in '86. We'd heard that the Rocky Mountains were relatively rad-free.")
20 432 60.0 66.0 _("We'd fled Seattle early in '86. We'd heard that the Rocky Mountains were relatively rad-free.")
20 432 1675 1950 _("After fighting off bands of marauders we came across the base. Its personnel were dead. Killed by any one of a number of virulent diseases.")
20 432 67.0 78.0 _("After fighting off bands of marauders we came across the base. Its personnel were dead. Killed by any one of a number of virulent diseases.")
20 432 1975 2200 _("We cracked the doors, and cleared out the bodies inside.")
20 432 79.0 88.0 _("We cracked the doors, and cleared out the bodies inside.")
20 432 2225 2560 _("We knew that things would never be the same again, but we were determined to build a new world out of the ruins. We rebuilt the landing pads and brought the old systems back on-line.")
20 432 89.0 102.4 _("We knew that things would never be the same again, but we were determined to build a new world out of the ruins. We rebuilt the landing pads and brought the old systems back on-line.")
20 432 2600 2750 _("We were finally ready to begin the Project.")
20 432 104.0 110.0 _("We were finally ready to begin the Project.")

View File

@ -1,10 +1,10 @@
20 432 500 610 _("After many long months of struggle, we defeated NEXUS.")
20 432 41.6666666667 50.8333333333 _("After many long months of struggle, we defeated NEXUS.")
20 432 620 710 _("The war started by Dr Reed was over.")
20 432 51.6666666667 59.1666666667 _("The war started by Dr Reed was over.")
20 432 720 810 _("We have recovered many of the technologies we sought.")
20 432 60.0 67.5 _("We have recovered many of the technologies we sought.")
20 432 820 930 _("It is now time to use them to rebuild the world.")
20 432 68.3333333333 77.5 _("It is now time to use them to rebuild the world.")
20 432 940 1100 _("Slowly, out of the ashes we will rise again...")
20 432 78.3333333333 91.6666666667 _("Slowly, out of the ashes we will rise again...")

View File

@ -1045,6 +1045,11 @@ int seq_GetFrameNumber()
return frames;
}
double seq_GetFrameTime()
{
return videobuf_time;
}
// this controls the size of the video to display on screen
void seq_SetDisplaySize(int sizeX, int sizeY, int posX, int posY)
{
@ -1083,4 +1088,4 @@ void seq_setScanlineMode(SCANLINE_MODE mode)
SCANLINE_MODE seq_getScanlineMode(void)
{
return use_scanlines;
}
}

View File

@ -36,5 +36,6 @@ extern int seq_GetFrameNumber(void);
extern void seq_SetDisplaySize(int sizeX, int sizeY, int posX, int posY);
extern void seq_setScanlineMode(SCANLINE_MODE mode);
extern SCANLINE_MODE seq_getScanlineMode(void);
double seq_GetFrameTime();
#endif // __INCLUDED_LIB_SEQUENCE_SEQUENCE_H__

View File

@ -72,8 +72,8 @@ struct SEQTEXT
char pText[MAX_STR_LENGTH];
UDWORD x;
UDWORD y;
UDWORD startFrame;
UDWORD endFrame;
double startTime;
double endTime;
bool bSubtitle;
};
@ -281,7 +281,7 @@ bool seq_UpdateFullScreenVideo(int *pbClear)
unsigned int subMax = SUBTITLE_BOX_MIN + D_H2;
//get any text lines over bottom of the video
unsigned int realFrame = seq_GetFrameNumber();
double realTime = seq_GetFrameTime();
for (i = 0; i < MAX_TEXT_OVERLAYS; i++)
{
SEQTEXT seqtext = aSeqList[currentPlaySeq].aText[i];
@ -289,7 +289,7 @@ bool seq_UpdateFullScreenVideo(int *pbClear)
{
if (seqtext.bSubtitle)
{
if (((realFrame >= seqtext.startFrame) && (realFrame <= seqtext.endFrame)) ||
if (((realTime >= seqtext.startTime) && (realTime <= seqtext.endTime)) ||
aSeqList[currentPlaySeq].bSeqLoop) //if its a looped video always draw the text
{
if (subMin > seqtext.y && seqtext.y > SUBTITLE_BOX_MIN)
@ -303,7 +303,7 @@ bool seq_UpdateFullScreenVideo(int *pbClear)
}
}
if (realFrame >= seqtext.endFrame && realFrame < seqtext.endFrame)
if (realTime >= seqtext.endTime && realTime < seqtext.endTime)
{
if (pbClear != NULL)
{
@ -333,14 +333,14 @@ bool seq_UpdateFullScreenVideo(int *pbClear)
//call sequence player to download last frame
stillPlaying = seq_Update();
//print any text over the video
realFrame = seq_GetFrameNumber();//textFrame + 1;
realTime = seq_GetFrameTime();
for (i = 0; i < MAX_TEXT_OVERLAYS; i++)
{
SEQTEXT currentText = aSeqList[currentPlaySeq].aText[i];
if (currentText.pText[0] != '\0')
{
if (((realFrame >= currentText.startFrame) && (realFrame <= currentText.endFrame)) ||
if (((realTime >= currentText.startTime) && (realTime <= currentText.endTime)) ||
(aSeqList[currentPlaySeq].bSeqLoop)) //if its a looped video always draw the text
{
if (bMoreThanOneSequenceLine)
@ -399,7 +399,7 @@ bool seq_StopFullScreenVideo(void)
}
// add a string at x,y or add string below last line if x and y are 0
bool seq_AddTextForVideo(const char* pText, SDWORD xOffset, SDWORD yOffset, SDWORD startFrame, SDWORD endFrame, SEQ_TEXT_POSITIONING textJustification)
bool seq_AddTextForVideo(const char* pText, SDWORD xOffset, SDWORD yOffset, double startTime, double endTime, SEQ_TEXT_POSITIONING textJustification)
{
SDWORD sourceLength, currentLength;
char* currentText;
@ -476,8 +476,8 @@ bool seq_AddTextForVideo(const char* pText, SDWORD xOffset, SDWORD yOffset, SDWO
}
//set start and finish times for the objects
aSeqList[currentSeq].aText[aSeqList[currentSeq].currentText].startFrame = startFrame;
aSeqList[currentSeq].aText[aSeqList[currentSeq].currentText].endFrame = endFrame;
aSeqList[currentSeq].aText[aSeqList[currentSeq].currentText].startTime = startTime;
aSeqList[currentSeq].aText[aSeqList[currentSeq].currentText].endTime = endTime;
aSeqList[currentSeq].aText[aSeqList[currentSeq].currentText].bSubtitle = textJustification;
aSeqList[currentSeq].currentText++;
@ -494,7 +494,7 @@ bool seq_AddTextForVideo(const char* pText, SDWORD xOffset, SDWORD yOffset, SDWO
{
textJustification = SEQ_TEXT_POSITION;
}
seq_AddTextForVideo(&pText[currentLength + 1], 0, 0, startFrame, endFrame, textJustification);
seq_AddTextForVideo(&pText[currentLength + 1], 0, 0, startTime, endTime, textJustification);
}
return true;
}
@ -505,7 +505,8 @@ static bool seq_AddTextFromFile(const char *pTextName, SEQ_TEXT_POSITIONING text
char aTextName[MAX_STR_LENGTH];
char *pTextBuffer, *pCurrentLine, *pText;
UDWORD fileSize;
SDWORD xOffset, yOffset, startFrame, endFrame;
SDWORD xOffset, yOffset;
double startTime, endTime;
const char *seps = "\n";
// NOTE: The original game never had a fullscreen mode for FMVs on >640x480 screens.
@ -527,7 +528,7 @@ static bool seq_AddTextFromFile(const char *pTextName, SEQ_TEXT_POSITIONING text
{
if (*pCurrentLine != '/')
{
if (sscanf(pCurrentLine,"%d %d %d %d", &xOffset, &yOffset, &startFrame, &endFrame) == 4)
if (sscanf(pCurrentLine,"%d %d %lf %lf", &xOffset, &yOffset, &startTime, &endTime) == 4)
{
// Since all the positioning was hardcoded to specific values, we now calculate the
// ratio of our screen, compared to what the game expects and multiply that to x, y.
@ -545,7 +546,7 @@ static bool seq_AddTextFromFile(const char *pTextName, SEQ_TEXT_POSITIONING text
ASSERT(pText != NULL, "error parsing text file");
if (pText != NULL)
{
seq_AddTextForVideo(_(&pText[1]), xOffset, yOffset, startFrame, endFrame, textJustification);
seq_AddTextForVideo(_(&pText[1]), xOffset, yOffset, startTime, endTime, textJustification);
}
}
}

View File

@ -76,7 +76,7 @@ extern bool seq_StopFullScreenVideo(void);
//control
extern bool seq_GetVideoSize(SDWORD* pWidth, SDWORD* pHeight);
//text
extern bool seq_AddTextForVideo(const char* pText, SDWORD xOffset, SDWORD yOffset, SDWORD startTime, SDWORD endTime, SEQ_TEXT_POSITIONING textJustification);
extern bool seq_AddTextForVideo(const char* pText, SDWORD xOffset, SDWORD yOffset, double startTime, double endTime, SEQ_TEXT_POSITIONING textJustification);
//clear the sequence list
extern void seq_ClearSeqList(void);
//add a sequence to the list to be played

View File

@ -0,0 +1,86 @@
#!/usr/bin/env python2
# Convert subtitle timings from frames to seconds.
# Original author: Beliar (http://developer.wz2100.net/ticket/748)
# Changed to use subsecond precision.
def parseLine(line):
tokens = line.split('\t')
try:
tokens.remove("")
except ValueError:
pass
xpos = int(tokens[0])
ypos = int(tokens[1])
framestart = float(tokens[2])
frameend = float(tokens[3])
text = tokens[4]
return (xpos, ypos, framestart, frameend, text)
def convertFile(old_filename, new_filename, fps = 25):
text_file = open(old_filename)
new_file = open(new_filename, "w")
try:
for line in text_file:
if(line.strip()):
try:
valueList = list(parseLine(line))
valueList[2] /= fps
valueList[3] /= fps
new_file.write("{0}\t{1}\t\t{2}\t{3}\t{4}".format(*valueList))
except ValueError:
new_file.write(line)
continue
else:
new_file.write("\n")
finally:
new_file.close()
text_file.close()
def convertFiles(old_dir, new_dir, video_dir = "", fps = 25):
"""Converts the the subtitle files in old_dir and subdirectories
from using fps to using the actual time
@param old_dir The directory where the to be converted subtititle files are
@param new_dir Where the changed files should go
@param video_dir Directory where the video files, for which the
subtitles in old_dir where written, are. This is optional but recommended.
@param fps This is the default fps used to calculate the time.
Will be overwritten by the actual fps of the video if video_dir is set
"""
import os
use_video_fps = os.path.exists(video_dir)
if use_video_fps:
from theora import Theora
if use_video_fps:
print "Using fps values from the actual video files"
else:
print "Using the default fps: " + str(fps)
for dirpath, dirnames, filenames in os.walk (old_dir):
os.mkdir (os.path.join (new_dir, dirpath[1+len (old_dir):]))
for filename in filenames:
old_file = (os.path.join(dirpath, filename))
new_file = (os.path.join(new_dir, dirpath[1+len (old_dir):], filename))
if use_video_fps:
video_file = os.path.join(video_dir, dirpath[1+len (old_dir):], os.path.splitext(filename)[0] + ".ogg")
video = Theora(video_file)
fps = int(video.fps_ratio[0] / video.fps_ratio[1])
print old_file + "->" + new_file
convertFile(old_file, new_file, fps)
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description='Convert wz2100 subtitle files')
parser.add_argument('old_dir', metavar='old_dir', type=str,
help='Directory where the original subtitle files are')
parser.add_argument('new_dir', metavar='new_dir', type=str,
help='Directory where the new subtitle files go to')
parser.add_argument('-video_dir', '--v' , metavar='video_dir', type=str, dest="video_dir",
help='Directory where the original video files are. Used to get the fps from them.')
parser.add_argument('-fps', '--f', metavar='fps', type=int, dest="fps",
help='FPS to use. Defaults to 25')
got_args = parser.parse_args().__dict__
args = {}
for arg in got_args:
if got_args[arg]:
args[arg] = got_args[arg]
convertFiles(**args)