From: Jarda B. <edh...@us...> - 2005-11-06 16:06:38
|
Update of /cvsroot/gemrb/gemrb/gemrb/plugins/FXOpcodes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24887/plugins/FXOpcodes Added Files: .cvsignore FXOpc.cpp FXOpcodes.cpp FXOpcodesCD.cpp FXOpc.h FXOpcodesCD.h Makefile.am Log Message: Moved Effect opcodes to their own plugin, FXOpcodes --- NEW FILE: .cvsignore --- *.lo *.la .deps .libs Makefile Makefile.in --- NEW FILE: FXOpc.cpp --- /* GemRB - Infinity Engine Emulator * Copyright (C) 2003 The GemRB Project * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Header: /cvsroot/gemrb/gemrb/gemrb/plugins/FXOpcodes/FXOpc.cpp,v 1.1 2005/11/06 16:06:23 edheldil Exp $ * [...1750 lines suppressed...] { if (0) printf( "fx_cure_confused_state (%2d): Mod: %d, Type: %d\n", fx->Opcode, fx->Parameter1, fx->Parameter2 ); STATE_CURE( STATE_CONFUSED ); return FX_NOT_APPLIED; } // 0x126 int fx_scripting_state (Actor* /*Owner*/, Actor* target, Effect* fx) { if (0) printf( "fx_scripting_state (%2d): Value: %d, Stat: %d\n", fx->Opcode, fx->Parameter1, fx->Parameter2 ); //original engine didn't check boundaries, causing crashes //we allow only positive indices if (fx->Parameter2>100) { return FX_NOT_APPLIED; } target->NewStat( IE_SCRIPTINGSTATE1+fx->Parameter2, fx->Parameter1, MOD_ABSOLUTE ); return FX_APPLIED; } --- NEW FILE: FXOpcodesCD.cpp --- /* GemRB - Infinity Engine Emulator * Copyright (C) 2003 The GemRB Project * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Header: /cvsroot/gemrb/gemrb/gemrb/plugins/FXOpcodes/FXOpcodesCD.cpp,v 1.1 2005/11/06 16:06:23 edheldil Exp $ * */ #include "FXOpcodesCD.h" #include "FXOpc.h" FXOpcodesCD::FXOpcodesCD(void) { } FXOpcodesCD::~FXOpcodesCD(void) { } void* FXOpcodesCD::Create(void) { return new FXOpc(); } const char* FXOpcodesCD::ClassName(void) { return "FXOpcodes"; } SClass_ID FXOpcodesCD::SuperClassID(void) { return IE_FX_CLASS_ID; } Class_ID FXOpcodesCD::ClassID(void) { return Class_ID( 0x00300000, 0x00000001 ); } const char* FXOpcodesCD::InternalName(void) { return "FXOpc"; } --- NEW FILE: Makefile.am --- plugin_LTLIBRARIES = libFXOpcodes.la INCLUDES = $(all_includes) libFXOpcodes_la_LDFLAGS = -module -version-info 0:0:0 libFXOpcodes_la_LIBADD = ../Core/libgemrb_core.la libFXOpcodes_la_METASOURCES = AUTO libFXOpcodes_la_SOURCES = FXOpcodesCD.cpp FXOpcodes.cpp FXOpc.cpp noinst_HEADERS = FXOpc.h FXOpcodesCD.h --- NEW FILE: FXOpcodesCD.h --- /* GemRB - Infinity Engine Emulator * Copyright (C) 2003 The GemRB Project * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Header: /cvsroot/gemrb/gemrb/gemrb/plugins/FXOpcodes/FXOpcodesCD.h,v 1.1 2005/11/06 16:06:23 edheldil Exp $ * */ #ifndef FXOPCODESCD_H #define FXOPCODESCD_H #include "../Core/ClassDesc.h" class FXOpcodesCD : public ClassDesc { public: FXOpcodesCD(void); ~FXOpcodesCD(void); void* Create(void); const char* ClassName(void); SClass_ID SuperClassID(void); Class_ID ClassID(void); const char* InternalName(void); }; static FXOpcodesCD FXopcodesCD; #endif --- NEW FILE: FXOpcodes.cpp --- /* GemRB - Infinity Engine Emulator * Copyright (C) 2003 The GemRB Project * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Header: /cvsroot/gemrb/gemrb/gemrb/plugins/FXOpcodes/FXOpcodes.cpp,v 1.1 2005/11/06 16:06:23 edheldil Exp $ * */ /** * @file FXOpcodes.cpp * Defines the entry point for the DLL application. * @author The GemRB Project */ #include "../../includes/globals.h" #include "FXOpcodesCD.h" #ifdef WIN32 #define GEM_EXPORT_DLL __declspec(dllexport) #else #define GEM_EXPORT_DLL #endif #ifdef WIN32 #include <windows.h> BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { return TRUE; } #endif GEM_EXPORT_DLL ClassDesc* LibClassDesc() { return &FXopcodesCD; } GEM_EXPORT_DLL const char* LibDescription() { return "Effect opcodes for core games"; } GEM_EXPORT_DLL const char* LibVersion() { return VERSION_GEMRB; } --- NEW FILE: FXOpc.h --- /* GemRB - Infinity Engine Emulator * Copyright (C) 2003 The GemRB Project * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * $Header: /cvsroot/gemrb/gemrb/gemrb/plugins/FXOpcodes/FXOpc.h,v 1.1 2005/11/06 16:06:23 edheldil Exp $ * */ #ifndef FXOPC_H #define FXOPC_H #include "../Core/OpcodeMgr.h" class FXOpc : public OpcodeMgr { public: FXOpc(void); ~FXOpc(void); bool Init(void); void release(void) { delete this; } }; #endif |