Veteran Member
|
02-05-2013
, 12:26
Module bad load | Linux
|
#1
|
I compiled the module on VirtualBox
PHP Code:
#include <extdll.h> #include <meta_api.h>
meta_globals_t *gpMetaGlobals;
plugin_info_t info = { META_INTERFACE_VERSION, // ifvers "HELLO WORLD", // name "1.01", // version "2011/02/19", // date "6a6kin", // author "http://ultra.ucoz.ru", // url "HELLOWORLD", // logtag, all caps please PT_ANYTIME, // (when) loadable PT_ANYPAUSE // (when) unloadable };
static META_FUNCTIONS gMetaFunctionTable = { NULL, // pfnGetEntityAPI HL SDK; called before game DLL NULL, // pfnGetEntityAPI_Post META; called after game DLL NULL, // pfnGetEntityAPI2 HL SDK2; called before game DLL NULL, // pfnGetEntityAPI2_Post META; called after game DLL NULL, // pfnGetNewDLLFunctions HL SDK2; called before game DLL NULL, // pfnGetNewDLLFunctions_Post META; called after game DLL GetEngineFunctions, // pfnGetEngineFunctions META; called before HL engine NULL // pfnGetEngineFunctions_Post META; called after HL engine };
enginefuncs_t g_engfuncs; globalvars_t *gpGlobals;
#if defined _MSC_VER #pragma comment(linker, "/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8") #endif
C_DLLEXPORT void WINAPI GiveFnptrsToDll(enginefuncs_t* pengfuncsFromEngine, globalvars_t *pGlobals) { memcpy(&g_engfuncs, pengfuncsFromEngine, sizeof(enginefuncs_t)); gpGlobals = pGlobals; ALERT(at_console, "[HELLOWORLD]: GiveFnptrsToDll\n"); }
C_DLLEXPORT int Meta_Query(char *interfaceVersion, plugin_info_t **pinfo, mutil_funcs_t *pMetaUtilFuncs) { *pinfo = &info; ALERT(at_console, "[HELLOWORLD]: meta_query\n"); return(TRUE); }
C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, meta_globals_t *pMGlobals, gamedll_funcs_t *pGamedllFuncs) {
if(!pFunctionTable) { return(FALSE); }
memcpy(pFunctionTable, &gMetaFunctionTable, sizeof(META_FUNCTIONS)); gpMetaGlobals = pMGlobals; ALERT(at_console, "[HELLOWORLD]: meta_attach\n"); return(TRUE); }
C_DLLEXPORT int Meta_Detach(PLUG_LOADTIME now, PL_UNLOAD_REASON reason) { ALERT(at_console, "[HELLOWORLD]: meta_detach\n"); return(TRUE); }
int fnPre(char *s) { ALERT(at_console, "[HELLOWORLD]: model precaching\n"); RETURN_META_VALUE(MRES_IGNORED, 0); }
enginefuncs_t my_tracers = { fnPre, // pfnPrecacheModel() NULL, // pfnPrecacheSound() NULL, // pfnSetModel() NULL, // pfnModelIndex() NULL, // pfnModelFrames()
NULL, // pfnSetSize() NULL, // pfnChangeLevel() NULL, // pfnGetSpawnParms() NULL, // pfnSaveSpawnParms()
NULL, // pfnVecToYaw() NULL, // pfnVecToAngles() NULL, // pfnMoveToOrigin() NULL, // pfnChangeYaw() NULL, // pfnChangePitch()
NULL, // pfnFindEntityByString() NULL, // pfnGetEntityIllum() NULL, // pfnFindEntityInSphere() NULL, // pfnFindClientInPVS() NULL, // pfnEntitiesInPVS()
NULL, // pfnMakeVectors() NULL, // pfnAngleVectors()
NULL, // pfnCreateEntity() NULL, // pfnRemoveEntity() NULL, // pfnCreateNamedEntity()
NULL, // pfnMakeStatic() NULL, // pfnEntIsOnFloor() NULL, // pfnDropToFloor()
NULL, // pfnWalkMove() NULL, // pfnSetOrigin()
NULL, // pfnEmitSound() NULL, // pfnEmitAmbientSound()
NULL, // pfnTraceLine() NULL, // pfnTraceToss() NULL, // pfnTraceMonsterHull() NULL, // pfnTraceHull() NULL, // pfnTraceModel() NULL, // pfnTraceTexture() NULL, // pfnTraceSphere() NULL, // pfnGetAimVector()
NULL, // pfnServerCommand() NULL, // pfnServerExecute() NULL, // pfnClientCommand()
NULL, // pfnParticleEffect() NULL, // pfnLightStyle() NULL, // pfnDecalIndex() NULL, // pfnPointContents()
NULL, // pfnMessageBegin() NULL, // pfnMessageEnd()
NULL, // pfnWriteByte() NULL, // pfnWriteChar() NULL, // pfnWriteShort() NULL, // pfnWriteLong() NULL, // pfnWriteAngle() NULL, // pfnWriteCoord() NULL, // pfnWriteString() NULL, // pfnWriteEntity()
NULL, // pfnCVarRegister() NULL, // pfnCVarGetFloat() NULL, // pfnCVarGetString() NULL, // pfnCVarSetFloat() NULL, // pfnCVarSetString()
NULL, // pfnAlertMessage() NULL, // pfnEngineFprintf()
NULL, // pfnPvAllocEntPrivateData() NULL, // pfnPvEntPrivateData() NULL, // pfnFreeEntPrivateData()
NULL, // pfnSzFromIndex() NULL, // pfnAllocString()
NULL, // pfnGetVarsOfEnt() NULL, // pfnPEntityOfEntOffset() NULL, // pfnEntOffsetOfPEntity() NULL, // pfnIndexOfEdict() NULL, // pfnPEntityOfEntIndex() NULL, // pfnFindEntityByVars() NULL, // pfnGetModelPtr()
NULL, // pfnRegUserMsg()
NULL, // pfnAnimationAutomove() NULL, // pfnGetBonePosition()
NULL, // pfnFunctionFromName() NULL, // pfnNameForFunction()
NULL, // pfnClientPrintf() NULL, // pfnServerPrint()
NULL, // pfnCmd_Args() NULL, // pfnCmd_Argv() NULL, // pfnCmd_Argc()
NULL, // pfnGetAttachment()
NULL, // pfnCRC32_Init() NULL, // pfnCRC32_ProcessBuffer() NULL, // pfnCRC32_ProcessByte() NULL, // pfnCRC32_Final()
NULL, // pfnRandomLong() NULL, // pfnRandomFloat()
NULL, // pfnSetView() NULL, // pfnTime() NULL, // pfnCrosshairAngle()
NULL, // pfnLoadFileForMe() NULL, // pfnFreeFile()
NULL, // pfnEndSection() NULL, // pfnCompareFileTime() NULL, // pfnGetGameDir() NULL, // pfnCvar_RegisterVariable() NULL, // pfnFadeClientVolume() NULL, // pfnSetClientMaxspeed() NULL, // pfnCreateFakeClient() NULL, // pfnRunPlayerMove() NULL, // pfnNumberOfEntities()
NULL, // pfnGetInfoKeyBuffer() NULL, // pfnInfoKeyValue() NULL, // pfnSetKeyValue() NULL, // pfnSetClientKeyValue()
NULL, // pfnIsMapValid() NULL, // pfnStaticDecal() NULL, // pfnPrecacheGeneric() NULL, // pfnGetPlayerUserId() NULL, // pfnBuildSoundMsg() NULL, // pfnIsDedicatedServer() NULL, // pfnCVarGetPointer() NULL, // pfnGetPlayerWONId()
NULL, // pfnInfo_RemoveKey() NULL, // pfnGetPhysicsKeyValue() NULL, // pfnSetPhysicsKeyValue() NULL, // pfnGetPhysicsInfoString() NULL, // pfnPrecacheEvent() NULL, // pfnPlaybackEvent()
NULL, // pfnSetFatPVS() NULL, // pfnSetFatPAS()
NULL, // pfnCheckVisibility()
NULL, // pfnDeltaSetField() NULL, // pfnDeltaUnsetField() NULL, // pfnDeltaAddEncoder() NULL, // pfnGetCurrentPlayer() NULL, // pfnCanSkipPlayer() NULL, // pfnDeltaFindField() NULL, // pfnDeltaSetFieldByIndex() NULL, // pfnDeltaUnsetFieldByIndex()
NULL, // pfnSetGroupMask()
NULL, // pfnCreateInstancedBaseline() NULL, // pfnCvar_DirectSet()
NULL, // pfnForceUnmodified()
NULL, // pfnGetPlayerStats()
NULL, // pfnAddServerCommand()
NULL, // pfnVoice_GetClientListening() NULL, // pfnVoice_SetClientListening()
NULL, // pfnGetPlayerAuthId()
NULL, // pfnSequenceGet() NULL, // pfnSequencePickSentence() NULL, // pfnGetFileSize() NULL, // pfnGetApproxWavePlayLen() NULL, // pfnIsCareerMatch() NULL, // pfnGetLocalizedStringLength() NULL, // pfnRegisterTutorMessageShown() NULL, // pfnGetTimesTutorMessageShown() NULL, // pfnProcessTutorMessageDecayBuffer() NULL, // pfnConstructTutorMessageDecayBuffer() NULL, // pfnResetTutorMessageDecayData() NULL, // pfnQueryClientCvarValue() NULL, // pfnQueryClientCvarValue2() };
C_DLLEXPORT int GetEngineFunctions(enginefuncs_t *pengfuncsFromEngine, int *interfaceVersion) { if(!pengfuncsFromEngine) { return(FALSE); } else if(*interfaceVersion != ENGINE_INTERFACE_VERSION) { *interfaceVersion = ENGINE_INTERFACE_VERSION; return(FALSE); }
memcpy(pengfuncsFromEngine, &my_tracers, sizeof(enginefuncs_t)); ALERT(at_console, "[HELLOWORLD]: transfer successfully ended\n"); return(TRUE); }
PHP Code:
#(C)2004-2005 AMX Mod X Development Team # Makefile written by David "BAILOPAN" Anderson
HLSDK = ../../hlsdk-2.3-p3 MM_ROOT = ../metamod
### EDIT BELOW FOR OTHER PROJECTS ###
OPT_FLAGS = -O2 -funroll-loops -s -pipe -fomit-frame-pointer -fno-strict-aliasing DEBUG_FLAGS = -g -ggdb3 CPP = g++ NAME = stub
BIN_SUFFIX_32 = i386.so BIN_SUFFIX_64 = amd64.so
OBJECTS = stub.cpp
LINK =
INCLUDE = -I. -I$(HLSDK) -I$(HLSDK)/dlls -I$(HLSDK)/engine -I$(HLSDK)/game_shared -I$(HLSDK)/game_shared \ -I$(MM_ROOT) -I$(HLSDK)/common -I$(HLSDK)/pm_shared -Isdk -Iinclude
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
ifeq "$(GCC_VERSION)" "4" OPT_FLAGS += -fvisibility=hidden -fvisibility-inlines-hidden endif
ifeq "$(DEBUG)" "true" BIN_DIR = Debug CFLAGS = $(DEBUG_FLAGS) else BIN_DIR = Release CFLAGS = $(OPT_FLAGS) endif
CFLAGS += -DNDEBUG -Wall -Wno-char-subscripts -Wno-unknown-pragmas -Wno-write-strings -Wno-deprecated -Wno-non-virtual-dtor -fno-exceptions -DHAVE_STDINT_H -fno-rtti -static-libgcc -m32
ifeq "$(AMD64)" "true" BINARY = $(NAME)_$(BIN_SUFFIX_64) CFLAGS += -DPAWN_CELL_SIZE=64 -DHAVE_I64 -m64 else BINARY = $(NAME)_$(BIN_SUFFIX_32) CFLAGS += -DPAWN_CELL_SIZE=32 -DJIT -DASM32 OPT_FLAGS += -march=i586 endif
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
$(BIN_DIR)/%.o: %.cpp $(CPP) $(INCLUDE) $(CFLAGS) -o $@ -c $<
all: mkdir -p $(BIN_DIR) mkdir -p $(BIN_DIR)/sdk $(MAKE) stub
amd64: $(MAKE) all AMD64=true
stub: $(OBJ_LINUX) $(CPP) $(INCLUDE) $(CFLAGS) $(OBJ_LINUX) $(LINK) -shared -ldl -lm -o$(BIN_DIR)/$(BINARY)
debug: $(MAKE) all DEBUG=true
default: all
clean: rm -rf $(BIN_DIR)/sdk/*.o rm -rf $(BIN_DIR)/*.o rm -rf $(BIN_DIR)/$(NAME)_$(BIN_SUFFIX_32) rm -rf $(BIN_DIR)/$(NAME)_$(BIN_SUFFIX_64)
PHP Code:
meta list Currently loaded plugins: description stat pend file vers src load unlod [ 1] <stub.so> badf load stub.so v - ini - - 1 plugins, 0 running
plugins.ini :
linux addons/stub/stub.so
module:
/addons/stub/stub.so
What's the problem?
__________________
Last edited by Bos93; 02-05-2013 at 12:30.
|
|