Skip to content

Commit

Permalink
ready for release 2
Browse files Browse the repository at this point in the history
  • Loading branch information
unknown authored and unknown committed Jan 21, 2012
1 parent 2e06e72 commit 7e57793
Show file tree
Hide file tree
Showing 76 changed files with 65,595 additions and 2,312 deletions.
38 changes: 21 additions & 17 deletions Makefile
@@ -1,5 +1,5 @@

#wxdir where wxwidgets is; if it's in your path just leave this blank
#dir where wxwidgets is; if it's in your local bin just leave it blank
wxdir=

CC=gcc
Expand All @@ -8,27 +8,31 @@ bin=bin/
src=src/
objs=objs/
lua=$(src)lua/
swig=$(src)swig/
view=$(src)view/
util=$(src)util/
genie=$(src)genie/
control=$(src)control/
objlibs=`$(wxdir)wx-config --cxxflags`
linkerlibs=-llua51 `$(wxdir)wx-config --libs --static` -static-libgcc -static -lz
linkerlibs=-llua51 `$(wxdir)wx-config --libs --static` -static-libgcc -static

#C++ Source Files

controlFiles=$(control)LuaFileController.cpp $(control)ScenarioFileController.cpp

genieFiles=$(genie)aok_types.cpp $(genie)Condition.cpp $(genie)ConditionTypes.cpp $(genie)Effect.cpp $(genie)EffectTypes.cpp $(genie)Trigger.cpp $(genie)Scenario.cpp $(genie)util_file.cpp

luaFiles=$(lua)NewTrigger.cpp $(lua)LCondition.cpp $(lua)LEffect.cpp $(lua)LuaFile.cpp
luaFiles=$(lua)NewTrigger.cpp $(lua)LuaFile.cpp

viewFiles=$(view)LTMain.cpp $(view)LTFrame.cpp $(view)LTDialog_Settings.cpp $(view)LTDialog_About.cpp $(view)LTDialog_TriggerGen.cpp $(view)LTDialog_ChooseScen.cpp $(view)LTPage_FileBase.cpp $(view)LTPage_Script.cpp $(view)LTPage_Scen.cpp
viewFiles=$(view)LuaTrigMain.cpp $(view)LTFrame.cpp $(view)LTDialog_Settings.cpp $(view)LTDialog_About.cpp $(view)LTDialog_ChooseScen.cpp $(view)LTPage_File.cpp $(view)LTPage_Script.cpp $(view)LTPage_Scen.cpp

srcFiles=$(genieFiles) $(luaFiles) $(viewFiles)
srcFiles=$(controlFiles) $(genieFiles) $(luaFiles) $(viewFiles)

#Compiled source files
objFiles=$(subst $(src),$(objs),$(srcFiles:.cpp=.o))

#Swig header files
swigFiles=$(lua)NewTriggerSwig.i $(lua)LEffectSwig.i $(lua)LConditionSwig.i
swigFiles=$(swig)SwigTrigger.i

#Swig wrapper files
swigWrapperFiles=$(subst $(src),$(src),$(swigFiles:.i=.cxx))
Expand All @@ -40,21 +44,21 @@ swigObjFiles=$(subst $(src),$(objs),$(swigFiles:.i=.o))
.PHONY: $(outName) upx release

#main compilation, final linking
$(outName): $(objFiles) $(swigWrapperFiles) $(swigObjFiles) $(objs)resource.o
g++ $(objFiles) $(swigObjFiles) $(objs)resource.o $(linkerlibs) -o program/$(outName)
$(outName): $(objFiles) $(swigFiles) $(swigWrapperFiles) $(swigObjFiles) $(objs)resource.o
g++ $(objFiles) $(swigObjFiles) $(objs)resource.o $(linkerlibs) -o bin/$(outName)

#compress program using upx - windows only
upx:
upx --best program/$(outName).exe

