Lots of fixes to athenasub, and more test cases.

Originally committed to SVN as r2449.
This commit is contained in:
Rodrigo Braz Monteiro 2008-11-11 03:54:20 +00:00
parent 5eb31ebae0
commit d8a85d0118
19 changed files with 735 additions and 107 deletions

View File

@ -43,5 +43,8 @@
#include "interfaces.h"
#include "range.h"
extern "C" ATHENA_API Athenasub::ILibAthenaSub* CreateLibAthenasub(const char* hostName);
#ifdef _WIN32
#include "athenawin.h"
#endif

View File

@ -66,8 +66,8 @@ namespace Athenasub {
int GetCode() { return code; }
private:
static const char* GetMessageChar(int code);
static const char* GetMessageFile(int code,const char *file,long line);
static std::string GetMessageChar(int code);
static std::string GetMessageFile(int code,const char *file,long line);
ExceptionList code;
};

View File

@ -64,6 +64,7 @@ namespace Athenasub {
class ISection;
class IDeltaCoder;
class CController;
class CAction;
// Smart pointers
@ -89,6 +90,7 @@ namespace Athenasub {
typedef shared_ptr<const IDialogue> ConstDialogue;
typedef shared_ptr<const IStyle> ConstStyle;
typedef shared_ptr<const IModel> ConstModel;
typedef shared_ptr<const ISection> ConstSection;
// Lists
@ -101,7 +103,7 @@ namespace Athenasub {
friend class CFormatHandler;
friend class CActionList;
friend class CController;
friend class IAction;
friend class CAction;
protected:
virtual void ProcessActionList(CActionList &actionList,int type=0) = 0;
@ -121,13 +123,16 @@ namespace Athenasub {
virtual void Save(wxOutputStream &output,Format format=Format(),const String encoding="UTF-8") = 0;
virtual void AddSection(String name) = 0;
virtual Section GetSection(String name) const = 0;
virtual Section GetSectionByIndex(size_t index) const = 0;
virtual size_t GetSectionCount() const = 0;
virtual Section GetSection(String name) = 0;
virtual Section GetSectionByIndex(size_t index) = 0;
public:
virtual ~IModel() {}
virtual ConstSection GetSection(String name) const = 0;
virtual ConstSection GetSectionByIndex(size_t index) const = 0;
virtual size_t GetSectionCount() const = 0;
virtual Controller CreateController()=0;
virtual Format GetFormat() const=0;
virtual void AddListener(View listener)=0;
@ -347,10 +352,10 @@ namespace Athenasub {
class IAction {
public:
virtual ~IAction() {}
virtual Action GetAntiAction(const IModel& model) const = 0;
virtual void Execute(IModel& model) = 0;
virtual Action GetAntiAction() const = 0;
virtual void Execute() = 0;
Section GetSection(const IModel& model,const String &name) const { return model.GetSection(name); }
//virtual Section GetSection(const String &name) const = 0;
};

View File

@ -42,29 +42,28 @@ using namespace Athenasub;
///////////////
// Constructor
ActionInsert::ActionInsert(Entry data,int line,const String &sName)
: entry(data), lineNumber(line), section(sName) {}
ActionInsert::ActionInsert(Model model,Entry data,int line,const String &sName)
: CAction(model), entry(data), lineNumber(line), section(sName) {}
/////////////////////////////////
// Create anti-action for insert
Action ActionInsert::GetAntiAction(const IModel& model) const
Action ActionInsert::GetAntiAction() const
{
(void) model;
String sect = section;
if (section.IsEmpty()) sect = entry->GetDefaultGroup();
return Action(new ActionRemove(lineNumber,sect));
return Action(new ActionRemove(GetModel(),lineNumber,sect));
}
/////////////////////
// Execute insertion
void ActionInsert::Execute(IModel& model)
void ActionInsert::Execute()
{
// Find the section to insert it on
String sectionName = section;
if (sectionName.IsEmpty()) sectionName = entry->GetDefaultGroup();
Section sect = GetSection(model,sectionName);
Section sect = GetSection(sectionName);
// Insert the line
sect->AddEntry(entry,lineNumber);
@ -77,28 +76,28 @@ void ActionInsert::Execute(IModel& model)
///////////////
// Constructor
ActionRemove::ActionRemove(int line,const String &sName)
: lineNumber(line), section(sName) {}
ActionRemove::ActionRemove(Model model,int line,const String &sName)
: CAction(model), lineNumber(line), section(sName) {}
/////////////////////////////////
// Create anti-action for remove
Action ActionRemove::GetAntiAction(const IModel& model) const
Action ActionRemove::GetAntiAction() const
{
Section sect = GetSection(model,section);
Section sect = GetSection(section);
Entry entry = sect->GetEntry(lineNumber);
return Action(new ActionInsert(entry,lineNumber,section));
return Action(new ActionInsert(GetModel(),entry,lineNumber,section));
}
///////////////////
// Execute removal
void ActionRemove::Execute(IModel& model)
void ActionRemove::Execute()
{
// Find the section to remote it from
String sect = section;
if (sect.IsEmpty()) THROW_ATHENA_EXCEPTION(Exception::TODO); // TODO
Section section = GetSection(model,sect);
Section section = GetSection(sect);
// Remove the line
section->RemoveEntryByIndex(lineNumber);
@ -109,19 +108,19 @@ void ActionRemove::Execute(IModel& model)
////////////////
// Constructors
ActionModify::ActionModify(Entry data,int line,const String &sName,bool _noTextFields)
: entry(data), lineNumber(line), section(sName), noTextFields(_noTextFields) {}
ActionModify::ActionModify(Model model,Entry data,int line,const String &sName,bool _noTextFields)
: CAction(model), entry(data), lineNumber(line), section(sName), noTextFields(_noTextFields) {}
ActionModify::ActionModify(shared_ptr<void> _delta,int line,const String &sName)
: delta(_delta), lineNumber(line), section(sName), noTextFields(false) {}
ActionModify::ActionModify(Model model,shared_ptr<void> _delta,int line,const String &sName)
: CAction(model), delta(_delta), lineNumber(line), section(sName), noTextFields(false) {}
/////////////////////////////////
// Create anti-action for insert
Action ActionModify::GetAntiAction(const IModel& model) const
Action ActionModify::GetAntiAction() const
{
// Get section and original line
Section sect = GetSection(model,section);
Section sect = GetSection(section);
Entry oldEntry = sect->GetEntry(lineNumber);
// Try to get a delta
@ -130,24 +129,24 @@ Action ActionModify::GetAntiAction(const IModel& model) const
VoidPtr _delta;
if (entry) _delta = deltaCoder->EncodeDelta(entry,oldEntry,!noTextFields);
else _delta = deltaCoder->EncodeReverseDelta(delta,oldEntry);
return Action(new ActionModify(_delta,lineNumber,section));
return Action(new ActionModify(GetModel(),_delta,lineNumber,section));
}
// Store the whole original line
else {
return Action(new ActionModify(oldEntry,lineNumber,section,noTextFields));
return Action(new ActionModify(GetModel(),oldEntry,lineNumber,section,noTextFields));
}
}
/////////////////////
// Execute insertion
void ActionModify::Execute(IModel& model)
void ActionModify::Execute()
{
// Find the section to modify
String sectionName = section;
if (sectionName.IsEmpty()) sectionName = entry->GetDefaultGroup();
Section sect = GetSection(model,sectionName);
Section sect = GetSection(sectionName);
// Modify the line
if (delta) {
@ -160,18 +159,18 @@ void ActionModify::Execute(IModel& model)
////////////////////////// Batch Modify line //////////////////////////
ActionModifyBatch::ActionModifyBatch(std::vector<Entry> _entries, std::vector<shared_ptr<void> > _deltas, Selection _selection,const String &_section,bool _noTextFields)
: entries(_entries), deltas(_deltas), selection(_selection), section(_section), noTextFields(_noTextFields) {}
ActionModifyBatch::ActionModifyBatch(Model model,std::vector<Entry> _entries, std::vector<shared_ptr<void> > _deltas, Selection _selection,const String &_section,bool _noTextFields)
: CAction(model), entries(_entries), deltas(_deltas), selection(_selection), section(_section), noTextFields(_noTextFields) {}
ActionModifyBatch::ActionModifyBatch(Selection _selection,const String &_section,bool _noTextFields)
: selection(_selection), section(_section), noTextFields(_noTextFields) {}
ActionModifyBatch::ActionModifyBatch(Model model,Selection _selection,const String &_section,bool _noTextFields)
: CAction(model), selection(_selection), section(_section), noTextFields(_noTextFields) {}
Action ActionModifyBatch::GetAntiAction(const IModel& model) const
Action ActionModifyBatch::GetAntiAction() const
{
// Old, slow method
if (false) {
// Get section
Section sect = GetSection(model,section);
Section sect = GetSection(section);
size_t len = selection->GetCount();
std::vector<VoidPtr> _deltas(len);
std::vector<Entry> oldEntries(len);
@ -192,18 +191,18 @@ Action ActionModifyBatch::GetAntiAction(const IModel& model) const
else oldEntries[i] = oldEntry;
}
return Action(new ActionModifyBatch(oldEntries,_deltas,selection,section,noTextFields));
return Action(new ActionModifyBatch(GetModel(),oldEntries,_deltas,selection,section,noTextFields));
}
else {
// Get section
Section sect = GetSection(model,section);
Section sect = GetSection(section);
size_t len = selection->GetCount();
// OK, this block warrants some explanation:
// Copying smart pointers around all the time is quite slow, so I just create them once and
// access the final copies.
ActionModifyBatch* antiPtr = new ActionModifyBatch(selection,section,noTextFields);
ActionModifyBatch* antiPtr = new ActionModifyBatch(GetModel(),selection,section,noTextFields);
Action anti = Action(antiPtr);
std::vector<VoidPtr>& _deltas = antiPtr->deltas;
std::vector<Entry>& oldEntries = antiPtr->entries;
@ -230,13 +229,13 @@ Action ActionModifyBatch::GetAntiAction(const IModel& model) const
}
}
void ActionModifyBatch::Execute(IModel& model)
void ActionModifyBatch::Execute()
{
// Find the section to modify
size_t len = selection->GetCount();
String sectionName = section;
if (sectionName.IsEmpty()) sectionName = entries[0]->GetDefaultGroup();
Section sect = GetSection(model,sectionName);
Section sect = GetSection(sectionName);
// For each line...
for (size_t i=0;i<len;i++) {

View File

@ -40,35 +40,47 @@
namespace Athenasub {
// Action base class
class CAction : public IAction {
private:
mutable Model model;
protected:
CAction(Model _model) { model = model; }
Model GetModel() const { return model; }
Section GetSection(String name) const { return model->GetSection(name); }
};
// Insert line
class ActionInsert : public IAction {
class ActionInsert : public CAction {
private:
Entry entry;
const String section;
int lineNumber;
public:
ActionInsert(Entry entry,int line,const String &section);
ActionInsert(Model model,Entry entry,int line,const String &section);
Action GetAntiAction(const IModel& model) const;
void Execute(IModel& model);
Action GetAntiAction() const;
void Execute();
};
// Remove line
class ActionRemove : public IAction {
class ActionRemove : public CAction {
private:
const String section;
int lineNumber;
public:
ActionRemove(int line,const String &section);
ActionRemove(Model model,int line,const String &section);
Action GetAntiAction(const IModel& model) const;
void Execute(IModel& model);
Action GetAntiAction() const;
void Execute();
};
// Modify line
class ActionModify : public IAction {
class ActionModify : public CAction {
private:
Entry entry;
VoidPtr delta;
@ -77,15 +89,15 @@ namespace Athenasub {
bool noTextFields;
public:
ActionModify(Entry entry,int line,const String &section,bool noTextFields);
ActionModify(shared_ptr<void> delta,int line,const String &section);
ActionModify(Model model,Entry entry,int line,const String &section,bool noTextFields);
ActionModify(Model model,shared_ptr<void> delta,int line,const String &section);
Action GetAntiAction(const IModel& model) const;
void Execute(IModel& model);
Action GetAntiAction() const;
void Execute();
};
// Modify several lines
class ActionModifyBatch : public IAction {
class ActionModifyBatch : public CAction {
private:
std::vector<Entry> entries;
std::vector<VoidPtr> deltas;
@ -93,12 +105,12 @@ namespace Athenasub {
const String section;
bool noTextFields;
ActionModifyBatch(Selection selection,const String &section,bool noTextFields);
ActionModifyBatch(Model model,Selection selection,const String &section,bool noTextFields);
public:
ActionModifyBatch(std::vector<Entry> entries,std::vector<VoidPtr> deltas,Selection selection,const String &section,bool noTextFields);
ActionModifyBatch(Model model,std::vector<Entry> entries,std::vector<VoidPtr> deltas,Selection selection,const String &section,bool noTextFields);
Action GetAntiAction(const IModel& model) const;
void Execute(IModel& model);
Action GetAntiAction() const;
void Execute();
};
}

View File

@ -107,7 +107,7 @@ void CActionList::Finish()
// Create an "insert line" action
void CActionList::InsertLine(Entry line,int position,const String section)
{
Action action = Action (new ActionInsert(line,position,section));
Action action = Action (new ActionInsert(model.lock(),line,position,section));
AddAction(action);
}
@ -116,7 +116,7 @@ void CActionList::InsertLine(Entry line,int position,const String section)
// Create a "remove line" action
void CActionList::RemoveLine(int position,const String section)
{
Action action = Action (new ActionRemove(position,section));
Action action = Action (new ActionRemove(model.lock(),position,section));
AddAction(action);
}
@ -127,7 +127,7 @@ Entry CActionList::ModifyLine(int position,const String section)
{
Section sect = Model(model)->GetSection(section);
Entry entry = sect->GetEntry(position)->Clone();
Action action = Action (new ActionModify(entry,position,section,false));
Action action = Action (new ActionModify(model.lock(),entry,position,section,false));
AddAction(action);
return entry;
}
@ -152,6 +152,6 @@ std::vector<Entry> CActionList::ModifyLines(Selection selection,const String sec
}
// Generate the action
AddAction(Action(new ActionModifyBatch(entries,std::vector<VoidPtr>(),selection,section,false)));
AddAction(Action(new ActionModifyBatch(model.lock(),entries,std::vector<VoidPtr>(),selection,section,false)));
return entries;
}

View File

@ -178,7 +178,9 @@ void Time::ParseString(const String &data)
// Got a digit
else if (cur != ' ') {
if (cur < '0' || cur > '9') THROW_ATHENA_EXCEPTION(Exception::Parse_Error);
if (cur < '0' || cur > '9') {
THROW_ATHENA_EXCEPTION(Exception::Parse_Error);
}
curValue = curValue * 10 + (int)(cur-'0');
nDigits++;

View File

@ -40,13 +40,13 @@ using namespace Athenasub;
////////////////
// Constructors
Exception::Exception(ExceptionList _code)
: std::exception(GetMessageChar(_code))
: std::exception(GetMessageChar(_code).c_str())
{
code = _code;
}
Exception::Exception(ExceptionList _code,const char* file,const long line)
: std::exception(GetMessageFile(_code,file,line))
: std::exception(GetMessageFile(_code,file,line).c_str())
{
code = _code;
}
@ -54,21 +54,21 @@ Exception::Exception(ExceptionList _code,const char* file,const long line)
//////////////////////
// Get message string
const char* Exception::GetMessageChar(int code)
std::string Exception::GetMessageChar(int code)
{
switch (code) {
case Unknown: return "Unknown.";
case No_Format_Handler: return "Could not find a suitable format handler.";
case Invalid_ActionList: return "Invalid manipulator.";
case Section_Already_Exists: return "The specified section already exists in this model.";
case Unknown_Format: return "The specified file format is unknown.";
case Parse_Error: return "Parse error.";
case Unsupported_Format_Feature: return "This feature is not supported by this format.";
case Invalid_Token: return "Invalid type for this token.";
case Out_Of_Range: return "Out of range.";
case Invalid_Section: return "Invalid section.";
case Internal_Error: return "Internal error.";
case TODO: return "TODO";
case Unknown: return "Unknown.";
case No_Format_Handler: return "Could not find a suitable format handler.";
case Invalid_ActionList: return "Invalid manipulator.";
case Section_Already_Exists: return "The specified section already exists in this model.";
case Unknown_Format: return "The specified file format is unknown.";
case Parse_Error: return "Parse error.";
case Unsupported_Format_Feature: return "This feature is not supported by this format.";
case Invalid_Token: return "Invalid type for this token.";
case Out_Of_Range: return "Out of range.";
case Invalid_Section: return "Invalid section.";
case Internal_Error: return "Internal error.";
case TODO: return "TODO";
}
return "Invalid code.";
}
@ -76,12 +76,12 @@ const char* Exception::GetMessageChar(int code)
///////////////////////////////////////////
// Get the message string for the filename
const char* Exception::GetMessageFile(int code,const char *file,long line)
std::string Exception::GetMessageFile(int code,const char *file,long line)
{
static std::string str = GetMessageChar(code);
std::string str = GetMessageChar(code);
str = str + " (" + file + ":";
char buffer[16];
_itoa_s(line,buffer,10);
str = str + buffer + ")";
return str.c_str();
return str;
}

View File

@ -165,7 +165,10 @@ void FormatHandlerASS::Save(wxOutputStream &file,const String encoding)
size_t totalSections = GetSectionCount();
for (size_t i=0;i<totalSections;i++) {
String name = GetSectionByIndex(i)->GetName();
if (find(sections.begin(),sections.end(),name) != sections.end()) sections.push_back(name);
// If not found on the list, add to it
if (find(sections.begin(),sections.end(),name) == sections.end()) {
sections.push_back(name);
}
}
// Write sections

View File

@ -87,10 +87,10 @@ void CModel::ProcessActionList(CActionList &_actionList,int type)
std::list<Action>::const_iterator cur;
for (cur=actions->actions.begin();cur!=actions->actions.end();cur++) {
// Inserts the opposite into the undo action first
if (actions->undoAble) undo->AddActionStart((*cur)->GetAntiAction(*this));
if (actions->undoAble) undo->AddActionStart((*cur)->GetAntiAction());
// Execute the action itself
(*cur)->Execute(*this);
(*cur)->Execute();
}
// Insert into undo stack
@ -163,7 +163,16 @@ void CModel::AddSection(String name)
//////////////////
// Gets a section
Section CModel::GetSection(String name) const
ConstSection CModel::GetSection(String name) const
{
size_t len = sections.size();
for (size_t i=0;i<len;i++) {
if (sections[i]->GetName() == name) return sections[i];
}
return SectionPtr();
}
Section CModel::GetSection(String name)
{
size_t len = sections.size();
for (size_t i=0;i<len;i++) {
@ -175,7 +184,12 @@ Section CModel::GetSection(String name) const
////////////////////////
// Get section by index
Section CModel::GetSectionByIndex(size_t index) const
ConstSection CModel::GetSectionByIndex(size_t index) const
{
return sections.at(index);
}
Section CModel::GetSectionByIndex(size_t index)
{
return sections.at(index);
}

View File

@ -82,10 +82,11 @@ namespace Athenasub {
void Load(wxInputStream &input,Format format=Format(),const String encoding="");
void Save(wxOutputStream &output,Format format=Format(),const String encoding="UTF-8");
protected:
void AddSection(String name);
Section GetSection(String name) const;
Section GetSectionByIndex(size_t index) const;
ConstSection GetSection(String name) const;
Section GetSection(String name);
ConstSection GetSectionByIndex(size_t index) const;
Section GetSectionByIndex(size_t index);
size_t GetSectionCount() const;
public:

View File

@ -35,7 +35,7 @@
//#define ATHENA_DLL
#include <wx/wfstream.h>
#include <athenasub/athenawin.h>
#include <athenasub/athenasub.h>
#include <iostream>
#include <wx/stopwatch.h>
#include "text_file_reader.h"

View File

@ -192,18 +192,6 @@
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>

View File

@ -0,0 +1,102 @@
// Copyright (c) 2008, Rodrigo Braz Monteiro
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of the Aegisub Group nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// -----------------------------------------------------------------------------
//
// AEGISUB
//
// Website: http://aegisub.cellosoft.com
// Contact: mailto:zeratul@cellosoft.com
//
#include "../suites.h"
#include "../utils.h"
#if ATHENASUB_TEST == 1
#include <iostream>
#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "../../../athenasub/include/athenasub/athenasub.h"
using namespace Athenasub;
class AthenasubFileTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(AthenasubFileTest);
CPPUNIT_TEST(testLoad);
CPPUNIT_TEST(testSave);
CPPUNIT_TEST(testStableRewrite);
CPPUNIT_TEST_SUITE_END();
private:
LibAthenaSub lib;
String fileFolder;
public:
void setUp()
{
fileFolder = "test_files/";
lib = Athenasub::Create("AthenasubTest");
}
void tearDown()
{
}
void testLoad()
{
Model subs = lib->CreateModel();
Controller controller = subs->CreateController();
CPPUNIT_ASSERT_NO_THROW(controller->LoadFile(fileFolder+"in_test1.ass","UTF-8"));
ConstModel csubs = subs;
CPPUNIT_ASSERT(csubs->GetSectionCount() == 3);
ConstSection section;
CPPUNIT_ASSERT_NO_THROW(section = csubs->GetSection("Script Info"));
CPPUNIT_ASSERT(section->HasProperty("ScriptType"));
CPPUNIT_ASSERT(section->GetProperty("ScriptType") == "v4.00+");
}
void testSave()
{
Model subs = lib->CreateModel();
Controller controller = subs->CreateController();
controller->LoadFile(fileFolder+"in_test1.ass","UTF-8");
CPPUNIT_ASSERT_NO_THROW(controller->SaveFile(fileFolder+"out_test1.ass","UTF-8"));
}
void testStableRewrite()
{
Model subs = lib->CreateModel();
Controller controller = subs->CreateController();
controller->LoadFile(fileFolder+"out_test1.ass","UTF-8");
CPPUNIT_ASSERT_NO_THROW(controller->SaveFile(fileFolder+"out_test2.ass","UTF-8"));
CPPUNIT_ASSERT(AreFilesIdentical(fileFolder+"out_test1.ass",fileFolder+"out_test2.ass"));
}
};
CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(AthenasubFileTest,AegisubSuites::athenasub());
#endif

View File

@ -46,6 +46,7 @@ using namespace Athenasub;
class AthenasubStringTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(AthenasubStringTest);
CPPUNIT_TEST(testComparison);
CPPUNIT_TEST(testStartEnd);
CPPUNIT_TEST(testConcatenation);
CPPUNIT_TEST(testConversion);
CPPUNIT_TEST_SUITE_END();
@ -83,6 +84,18 @@ public:
CPPUNIT_ASSERT((c < d) == false);
}
void testStartEnd()
{
String a = "Hello world!";
CPPUNIT_ASSERT(a.StartsWith("Hello"));
CPPUNIT_ASSERT(a.StartsWith("hello") == false);
CPPUNIT_ASSERT(a.StartsWith("hello",false));
CPPUNIT_ASSERT(a.EndsWith("world!"));
CPPUNIT_ASSERT(a.EndsWith("World!") == false);
CPPUNIT_ASSERT(a.EndsWith("world!",false));
}
void testConcatenation()
{
String a;

46
unit_test/src/utils.cpp Normal file
View File

@ -0,0 +1,46 @@
// Copyright (c) 2008, Rodrigo Braz Monteiro
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of the Aegisub Group nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// -----------------------------------------------------------------------------
//
// AEGISUB
//
// Website: http://aegisub.cellosoft.com
// Contact: mailto:zeratul@cellosoft.com
//
#include "utils.h"
bool AreFilesIdentical(std::string file1, std::string file2)
{
return GetFileMD5(file1) == GetFileMD5(file2);
}
std::string GetFileMD5(std::string file) {
return "";
}

39
unit_test/src/utils.h Normal file
View File

@ -0,0 +1,39 @@
// Copyright (c) 2008, Rodrigo Braz Monteiro
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
// * Neither the name of the Aegisub Group nor the names of its contributors
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.
//
// -----------------------------------------------------------------------------
//
// AEGISUB
//
// Website: http://aegisub.cellosoft.com
// Contact: mailto:zeratul@cellosoft.com
//
#include <string>
bool AreFilesIdentical(std::string file1, std::string file2);
std::string GetFileMD5(std::string file);

View File

@ -0,0 +1,389 @@
[Script Info]
; Script generated by Aegisub v2.00 PRE-RELEASE (SVN r886, ArchMageZeratuL)
; http://www.aegisub.net
Title: <untitled>
Original Script: <unknown>
ScriptType: v4.00+
Video Aspect Ratio: 0
Video Zoom: 8
Video Position: 11067
Last Style Storage: evangelion
PlayResX: 704
PlayResY: 480
Video File: ..\Shin.Seiki.Evangelion.[KAA].DVD.(h.264-AC3).[05B4E07C]_RC1.mkv
Audio File: ..\Shin.Seiki.Evangelion.[KAA].DVD.(h.264-AC3).[05B4E07C]_RC1_Track2.ac3
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: eva main,Sui Generis,27,&H00F1E4D3,&H0000FFFF,&H008E4830,&H00000000,0,0,0,0,100,100,0,0,1,2,1,2,18,18,17,0
Style: eva alternate,Sui Generis,27,&H00C4A377,&H0000FFFF,&H008E4830,&H00000000,0,0,0,0,100,100,0,0,1,2,1,2,18,18,17,0
Style: eva bg broadcast,Sui Generis,24,&H00C1C1C1,&H0000FFFF,&H008E3230,&H00000000,0,0,0,0,100,100,0,0,1,2,1,8,18,18,17,0
Style: eva broadcast,Sui Generis,27,&H00C1C1C1,&H0000FFFF,&H008E3230,&H00000000,0,0,0,0,100,100,0,0,1,2,1,2,18,18,17,0
Style: eva notes,Tw Cen MT,28,&H00FFFFFF,&H0000FFFF,&H00D2D2D2,&H00000000,0,0,0,0,100,100,0,0,1,0,0,9,18,18,17,0
Style: eva other fo,Lucida Sans,20,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,0,0,2,10,10,10,0
Style: eva titles,Angsana New,80,&H00FFFFFF,&H0000FFFF,&H00000000,&H00000000,-1,0,0,0,100,100,0,0,1,0,0,2,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:01:30.40,0:01:32.73,eva titles,Comment,0000,0000,0000,,{\fsp-3\pos(352,345)}The year is 2015 A.D.
Dialogue: 0,0:01:55.10,0:01:59.03,eva broadcast,Comment,0000,0000,0000,,As of 12:30 PM today, a special state\nof emergency has been declared
Dialogue: 0,0:01:59.13,0:02:03.26,eva broadcast,Comment,0000,0000,0000,,for the Kanto and Chubu regions\nsurrounding the Tokai district.
Dialogue: 0,0:02:03.77,0:02:07.80,eva broadcast,Comment,0000,0000,0000,,All residents must evacuate to their\ndesignated shelters immediately.
Dialogue: 0,0:02:08.24,0:02:12.55,eva broadcast,Comment,0000,0000,0000,,Repeating: As of 12:30 PM today,
Dialogue: 0,0:02:11.65,0:02:14.07,eva other fo,Comment,0000,0000,0000,,{\pos(488,124)\bord0\shad0\fs30\frz322.539\frx24\fry41}All Lines Stopped
Dialogue: 0,0:02:12.55,0:02:16.17,eva broadcast,Comment,0000,0000,0000,,the Kanto and Chubu regions\nsurrounding the Tokai district
Dialogue: 0,0:02:16.25,0:02:19.31,eva broadcast,Comment,0000,0000,0000,,have been declared to be under\na state of emergency.
Dialogue: 0,0:02:19.39,0:02:20.92,eva broadcast,Comment,0000,0000,0000,,All residents must evacuate...
Dialogue: 0,0:02:20.92,0:02:24.39,eva main,Comment,0000,0000,0000,,Why did I have to lose sight of him now?
Dialogue: 0,0:02:24.39,0:02:26.23,eva main,Comment,0000,0000,0000,,Oh, man!
Dialogue: 0,0:02:26.11,0:02:28.75,eva other fo,Comment,0000,0000,0000,,{\c&H071413&\bord0\shad0\pos(154,432)\frz-5\fs22}Ikari Shinji
Dialogue: 0,0:02:27.26,0:02:29.96,eva main,Comment,0000,0000,0000,,Due to the special emergency,
Dialogue: 0,0:02:30.03,0:02:33.30,eva main,Comment,0000,0000,0000,,all lines are currently unavailable.
Dialogue: 0,0:02:34.74,0:02:35.73,eva main,Comment,0000,0000,0000,,It's no use.
Dialogue: 0,0:02:36.77,0:02:39.07,eva main,Comment,0000,0000,0000,,I shouldn't have come here after all.
Dialogue: 0,0:02:42.84,0:02:45.26,eva main,Comment,0000,0000,0000,,{\fnhomework normal\fs40\shad0\bord1\3a&H80&\c&H21150C&\frz10\3c&HFFFFFF&\4c&HFFFFFF&\pos(160,179)}To Shinji-kun
Dialogue: 0,0:02:42.84,0:02:45.26,eva main,Comment,0000,0000,0000,,{\fnhomework normal\fs40\shad0\bord1\3a&H80&\c&H21150C&\frz10\3c&HFFFFFF&\4c&HFFFFFF&\pos(592,123)}I'll be coming to\N\Nget you, so wait
Dialogue: 0,0:02:42.84,0:02:45.26,eva main,Comment,0000,0000,0000,,{\fnhomework normal\fs40\shad0\bord1\3a&H80&\c&H21150C&\frz10\3c&HFFFFFF&\4c&HFFFFFF&\pos(211,250)}Attention here!!
Dialogue: 0,0:02:42.84,0:02:45.26,eva main,Comment,0000,0000,0000,,{\fnhomework normal\fs40\shad0\bord1\3a&H80&\c&H21150C&\frz10\3c&HFFFFFF&\4c&HFFFFFF&\pos(628,197)}for me.{\fnWebdings}♥
Dialogue: 0,0:02:43.38,0:02:45.74,eva main,Comment,0000,0000,0000,,Well, I guess we won't be meeting here.
Dialogue: 0,0:02:46.88,0:02:49.48,eva main,Comment,0000,0000,0000,,Can't be helped. I'll go to a shelter.
Dialogue: 0,0:03:14.63,0:03:18.55,eva titles,Comment,0000,0000,0000,,{\fs21\fsp-1\bord0\shad0\c&HE3EDFC&\fnTw Cen MT\pos(612,415)}ESTIMATED PATH
Dialogue: 0,0:03:15.14,0:03:18.60,eva main,Comment,0000,0000,0000,,The unidentified mobile object is still\nadvancing on our position.
Dialogue: 0,0:03:19.38,0:03:22.61,eva main,Comment,0000,0000,0000,,We've got visual confirmation.\NI'm putting it on the main screen.
Dialogue: 0,0:03:24.29,0:03:26.12,eva main,Comment,0000,0000,0000,,It's been fifteen years, hasn't it?
Dialogue: 0,0:03:26.19,0:03:28.31,eva main,Comment,0000,0000,0000,,Yes, there's no doubt.
Dialogue: 0,0:03:29.29,0:03:30.52,eva main,Comment,0000,0000,0000,,It's an Angel.
Dialogue: 0,0:03:30.52,0:03:33.19,eva titles,Comment,0000,0000,0000,,{\pos(476,263)\fs130\fsp-6}Angel Attack
Dialogue: 0,0:03:30.52,0:03:33.19,eva titles,Comment,0000,0000,0000,,{\fsp-3\pos(193,61)}Episode One
Dialogue: 0,0:03:42.50,0:03:44.34,eva broadcast,Comment,0000,0000,0000,,Every missile hit the target!
Dialogue: 0,0:04:03.53,0:04:05.12,eva main,Comment,0000,0000,0000,,I'm sorry! Thanks for waiting!
Dialogue: 0,0:04:22.11,0:04:26.71,eva broadcast,Comment,0000,0000,0000,,The target is still operational.\NIt's still heading towards New Tokyo-3.
Dialogue: 0,0:04:26.78,0:04:29.31,eva broadcast,Comment,0000,0000,0000,,The Air Defense Force doesn't have\nthe firepower to stop it!
Dialogue: 0,0:04:30.12,0:04:31.29,eva main,Comment,0000,0000,0000,,Hit it with everything we've got!
Dialogue: 0,0:04:31.29,0:04:33.25,eva main,Comment,0000,0000,0000,,Mobilize all of Atsugi and Iruma as well!
Dialogue: 0,0:04:33.32,0:04:36.72,eva main,Comment,0000,0000,0000,,Don't hold anything back!\NDestroy the target at any cost!
Dialogue: 0,0:04:50.05,0:04:52.17,eva main,Comment,0000,0000,0000,,Why?! That was a direct hit!
Dialogue: 0,0:04:52.64,0:04:55.04,eva main,Comment,0000,0000,0000,,The tank battalion's been annihilated.
Dialogue: 0,0:04:55.04,0:04:57.98,eva main,Comment,0000,0000,0000,,Guided missiles and artillery\nhave no effect either.
Dialogue: 0,0:04:57.98,0:05:01.52,eva main,Comment,0000,0000,0000,,It's no good! We'll never get anywhere\nwith the firepower we've got!
Dialogue: 0,0:05:01.52,0:05:03.39,eva main,Comment,0000,0000,0000,,Is it an AT field after all?
Dialogue: 0,0:05:01.52,0:05:04.52,eva notes,Comment,0000,0000,0000,,{\fad(400,400)\1a&H70&}AT field: absolute terror field
Dialogue: 0,0:05:03.39,0:05:07.34,eva main,Comment,0000,0000,0000,,Yes. Conventional weapons are\nuseless against Angels.
Dialogue: 0,0:05:10.76,0:05:13.99,eva main,Comment,0000,0000,0000,,I understand. We'll activate it as planned.
Dialogue: 0,0:05:18.80,0:05:20.29,eva main,Comment,0000,0000,0000,,Hey, don't tell me...
Dialogue: 0,0:05:20.37,0:05:22.23,eva main,Comment,0000,0000,0000,,They're going to use an N{\fnLucida Sans}²{\r} mine?!
Dialogue: 0,0:05:22.74,0:05:23.76,eva main,Comment,0000,0000,0000,,Get down!
Dialogue: 0,0:05:46.56,0:05:47.43,eva main,Comment,0000,0000,0000,,We did it!
Dialogue: 0,0:05:48.80,0:05:51.89,eva main,Comment,0000,0000,0000,,Sorry, but it looks like you won't be\ngetting a shot at it.
Dialogue: 0,0:05:51.97,0:05:54.16,eva broadcast,Comment,0000,0000,0000,,Shock wave approaching.
Dialogue: 0,0:05:55.37,0:05:56.70,eva main,Comment,0000,0000,0000,,Are you all right?
Dialogue: 0,0:05:56.77,0:06:00.11,eva main,Comment,0000,0000,0000,,Yeah, but my mouth is full of dirt.
Dialogue: 0,0:06:00.11,0:06:04.07,eva main,Comment,0000,0000,0000,,That's okay. Now then, here we go!
Dialogue: 0,0:06:04.75,0:06:06.08,eva main,Comment,0000,0000,0000,,One, two!
Dialogue: 0,0:06:09.88,0:06:11.44,eva main,Comment,0000,0000,0000,,There.
Dialogue: 0,0:06:14.79,0:06:16.88,eva main,Comment,0000,0000,0000,,Thanks for the hand. I really appreciate it.
Dialogue: 0,0:06:16.96,0:06:19.95,eva main,Comment,0000,0000,0000,,Thank you too, Katsuragi-san.
Dialogue: 0,0:06:20.03,0:06:22.09,eva main,Comment,0000,0000,0000,,Just Misato is fine.
Dialogue: 0,0:06:22.56,0:06:25.90,eva main,Comment,0000,0000,0000,,I'm glad we've met at last, Ikari Shinji-kun.
Dialogue: 0,0:06:26.20,0:06:27.02,eva main,Comment,0000,0000,0000,,Yeah...
Dialogue: 0,0:06:27.57,0:06:28.83,eva broadcast,Comment,0000,0000,0000,,What's the target's status?
Dialogue: 0,0:06:28.90,0:06:31.80,eva broadcast,Comment,0000,0000,0000,,We're unable to confirm due to\nall the EMP interference.
Dialogue: 0,0:06:31.87,0:06:34.64,eva main,Comment,0000,0000,0000,,You saw the size of the explosion. It's over.
Dialogue: 0,0:06:34.71,0:06:36.14,eva broadcast,Comment,0000,0000,0000,,Sensors restored.
Dialogue: 0,0:06:37.45,0:06:39.28,eva broadcast,Comment,0000,0000,0000,,We've got an energy reading\nat the explosion's epicenter!
Dialogue: 0,0:06:39.35,0:06:40.47,eva main,Comment,0000,0000,0000,,What the hell?!
Dialogue: 0,0:06:40.55,0:06:42.18,eva broadcast,Comment,0000,0000,0000,,Visual display restored.
Dialogue: 0,0:06:46.45,0:06:48.68,eva main,Comment,0000,0000,0000,,That was our last resort.
Dialogue: 0,0:06:49.62,0:06:51.53,eva main,Comment,0000,0000,0000,,How can this be?
Dialogue: 0,0:06:51.53,0:06:53.15,eva main,Comment,0000,0000,0000,,Damned monster!
Dialogue: 0,0:07:03.10,0:07:05.50,eva main,Comment,0000,0000,0000,,Yes. Don't worry about it.
Dialogue: 0,0:07:05.57,0:07:09.63,eva main,Comment,0000,0000,0000,,His safety is my top priority,\nso could you get a car train ready for us?
Dialogue: 0,0:07:09.71,0:07:10.94,eva main,Comment,0000,0000,0000,,A direct one.
Dialogue: 0,0:07:11.81,0:07:12.78,eva main,Comment,0000,0000,0000,,Right.
Dialogue: 0,0:07:13.15,0:07:15.48,eva main,Comment,0000,0000,0000,,Well, I volunteered to pick him up,
Dialogue: 0,0:07:15.48,0:07:18.18,eva main,Comment,0000,0000,0000,,so I'll make sure he gets there. See ya!
Dialogue: 0,0:07:20.52,0:07:26.95,eva main,Comment,0000,0000,0000,,Man, this sucks! I just had my car restored\nand it's a total wreck already!
Dialogue: 0,0:07:27.44,0:07:30.56,eva main,Comment,0000,0000,0000,,33 more loan payments to go,\nplus the cost of repairs.
Dialogue: 0,0:07:30.63,0:07:33.16,eva main,Comment,0000,0000,0000,,And look! My best dress has been ruined!
Dialogue: 0,0:07:33.54,0:07:37.30,eva main,Comment,0000,0000,0000,,And I was looking and feeling so nice.
Dialogue: 0,0:07:32.97,0:07:34.79,eva alternate,Comment,0000,0000,0000,,Excuse me, Misato-san?
Dialogue: 0,0:07:37.30,0:07:38.98,eva main,Comment,0000,0000,0000,,Excuse me, Misato-san?
Dialogue: 0,0:07:39.17,0:07:40.66,eva main,Comment,0000,0000,0000,,What?
Dialogue: 0,0:07:40.74,0:07:43.40,eva main,Comment,0000,0000,0000,,Are you sure you can just take those?
Dialogue: 0,0:07:45.25,0:07:46.21,eva main,Comment,0000,0000,0000,,Never mind about that!
Dialogue: 0,0:07:46.28,0:07:50.05,eva main,Comment,0000,0000,0000,,It's an emergency, and we need\na working car right now, right?
Dialogue: 0,0:07:50.12,0:07:53.61,eva main,Comment,0000,0000,0000,,And I'm an international government\nofficial, after all,
Dialogue: 0,0:07:53.69,0:07:55.28,eva main,Comment,0000,0000,0000,,so everything's going to be\nperfectly fine, okay?
Dialogue: 0,0:07:56.66,0:07:59.29,eva main,Comment,0000,0000,0000,,I don't think anyone will buy that.
Dialogue: 0,0:07:59.36,0:08:03.46,eva main,Comment,0000,0000,0000,,You're no fun. You look cute,\nbut you're kind of a cold fish.
Dialogue: 0,0:08:04.40,0:08:05.73,eva main,Comment,0000,0000,0000,,You think so?
Dialogue: 0,0:08:05.80,0:08:07.53,eva main,Comment,0000,0000,0000,,Oh, did I upset you?
Dialogue: 0,0:08:08.27,0:08:11.67,eva main,Comment,0000,0000,0000,,Sorry about that! You are a boy, after all.
Dialogue: 0,0:08:11.74,0:08:15.04,eva main,Comment,0000,0000,0000,,And you're pretty childish for your age.
Dialogue: 0,0:08:20.75,0:08:23.68,eva main,Comment,0000,0000,0000,,As we predicted, it's regenerating itself.
Dialogue: 0,0:08:23.99,0:08:27.85,eva main,Comment,0000,0000,0000,,If it couldn't, it wouldn't be\na practical autonomous weapon.
Dialogue: 0,0:08:31.49,0:08:35.09,eva main,Comment,0000,0000,0000,,Impressive. It appears it can even upgrade\nits own operational functions.
Dialogue: 0,0:08:35.43,0:08:37.69,eva main,Comment,0000,0000,0000,,And it seems to have gotten smarter.
Dialogue: 0,0:08:38.73,0:08:41.63,eva main,Comment,0000,0000,0000,,It's only a matter of time before\nit resumes attacking.
Dialogue: 0,0:08:43.04,0:08:46.61,eva bg broadcast,Comment,0000,0000,0000,,The gates are now closing.\NPlease stand clear.
Dialogue: 0,0:08:46.30,0:08:48.03,eva main,,0000,0000,0000,,The special duty organization Nerv?
Dialogue: 0,0:08:46.61,0:08:48.34,eva bg broadcast,Comment,0000,0000,0000,,Now departing.
Dialogue: 0,0:08:48.14,0:08:51.45,eva main,Comment,0000,0000,0000,,Yes, it's a secret organization under\nthe control of the United Nations.
Dialogue: 0,0:08:48.34,0:08:56.75,eva bg broadcast,Comment,0000,0000,0000,,This is the C-22 Special Express\ndeparting directly for G33-1.
Dialogue: 0,0:08:51.95,0:08:53.58,eva main,Comment,0000,0000,0000,,That's where my father is, right?
Dialogue: 0,0:08:53.58,0:08:54.75,eva main,Comment,0000,0000,0000,,Well, yeah.
Dialogue: 0,0:08:54.75,0:08:56.75,eva main,Comment,0000,0000,0000,,Do you know what he does?
Dialogue: 0,0:08:58.09,0:09:01.92,eva bg broadcast,Comment,0000,0000,0000,,This train will bypass all other stations.\NPlease stand back.
Dialogue: 0,0:09:00.69,0:09:04.52,eva main,Comment,0000,0000,0000,,My teacher told me his work is vital\nfor the protection of the human race.
Dialogue: 0,0:09:07.66,0:09:10.83,eva main,Comment,0000,0000,0000,,From this point forward, command of this\noperation will be entrusted to you.
Dialogue: 0,0:09:10.90,0:09:12.53,eva main,Comment,0000,0000,0000,,Show us what you're capable of.
Dialogue: 0,0:09:12.60,0:09:13.69,eva main,Comment,0000,0000,0000,,Yes, Sir.
Dialogue: 0,0:09:14.27,0:09:20.37,eva main,Comment,0000,0000,0000,,Ikari-kun, we will admit that our weapons\nhave no effect on the target.
Dialogue: 0,0:09:21.28,0:09:23.68,eva main,Comment,0000,0000,0000,,But are you sure you can beat this thing?
Dialogue: 0,0:09:24.15,0:09:25.83,eva main,Comment,0000,0000,0000,,It's what Nerv was created for.
Dialogue: 0,0:09:26.65,0:09:28.14,eva main,Comment,0000,0000,0000,,Let's hope you're correct.
Dialogue: 0,0:09:29.78,0:09:31.91,eva broadcast,Comment,0000,0000,0000,,The target is still stationary.
Dialogue: 0,0:09:31.99,0:09:35.35,eva broadcast,Comment,0000,0000,0000,,Our intercept system is currently\N7.5% operational.
Dialogue: 0,0:09:37.03,0:09:39.36,eva main,Comment,0000,0000,0000,,So, even the UN forces have retired.
Dialogue: 0,0:09:39.43,0:09:41.02,eva main,Comment,0000,0000,0000,,What are you going to do?
Dialogue: 0,0:09:41.53,0:09:43.52,eva main,Comment,0000,0000,0000,,I intend to activate Unit 01.
Dialogue: 0,0:09:43.77,0:09:46.86,eva main,Comment,0000,0000,0000,,Unit 01? But we have no pilot.
Dialogue: 0,0:09:47.50,0:09:51.10,eva main,Comment,0000,0000,0000,,That's not a problem. Another spare\nwill be delivered soon.
Dialogue: 0,0:09:52.07,0:09:54.80,eva main,Comment,0000,0000,0000,,Are you taking me to my father?
Dialogue: 0,0:09:55.31,0:09:57.40,eva main,Comment,0000,0000,0000,,Yes. Pretty much.
Dialogue: 0,0:10:01.25,0:10:02.51,eva main,Comment,0000,0000,0000,,Father...
Dialogue: 0,0:10:04.09,0:10:07.45,eva main,Comment,0000,0000,0000,,Oh, that's right. Did you get\nan ID card from your father?
Dialogue: 0,0:10:09.36,0:10:10.35,eva main,Comment,0000,0000,0000,,Yes.
Dialogue: 0,0:10:12.03,0:10:13.05,eva main,Comment,0000,0000,0000,,Here it is.
Dialogue: 0,0:10:13.13,0:10:14.43,eva main,Comment,0000,0000,0000,,Thanks.
Dialogue: 0,0:10:13.88,0:10:15.09,eva main,Comment,0000,0000,0000,,{\fnParla\fs35\b1\c&H293132&\frz9.564\bord2\shad0\3c&HBECAC1&\3a&H80&\pos(420,396)}Come.
Dialogue: 0,0:10:13.88,0:10:15.09,eva main,Comment,0000,0000,0000,,{\fnParla\b1\c&H293132&\frz9.564\bord2\shad0\3c&HBECAC1&\3a&H80&\pos(485,459)}Ikari Gendo
Dialogue: 0,0:10:15.80,0:10:18.20,eva main,Comment,0000,0000,0000,,Then read this.
Dialogue: 0,0:10:18.09,0:10:19.76,eva titles,Comment,0000,0000,0000,,{\frz2.561\bord0\shad0\c&H03100B&\pos(380,320)}Welcome to
Dialogue: 0,0:10:18.09,0:10:19.76,eva titles,Comment,0000,0000,0000,,{\frz2.561\bord0\shad0\c&H03100B&\i1\pos(380,353)}Nerv
Dialogue: 0,0:10:18.93,0:10:20.13,eva main,Comment,0000,0000,0000,,Nerv...
Dialogue: 0,0:10:21.00,0:10:22.26,eva main,Comment,0000,0000,0000,,My father's agency.
Dialogue: 0,0:10:23.00,0:10:25.06,eva main,Comment,0000,0000,0000,,Am I going to work for them too?
Dialogue: 0,0:10:27.01,0:10:28.50,eva main,Comment,0000,0000,0000,,Of course.
Dialogue: 0,0:10:28.68,0:10:32.81,eva main,Comment,0000,0000,0000,,He wouldn't have sent me a letter unless\nhe needed me for something.
Dialogue: 0,0:10:33.27,0:10:36.24,eva main,Comment,0000,0000,0000,,I see. So you don't get along with your father.
Dialogue: 0,0:10:37.65,0:10:39.24,eva main,Comment,0000,0000,0000,,It's the same with me.
Dialogue: 0,0:10:45.23,0:10:46.49,eva main,Comment,0000,0000,0000,,Awesome!
Dialogue: 0,0:10:47.70,0:10:49.39,eva main,Comment,0000,0000,0000,,It's the real Geo-Front!
Dialogue: 0,0:10:49.46,0:10:50.36,eva main,Comment,0000,0000,0000,,That's right.
Dialogue: 0,0:10:50.43,0:10:53.87,eva main,Comment,0000,0000,0000,,This is our secret base.\NNerv Headquarters.
Dialogue: 0,0:10:54.26,0:10:55.80,eva main,Comment,0000,0000,0000,,This is the key to rebuilding our world.
Dialogue: 0,0:10:55.87,0:10:58.34,eva main,Comment,0000,0000,0000,,A fortress for all mankind.
Dialogue: 1,0:11:04.91,0:11:10.18,eva main,Comment,0000,0000,0000,,That's strange. Isn't this the right way?
Dialogue: 0,0:11:07.10,0:11:08.64,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,90)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:07.10,0:11:08.64,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,143)}Central Dogma
Dialogue: 0,0:11:07.10,0:11:08.64,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\pos(273,118)\bord0\shad0\c&H3B2C71&}Around here
Dialogue: 0,0:11:08.60,0:11:08.64,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,90)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.64,0:11:08.68,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,99)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.68,0:11:08.73,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,109)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.73,0:11:08.77,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,125)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.77,0:11:08.81,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,145)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.81,0:11:08.85,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,186)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.85,0:11:08.89,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,235)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.89,0:11:08.93,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,285)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.93,0:11:08.98,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,333)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.98,0:11:09.02,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,394)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:09.02,0:11:09.06,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\i1\c&H15180D&\pos(132,457)}Nerv{\i0} Headquarters
Dialogue: 0,0:11:08.60,0:11:08.64,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,143)}Central Dogma
Dialogue: 0,0:11:08.64,0:11:08.68,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,152)}Central Dogma
Dialogue: 0,0:11:08.68,0:11:08.73,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,162)}Central Dogma
Dialogue: 0,0:11:08.73,0:11:08.77,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,178)}Central Dogma
Dialogue: 0,0:11:08.77,0:11:08.81,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,198)}Central Dogma
Dialogue: 0,0:11:08.81,0:11:08.85,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,240)}Central Dogma
Dialogue: 0,0:11:08.85,0:11:08.89,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,287)}Central Dogma
Dialogue: 0,0:11:08.89,0:11:08.93,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,339)}Central Dogma
Dialogue: 0,0:11:08.93,0:11:08.98,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,384)}Central Dogma
Dialogue: 0,0:11:08.98,0:11:09.02,eva other fo,Comment,0000,0000,0000,,{\fnAngsana New\fs30\c&H15180D&\pos(123,447)}Central Dogma
Dialogue: 0,0:11:08.64,0:11:08.68,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,128)}Around here
Dialogue: 0,0:11:08.68,0:11:08.73,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,138)}Around here
Dialogue: 0,0:11:08.73,0:11:08.77,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,154)}Around here
Dialogue: 0,0:11:08.77,0:11:08.81,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,171)}Around here
Dialogue: 0,0:11:08.81,0:11:08.85,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,213)}Around here
Dialogue: 0,0:11:08.85,0:11:08.89,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,262)}Around here
Dialogue: 0,0:11:08.89,0:11:08.93,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(276,312)}Around here
Dialogue: 0,0:11:08.93,0:11:08.98,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(275,358)}Around here
Dialogue: 0,0:11:08.98,0:11:09.02,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(273,420)}Around here
Dialogue: 0,0:11:09.02,0:11:09.06,eva main,Comment,0000,0000,0000,,{\fnOne Stroke Script LET\frz21.148\bord0\shad0\c&H3B2C71&\pos(281,480)}Around here
Dialogue: 0,0:11:10.89,0:11:12.49,eva bg broadcast,Comment,0000,0000,0000,,Central Dogma's closed passages\nremain sealed.
Dialogue: 0,0:11:12.49,0:11:15.29,eva main,Comment,0000,0000,0000,,This is why I hate wearing skirts here.
Dialogue: 0,0:11:12.92,0:11:17.76,eva bg broadcast,Comment,0000,0000,0000,,Opening block B-26 in sequence.
Dialogue: 0,0:11:15.79,0:11:18.56,eva main,Comment,0000,0000,0000,,But where the heck did Ritsuko go?
Dialogue: 0,0:11:18.63,0:11:21.42,eva main,Comment,0000,0000,0000,,I'm sorry. I'm just not used to this place yet.
Dialogue: 0,0:11:21.50,0:11:23.49,eva main,Comment,0000,0000,0000,,We passed this spot just a little while ago.
Dialogue: 0,0:11:24.87,0:11:26.30,eva main,Comment,0000,0000,0000,,But don't worry about it.
Dialogue: 0,0:11:26.37,0:11:29.24,eva main,Comment,0000,0000,0000,,They make these systems\nto be used, you know.
Dialogue: 0,0:11:29.24,0:11:31.97,eva bg broadcast,Comment,0000,0000,0000,,Would the head of Project E,\NTechnical Department Division 1,
Dialogue: 0,0:11:31.97,0:11:34.84,eva bg broadcast,Comment,0000,0000,0000,,Dr. Akagi Ritsuko, Dr. Akagi Ritsuko,
Dialogue: 0,0:11:34.84,0:11:39.48,eva bg broadcast,Comment,0000,0000,0000,,please contact Captain Katsuragi Misato\nof Operations, Division 1, immediately.
Dialogue: 0,0:11:39.61,0:11:41.45,eva main,Comment,0000,0000,0000,,I don't believe it.
Dialogue: 0,0:11:41.45,0:11:42.42,eva main,Comment,0000,0000,0000,,She got lost again, didn't she?
Dialogue: 0,0:11:46.89,0:11:48.95,eva main,Comment,0000,0000,0000,,Uh, hiya, Ritsuko.
Dialogue: 0,0:11:53.63,0:11:55.99,eva main,Comment,0000,0000,0000,,What were you doing, Captain Katsuragi?
Dialogue: 0,0:11:56.10,0:11:58.33,eva main,Comment,0000,0000,0000,,We're short on both time\nand manpower, you know.
Dialogue: 0,0:11:58.83,0:11:59.86,eva main,Comment,0000,0000,0000,,Sorry!
Dialogue: 0,0:12:03.14,0:12:04.97,eva main,Comment,0000,0000,0000,,So this is the boy?
Dialogue: 0,0:12:05.04,0:12:08.98,eva main,Comment,0000,0000,0000,,Right. According to the Marduk report,\nhe's the "Third Child".
Dialogue: 0,0:12:09.68,0:12:10.77,eva main,Comment,0000,0000,0000,,I'm glad to meet you.
Dialogue: 0,0:12:10.85,0:12:12.68,eva main,Comment,0000,0000,0000,,Huh? Sure.
Dialogue: 0,0:12:13.00,0:12:17.88,eva main,Comment,0000,0000,0000,,He's just like his father.\NLike how he's unendearing.
Dialogue: 0,0:12:18.25,0:12:19.51,eva main,Comment,0000,0000,0000,,I'll leave the rest to you.
Dialogue: 0,0:12:23.96,0:12:26.19,eva main,Comment,0000,0000,0000,,Their first meeting in over three years.
Dialogue: 0,0:12:27.23,0:12:30.89,eva main,Comment,0000,0000,0000,,Vice Commander, the target\nhas started moving again.
Dialogue: 0,0:12:30.97,0:12:34.37,eva main,Comment,0000,0000,0000,,Right. All personnel, assume\nbattle stations, Level One.
Dialogue: 0,0:12:34.54,0:12:37.91,eva bg broadcast,Comment,0000,0000,0000,,Repeat. All personnel, assume\nbattle stations, Level One.
Dialogue: 0,0:12:37.91,0:12:39.30,eva bg broadcast,Comment,0000,0000,0000,,Prepare for ground-unit interception.
Dialogue: 0,0:12:39.81,0:12:41.04,eva main,Comment,0000,0000,0000,,Here we go.
Dialogue: 0,0:12:41.04,0:12:42.27,eva main,Comment,0000,0000,0000,,It sounds pretty serious.
Dialogue: 0,0:12:43.41,0:12:45.58,eva main,Comment,0000,0000,0000,,So, how's Unit 01 doing?
Dialogue: 0,0:12:45.58,0:12:47.95,eva main,Comment,0000,0000,0000,,It's currently in refrigeration,\nusing the B-type equipment.
Dialogue: 0,0:12:47.95,0:12:51.95,eva main,Comment,0000,0000,0000,,Does it really work?\NIt's never worked before, right?
Dialogue: 0,0:12:51.95,0:12:56.89,eva main,Comment,0000,0000,0000,,The possibility of activation is 0.000000001%.
Dialogue: 0,0:12:57.49,0:12:59.99,eva main,Comment,0000,0000,0000,,We call it, pathetically enough,\nthe O-9 System.
Dialogue: 0,0:12:59.99,0:13:02.66,eva main,Comment,0000,0000,0000,,Does that mean it doesn't work?
Dialogue: 0,0:13:02.66,0:13:05.13,eva main,Comment,0000,0000,0000,,Oh, don't be insulting. It's not zero.
Dialogue: 0,0:13:05.13,0:13:06.83,eva main,Comment,0000,0000,0000,,Well, it's just a number.
Dialogue: 0,0:13:06.90,0:13:11.43,eva main,Comment,0000,0000,0000,,Anyway, it's a bit too late to be saying,\N"Sorry, it didn't work".
Dialogue: 0,0:13:20.05,0:13:22.81,eva main,Comment,0000,0000,0000,,Huh? It's completely dark.
Dialogue: 0,0:13:26.39,0:13:29.15,eva main,Comment,0000,0000,0000,,A face? A giant robot?
Dialogue: 0,0:13:30.86,0:13:33.02,eva main,Comment,0000,0000,0000,,You won't find this in the manual.
Dialogue: 0,0:13:34.16,0:13:38.13,eva main,Comment,0000,0000,0000,,This is mankind's ultimate\nmultipurpose decisive weapon,
Dialogue: 0,0:13:38.13,0:13:42.04,eva main,Comment,0000,0000,0000,,the synthetic human Evangelion, Unit 01.
Dialogue: 0,0:13:42.04,0:13:47.28,eva main,Comment,0000,0000,0000,,Built in absolute secrecy,\nit is mankind's trump card.
Dialogue: 0,0:13:47.28,0:13:49.28,eva main,Comment,0000,0000,0000,,Is this part of what my father's been doing?
Dialogue: 0,0:13:49.28,0:13:50.18,eva broadcast,Comment,0000,0000,0000,,Correct.
Dialogue: 0,0:13:52.15,0:13:53.48,eva main,Comment,0000,0000,0000,,It's been a while.
Dialogue: 0,0:13:54.55,0:13:55.68,eva main,Comment,0000,0000,0000,,Father...
Dialogue: 0,0:13:58.75,0:13:59.52,eva main,Comment,0000,0000,0000,,We're moving out!
Dialogue: 0,0:14:00.02,0:14:03.48,eva main,Comment,0000,0000,0000,,Moving out?! Unit 00's still in\ncryo-stasis, isn't it?
Dialogue: 0,0:14:05.43,0:14:07.62,eva main,Comment,0000,0000,0000,,You're not planning to use Unit 01?!
Dialogue: 0,0:14:08.43,0:14:09.96,eva main,Comment,0000,0000,0000,,There's no other way.
Dialogue: 0,0:14:09.96,0:14:12.83,eva main,Comment,0000,0000,0000,,Hold on! Rei can't do it yet, can she?
Dialogue: 0,0:14:13.77,0:14:15.17,eva main,Comment,0000,0000,0000,,We've got no pilot!
Dialogue: 0,0:14:16.10,0:14:17.26,eva main,Comment,0000,0000,0000,,A pilot has just been delivered.
Dialogue: 0,0:14:18.54,0:14:19.56,eva main,Comment,0000,0000,0000,,Are you serious?
Dialogue: 0,0:14:20.54,0:14:21.61,eva main,Comment,0000,0000,0000,,Ikari Shinji-kun...
Dialogue: 0,0:14:21.61,0:14:22.71,eva main,Comment,0000,0000,0000,,Yes?
Dialogue: 0,0:14:22.71,0:14:23.73,eva main,Comment,0000,0000,0000,,You will pilot it.
Dialogue: 0,0:14:24.45,0:14:29.44,eva main,Comment,0000,0000,0000,,But even Ayanami Rei took seven months\nto synchronize with her Eva.
Dialogue: 0,0:14:29.62,0:14:32.25,eva main,Comment,0000,0000,0000,,It's impossible for him to do it!\NHe just got here!
Dialogue: 0,0:14:32.32,0:14:35.12,eva main,Comment,0000,0000,0000,,He just has to sit in the seat.\NWe don't expect more than that.
Dialogue: 0,0:14:35.19,0:14:36.18,eva main,Comment,0000,0000,0000,,But...
Dialogue: 0,0:14:36.26,0:14:38.92,eva main,Comment,0000,0000,0000,,Repelling that Angel is our ultimate priority.
Dialogue: 0,0:14:39.43,0:14:43.02,eva main,Comment,0000,0000,0000,,To do that, we have no choice but to put\naboard the Eva whomever has the chance
Dialogue: 0,0:14:43.10,0:14:45.62,eva main,Comment,0000,0000,0000,,to synchronize with it, no matter how slight.
Dialogue: 0,0:14:46.87,0:14:48.80,eva main,Comment,0000,0000,0000,,I believe you know that, Captain Katsuragi.
Dialogue: 0,0:14:51.27,0:14:52.60,eva main,Comment,0000,0000,0000,,I suppose...
Dialogue: 0,0:14:54.21,0:14:56.61,eva main,Comment,0000,0000,0000,,Father, why did you send for me?
Dialogue: 0,0:14:56.61,0:14:58.75,eva main,Comment,0000,0000,0000,,You know exactly why.
Dialogue: 0,0:14:58.75,0:15:02.65,eva main,Comment,0000,0000,0000,,So, you're asking me to take this thing\nand fight that thing?
Dialogue: 0,0:15:03.35,0:15:04.35,eva main,Comment,0000,0000,0000,,That's right.
Dialogue: 0,0:15:04.35,0:15:08.02,eva main,Comment,0000,0000,0000,,No way! Why are you doing this now?!
Dialogue: 0,0:15:08.02,0:15:10.63,eva main,Comment,0000,0000,0000,,I thought you didn't need me!
Dialogue: 0,0:15:10.63,0:15:12.82,eva main,Comment,0000,0000,0000,,I called you because I have a need for you.
Dialogue: 0,0:15:15.40,0:15:16.83,eva main,Comment,0000,0000,0000,,Why me?
Dialogue: 0,0:15:17.47,0:15:19.70,eva main,Comment,0000,0000,0000,,Because no one else can.
Dialogue: 0,0:15:20.37,0:15:22.06,eva main,Comment,0000,0000,0000,,No, I can't...
Dialogue: 0,0:15:22.50,0:15:26.03,eva main,Comment,0000,0000,0000,,I've never even seen anything\nlike this before! I can't do this!
Dialogue: 0,0:15:27.01,0:15:28.41,eva main,Comment,0000,0000,0000,,You will be instructed.
Dialogue: 0,0:15:29.04,0:15:32.88,eva main,Comment,0000,0000,0000,,But there's no way I can do this!
Dialogue: 0,0:15:33.71,0:15:35.74,eva main,Comment,0000,0000,0000,,I can't pilot it!
Dialogue: 0,0:15:37.22,0:15:40.24,eva main,Comment,0000,0000,0000,,If you're going to pilot it, do it now\nand quickly. If not, leave!
Dialogue: 0,0:15:51.93,0:15:54.46,eva main,Comment,0000,0000,0000,,It must have detected our location.
Dialogue: 0,0:15:58.11,0:16:00.04,eva main,Comment,0000,0000,0000,,Shinji-kun, we don't have time.
Dialogue: 0,0:16:05.08,0:16:06.24,eva main,Comment,0000,0000,0000,,Get into it.
Dialogue: 0,0:16:07.31,0:16:11.98,eva main,Comment,0000,0000,0000,,No! I didn't come for this! This isn't fair!
Dialogue: 0,0:16:13.25,0:16:16.69,eva main,Comment,0000,0000,0000,,Shinji-kun, just why did you come here?
Dialogue: 0,0:16:18.59,0:16:22.69,eva main,Comment,0000,0000,0000,,You mustn't run! Not from your father,\nand most of all not from yourself.
Dialogue: 0,0:16:23.33,0:16:27.39,eva main,Comment,0000,0000,0000,,I know that! But there's no way I can do it!
Dialogue: 0,0:16:35.54,0:16:36.53,eva main,Comment,0000,0000,0000,,Fuyutsuki...
Dialogue: 0,0:16:37.85,0:16:39.25,eva main,Comment,0000,0000,0000,,Wake up Rei.
Dialogue: 0,0:16:39.25,0:16:40.75,eva broadcast,Comment,0000,0000,0000,,Can we use her?
Dialogue: 0,0:16:40.75,0:16:42.31,eva main,Comment,0000,0000,0000,,She isn't dead.
Dialogue: 0,0:16:43.45,0:16:44.58,eva broadcast,Comment,0000,0000,0000,,I understand.
Dialogue: 0,0:16:46.39,0:16:47.25,eva main,Comment,0000,0000,0000,,Rei.
Dialogue: 0,0:16:47.25,0:16:48.39,eva main,Comment,0000,0000,0000,,Yes?
Dialogue: 0,0:16:48.39,0:16:51.26,eva main,Comment,0000,0000,0000,,Our spare is unusable. You will do it again.
Dialogue: 0,0:16:51.26,0:16:52.23,eva main,Comment,0000,0000,0000,,Yes, Sir.
Dialogue: 0,0:16:54.50,0:16:57.93,eva main,Comment,0000,0000,0000,,Reconfigure Unit 01's system to Rei,\nthen re-activate!
Dialogue: 0,0:16:57.93,0:17:00.99,eva broadcast,Comment,0000,0000,0000,,Roger. Call off the present work,\nand begin re-activation.
Dialogue: 0,0:17:02.97,0:17:06.80,eva main,Comment,0000,0000,0000,,I knew it. I'm not needed after all.
Dialogue: 0,0:17:40.67,0:17:41.70,eva main,Comment,0000,0000,0000,,Watch out!
Dialogue: 0,0:17:51.32,0:17:52.89,eva broadcast,Comment,0000,0000,0000,,The Eva moved!
Dialogue: 0,0:17:52.89,0:17:54.09,eva broadcast,Comment,0000,0000,0000,,What's going on?!
Dialogue: 0,0:17:54.09,0:17:56.46,eva broadcast,Comment,0000,0000,0000,,It broke the right arm restraint!
Dialogue: 0,0:17:56.46,0:17:58.02,eva main,Comment,0000,0000,0000,,No, that's impossible!
Dialogue: 0,0:17:58.53,0:18:00.73,eva main,Comment,0000,0000,0000,,It didn't even have an entry plug inserted!
Dialogue: 0,0:18:00.73,0:18:01.96,eva main,Comment,0000,0000,0000,,There's no way it could have moved!
Dialogue: 0,0:18:03.10,0:18:05.33,eva main,Comment,0000,0000,0000,,It reacted without any interface?!
Dialogue: 0,0:18:06.13,0:18:08.20,eva main,Comment,0000,0000,0000,,Or was it protecting...
Dialogue: 0,0:18:08.20,0:18:09.23,eva main,Comment,0000,0000,0000,,him?
Dialogue: 0,0:18:10.54,0:18:11.53,eva main,Comment,0000,0000,0000,,We can do it.
Dialogue: 0,0:18:32.56,0:18:37.16,eva main,Comment,0000,0000,0000,,I mustn't run away. I mustn't run away.\NI mustn't run away. I mustn't run away.
Dialogue: 0,0:18:37.16,0:18:38.32,eva main,Comment,0000,0000,0000,,I mustn't run away!
Dialogue: 0,0:18:39.77,0:18:40.67,eva main,Comment,0000,0000,0000,,I'll do it.
Dialogue: 0,0:18:41.37,0:18:42.49,eva main,Comment,0000,0000,0000,,I'll pilot it!
Dialogue: 0,0:18:46.04,0:18:47.34,eva broadcast,Comment,0000,0000,0000,,Cooling process, completed.
Dialogue: 0,0:18:47.34,0:18:48.88,eva broadcast,Comment,0000,0000,0000,,Right arm re-secured.
Dialogue: 0,0:18:48.88,0:18:50.91,eva broadcast,Comment,0000,0000,0000,,Cage contents now in position for docking.
Dialogue: 0,0:18:50.91,0:18:51.85,eva main,Comment,0000,0000,0000,,Roger.
Dialogue: 0,0:18:51.85,0:18:54.68,eva main,Comment,0000,0000,0000,,Signal terminator plug has been ejected.
Dialogue: 0,0:18:55.22,0:18:57.82,eva broadcast,Comment,0000,0000,0000,,Roger. Inserting entry plug.
Dialogue: 0,0:18:57.82,0:19:00.88,eva broadcast,Comment,0000,0000,0000,,Direct hydro-transmission system,\nconnection prepared.
Dialogue: 0,0:19:04.93,0:19:06.43,eva broadcast,Comment,0000,0000,0000,,Plug fixed in place.
Dialogue: 0,0:19:06.43,0:19:08.16,eva broadcast,Comment,0000,0000,0000,,First stage connection initiated.
Dialogue: 0,0:19:13.07,0:19:14.90,eva broadcast,Comment,0000,0000,0000,,Filling the entry plug.
Dialogue: 0,0:19:16.07,0:19:17.47,eva main,Comment,0000,0000,0000,,What is this stuff?
Dialogue: 0,0:19:21.41,0:19:24.45,eva main,Comment,0000,0000,0000,,Don't worry. Once your lungs\nare filled with LCL,
Dialogue: 0,0:19:24.45,0:19:27.21,eva main,Comment,0000,0000,0000,,your blood will be oxygenated directly.
Dialogue: 0,0:19:27.21,0:19:28.55,eva broadcast,Comment,0000,0000,0000,,You'll get used to it.
Dialogue: 0,0:19:32.02,0:19:33.45,eva main,Comment,0000,0000,0000,,I feel nauseous.
Dialogue: 0,0:19:33.45,0:19:35.72,eva main,Comment,0000,0000,0000,,Stop whining! You're a boy, aren't you?!
Dialogue: 0,0:19:37.02,0:19:38.16,eva broadcast,Comment,0000,0000,0000,,Connecting main power.
Dialogue: 0,0:19:38.16,0:19:40.86,eva broadcast,Comment,0000,0000,0000,,All circuits transmitting power.
Dialogue: 0,0:19:40.86,0:19:41.70,eva broadcast,Comment,0000,0000,0000,,Roger.
Dialogue: 0,0:19:41.70,0:19:43.36,eva broadcast,Comment,0000,0000,0000,,Commencing secondary contacts.
Dialogue: 0,0:19:44.93,0:19:47.37,eva broadcast,Comment,0000,0000,0000,,A-10 nerve connection, normal.
Dialogue: 0,0:19:47.37,0:19:52.57,eva broadcast,Comment,0000,0000,0000,,Set the thought configuration to Japanese.
Dialogue: 0,0:19:53.44,0:19:55.88,eva broadcast,Comment,0000,0000,0000,,All preliminary contacts established.\NPerformance nominal.
Dialogue: 0,0:19:55.88,0:19:57.67,eva broadcast,Comment,0000,0000,0000,,Bi-directional circuits are open.
Dialogue: 0,0:19:58.21,0:20:00.74,eva broadcast,Comment,0000,0000,0000,,Synchronization rate at 41.3%.
Dialogue: 0,0:20:01.38,0:20:02.62,eva main,Comment,0000,0000,0000,,Amazing.
Dialogue: 0,0:20:02.62,0:20:06.21,eva main,Comment,0000,0000,0000,,Harmonics are all normal.\NNo disturbances identified.
Dialogue: 0,0:20:06.99,0:20:08.01,eva main,Comment,0000,0000,0000,,We can do it.
Dialogue: 0,0:20:09.39,0:20:10.62,eva main,Comment,0000,0000,0000,,Prepare to launch!
Dialogue: 0,0:20:12.59,0:20:14.13,eva broadcast,Comment,0000,0000,0000,,Prepare to launch!
Dialogue: 0,0:20:14.13,0:20:15.60,eva broadcast,Comment,0000,0000,0000,,Disengage primary lock bolts!
Dialogue: 0,0:20:17.13,0:20:20.29,eva broadcast,Comment,0000,0000,0000,,Disengage confirmed.\NDisengaging the umbilical bridge.
Dialogue: 0,0:20:22.70,0:20:24.10,eva broadcast,Comment,0000,0000,0000,,Disengage secondary lock bolts.
Dialogue: 0,0:20:26.44,0:20:28.38,eva broadcast,Comment,0000,0000,0000,,Disengage primary restraints.
Dialogue: 0,0:20:28.38,0:20:30.81,eva broadcast,Comment,0000,0000,0000,,Likewise, disengage secondary restraints.
Dialogue: 0,0:20:34.28,0:20:37.22,eva broadcast,Comment,0000,0000,0000,,Release safety locks numbers\none through fifteen.
Dialogue: 0,0:20:37.22,0:20:38.24,eva broadcast,Comment,0000,0000,0000,,Release confirmed.
Dialogue: 0,0:20:38.65,0:20:40.79,eva broadcast,Comment,0000,0000,0000,,Currently, Unit 01's condition is free.
Dialogue: 0,0:20:40.79,0:20:42.42,eva broadcast,Comment,0000,0000,0000,,Internal batteries fully charged.
Dialogue: 0,0:20:42.42,0:20:44.45,eva broadcast,Comment,0000,0000,0000,,External battery outlet, normal.
Dialogue: 0,0:20:45.03,0:20:47.96,eva main,Comment,0000,0000,0000,,Roger. Move Eva Unit 01\nto the ejector pad.
Dialogue: 0,0:21:03.54,0:21:05.44,eva main,Comment,0000,0000,0000,,Launch path is clear. All systems green.
Dialogue: 0,0:21:05.85,0:21:07.18,eva main,Comment,0000,0000,0000,,Ready for launch.
Dialogue: 0,0:21:08.25,0:21:09.18,eva main,Comment,0000,0000,0000,,Roger.
Dialogue: 0,0:21:10.02,0:21:11.12,eva main,Comment,0000,0000,0000,,Can we really do this?
Dialogue: 0,0:21:11.12,0:21:12.18,eva main,Comment,0000,0000,0000,,Of course.
Dialogue: 0,0:21:13.05,0:21:15.61,eva main,Comment,0000,0000,0000,,Unless we defeat the Angels,\nwe have no future.
Dialogue: 0,0:21:17.19,0:21:20.18,eva main,Comment,0000,0000,0000,,Ikari, you're really sure about this?
Dialogue: 0,0:21:21.83,0:21:22.80,eva main,Comment,0000,0000,0000,,Launch!
Dialogue: 0,0:21:56.76,0:21:58.86,eva main,Comment,0000,0000,0000,,Shinji-kun, don't get killed out there.
Dialogue: 0,0:21:58.83,0:22:00.46,eva titles,Comment,0000,0000,0000,,{\fsp-3\fs80\pos(531,377)}To Be Continued
Dialogue: 0,0:23:05.86,0:23:06.77,eva titles,Comment,0000,0000,0000,,{\pos(352,487)\fsp-3}Preview
Dialogue: 0,0:23:06.77,0:23:08.14,eva main,Comment,0000,0000,0000,,Eva triumphs over the Angel!
Dialogue: 0,0:23:08.14,0:23:10.40,eva main,Comment,0000,0000,0000,,However, that was just the beginning.
Dialogue: 0,0:23:10.64,0:23:12.27,eva main,Comment,0000,0000,0000,,Shinji runs away from his father.
Dialogue: 0,0:23:12.27,0:23:15.67,eva main,Comment,0000,0000,0000,,Misato's arrogance leads her\nto try to save him.
Dialogue: 0,0:23:16.04,0:23:18.41,eva main,Comment,0000,0000,0000,,Next Evangelion: "Unfamiliar Ceiling"
Dialogue: 0,0:23:18.41,0:23:20.45,eva main,Comment,0000,0000,0000,,I'll give you fan service next time too!
Dialogue: 0,0:23:18.83,0:23:20.87,eva titles,Comment,0000,0000,0000,,{\c&H071914&\fsp-3\pos(353,389)}Unfamiliar Ceiling
Dialogue: 0,0:23:18.83,0:23:20.87,eva titles,Comment,0000,0000,0000,,{\c&H071914&\fs60\fsp-2\pos(343,85)}Next Episode

View File

@ -176,10 +176,22 @@
RelativePath=".\src\suites.h"
>
</File>
<File
RelativePath=".\src\utils.cpp"
>
</File>
<File
RelativePath=".\src\utils.h"
>
</File>
</Filter>
<Filter
Name="Athenasub"
>
<File
RelativePath=".\src\athenasub\test_file.cpp"
>
</File>
<File
RelativePath=".\src\athenasub\test_string.cpp"
>