#put all files in folder for release
release:
mkdir -p release
rm release/*.*
mkdir -p release/scripts
cp program/LuaTrig.exe release/LuaTrig.exe
rm -rf release
mkdir release
mkdir release/scripts
cp bin/LuaTrig.exe release/LuaTrig.exe
cp bin/*.dll release/
cp README.markdown release/readme.txt
cp README.markdown release/README.txt

$(objs)resource.o: $(src)resource.rc
windres $(src)resource.rc -o coff -o $(objs)resource.o
Expand All @@ -64,6 +68,7 @@ $(objs)resource.o: $(src)resource.rc

#Dependency generation for source files
$(objs)%.d:$(src)%.cpp
mkdir -p $(dir $@)
$(CC) -MM $(objlibs) $(CPPFLAGS) $< -o $(objs)$*.P;
sed -r 's/$(notdir $*.o)/objs\/$(subst /,\/,$*.o)/g' < $(objs)$*.P > $(objs)$*.d;
rm $(objs)$*.P
Expand All @@ -90,9 +95,8 @@ $(objs)%.o:$(src)%.cxx
#swig header generation, .i -> .cxx
$(swigFiles:.i=.cxx):%.cxx:%.i;
mkdir -p $(dir $@)
swig -lua -c++ -o $@ $<
swig -Wall -lua -c++ -o $@ $<

clean:
rm -f $(objFiles)
rm -f $(objFiles:.o=.d)
rm -f $(objFiles:.o=.P)
rm -rf $(objFiles)
rm -rf $(objFiles:.o=.d)z
2 changes: 1 addition & 1 deletion README.markdown
Expand Up @@ -50,4 +50,4 @@ Operating Systems

* LuaTrig will only compile on Windows with the included makefile.

* It could compile on linux with some tweaking, but it would take a little bit of messing around.
* It could compile on linux with some tweaking, but it would take a little bit of messing around.z
1 change: 1 addition & 0 deletions bin/scripts/readme.txt
@@ -0,0 +1 @@
This is the default folder for lua scripts generated by LuaTrigz
2 changes: 0 additions & 2 deletions program/config.ini

This file was deleted.

1 change: 0 additions & 1 deletion program/scripts/readme.txt

This file was deleted.

28 changes: 28 additions & 0 deletions src/control/FileController.h
@@ -0,0 +1,28 @@
#ifndef LUATRIGCONTRL_H_
#define LUATRIGCONTRL_H_

#include <string>
#include <vector>

class Trigger;

struct FileError
{
std::string message;
};

class FileController
{
public:
virtual void setPath(const char *)=0;
virtual void write(const char *)=0;
virtual void write()=0;
virtual FileError read()=0;

virtual void copyTriggers(FileController *)=0;
virtual std::vector<Trigger *> getTriggers()=0;

virtual const char *getPath()=0;
};

#endif
50 changes: 50 additions & 0 deletions src/control/LuaFileController.cpp
@@ -0,0 +1,50 @@
#include "LuaFileController.h"
#include "../lua/LuaFile.h"
#include "../genie/Trigger.h"

LuaFileController::LuaFileController()
{
}

void LuaFileController::setPath(const char *path)
{
//whenever resetting the path, delete the old luafile that was stored
delete luaFile;
luaFile = new LuaFile(path);
}

FileError LuaFileController::read()
{
bool hasErr = luaFile->read();
FileError err;
if (hasErr)
err.message.assign(luaFile->error());

return err;
}

//writes lua
void LuaFileController::write(const char *writePath)
{
luaFile->write(writePath);
}

void LuaFileController::write()
{
write(luaFile->getPath().c_str());
}

void LuaFileController::copyTriggers(FileController *other)
{
luaFile->triggers = other->getTriggers();
}

std::vector<Trigger *> LuaFileController::getTriggers()
{
return luaFile->triggers;
}

const char *LuaFileController::getPath()
{
return luaFile->getPath().c_str();
}
26 changes: 26 additions & 0 deletions src/control/LuaFileController.h
@@ -0,0 +1,26 @@
#ifndef LUA_FILE_CONTROLLER_H_
#define LUA_FILE_CONTROLLER_H_

#include "FileController.h"

class LuaFile; //fwd so we don't have to include here

class LuaFileController : public FileController
{
private:
LuaFile *luaFile;
public:
LuaFileController();

void setPath(const char *);
void write(const char *);
void write();
FileError read();

void copyTriggers(FileController *);
std::vector<Trigger *> getTriggers();

const char *getPath();
};

#endif
50 changes: 50 additions & 0 deletions src/control/ScenarioFileController.cpp
@@ -0,0 +1,50 @@
#include "ScenarioFileController.h"
#include "../genie/Scenario.h"

ScenarioFileController::ScenarioFileController()
{
}

void ScenarioFileController::setPath(const char *path)
{
//whenever resetting the path, delete the old scen that was stored
delete scenario;
scenario = new Scenario(path);
}

FileError ScenarioFileController::read()
{
scenario->open();
scenario->read();
scenario->cleanup();
FileError err;
return err;
}

//writes scn
void ScenarioFileController::write(const char *writePath)
{
scenario->write(writePath);
scenario->cleanup();
}

void ScenarioFileController::write()
{
write(scenario->getPath().c_str());
}


void ScenarioFileController::copyTriggers(FileController *other)
{
scenario->triggers = other->getTriggers();
}

std::vector<Trigger *> ScenarioFileController::getTriggers()
{
return scenario->triggers;
}

const char *ScenarioFileController::getPath()
{
return scenario->getPath().c_str();
}
26 changes: 26 additions & 0 deletions src/control/ScenarioFileController.h
@@ -0,0 +1,26 @@
#ifndef SCENARIO_FILE_CONTROLLER_H_
#define SCENARIO_FILE_CONTROLLER_H_

#include "FileController.h"

class Scenario; //fwd so we don't have to include here

class ScenarioFileController : public FileController
{
private:
Scenario *scenario;
public:
ScenarioFileController();

void setPath(const char *);
void write(const char *);
void write();
FileError read();

void copyTriggers(FileController *);
std::vector<Trigger *> getTriggers();

const char *getPath();
};

#endif
8 changes: 4 additions & 4 deletions src/defines.h
Expand Up @@ -9,7 +9,8 @@
#define STR_CANCEL "Cancel"
#define STR_CLOSE "Close"
#define STR_RELOAD "Reload"
#define STR_ERROR "Error"
#define STR_ERROR "Error!"
#define STR_OPEN "Open File"

#define STR_CFG_INSTRUCT "Set your Age of Empires II scenario folder and the folder you would like your scripts to be in.\nUse the Set Defaults button to just use the default folders."
#define STR_CFG_FNAME "config.ini"
Expand Down Expand Up @@ -64,7 +65,6 @@

//FILE FRAME
#define STR_FILE_TRIGCNT "Trigger Count:"
#define STR_FILE_ERROR "Script Read Error!"

//SCEN FRAME
#define STR_SCEN_SAVETITLE "Select target location for triggers script:"
Expand All @@ -73,8 +73,8 @@

//LUA FRAME
#define STR_LUA_BASE "Scenario this script is based from:"
#define STR_LUA_BASE_ERR "No scenarios opened. Open a scenario to continue."
#define STR_LUA_BASE_ERR "No scenarios opened. Open a scenario to continue, using the button on the toolbar."
#define STR_LUA_TARGET "Select target location for scenario:"
#define STR_LUA_OVERWRITE "Target scenario is same as base scenario (overwrite)"
#define STR_LUA_WRITE "Write Scenario"
#define STR_LUA_OPEN "Open File"
#define STR_LUA_OPEN "Open File"
52 changes: 50 additions & 2 deletions src/genie/Condition.cpp
@@ -1,4 +1,5 @@
#include "Condition.h"
#include "ConditionTypes.h"

Condition::Condition(long t)
{
Expand All @@ -7,13 +8,59 @@ Condition::Condition(long t)
check_value = 0x10;
}

Condition *Condition::createType(long type)
{
switch(type)
{
case CONDITION_BringObjectToArea:
return new Condition_BringObjectToArea();
case CONDITION_BringObjectToObject:
return new Condition_BringObjectToObject();
case CONDITION_OwnObjects:
return new Condition_OwnObjects();
case CONDITION_OwnFewerObjects:
return new Condition_OwnFewerObjects();
case CONDITION_ObjectsInArea:
return new Condition_ObjectsInArea();
case CONDITION_DestroyObject:
return new Condition_DestroyObject();
case CONDITION_CaptureObject:
return new Condition_CaptureObject();
case CONDITION_AccumulateAttribute:
return new Condition_AccumulateAttribute();
case CONDITION_ResearchTechnology:
return new Condition_ResearchTechnology();
case CONDITION_Timer:
return new Condition_Timer();
case CONDITION_ObjectSelected:
return new Condition_ObjectSelected();
case CONDITION_AISignal:
return new Condition_AISignal();
case CONDITION_PlayerDefeated:
return new Condition_PlayerDefeated();
case CONDITION_ObjectHasTarget:
return new Condition_ObjectHasTarget();
case CONDITION_ObjectVisible:
return new Condition_ObjectVisible();
case CONDITION_ObjectNotVisible:
return new Condition_ObjectNotVisible();
case CONDITION_ResearchingTechnology:
return new Condition_ResearchingTechnology();
case CONDITION_UnitsGarrisoned:
return new Condition_UnitsGarrisoned();
case CONDITION_DifficultyLevel:
return new Condition_DifficultyLevel();
default:
return new Condition_None();
}
}

const char * Condition::getName() {
return (type < NUM_CONDS) ? types[type] : "Unknown!";
}

void Condition::read(FILE *scx)
{
fread(&type, sizeof(long), 1, scx);
fread(&check_value, sizeof(long), 1, scx);
readAmount(scx);
readResource(scx);
Expand Down Expand Up @@ -170,4 +217,5 @@ const char *Condition::propertyTypes[] =
"UnitType",
"UnitConst",
"AISignal",
};
};

0 comments on commit 7e57793

Please sign in to comment.