83 lines
1.6 KiB
C
Executable File
83 lines
1.6 KiB
C
Executable File
// vim: set ts=4 sw=4 tw=99 noet:
|
|
//
|
|
// AMX Mod X, based on AMX Mod by Aleksander Naszko ("OLO").
|
|
// Copyright (C) The AMX Mod X Development Team.
|
|
//
|
|
// This software is licensed under the GNU General Public License, version 3 or higher.
|
|
// Additional exceptions apply. For full license details, see LICENSE.txt or visit:
|
|
// https://alliedmods.net/amxmodx-license
|
|
|
|
#ifndef _AMXXSC_INCLUDE_H
|
|
#define _AMXXSC_INCLUDE_H
|
|
|
|
#include <amxmodx_version.h>
|
|
|
|
#define MAGIC_HEADER2 0x414D5858
|
|
#define MAGIC_VERSION 0x0300
|
|
|
|
#if defined(__linux__) || defined(__APPLE__)
|
|
# include <dlfcn.h>
|
|
#else
|
|
# include <windows.h>
|
|
#endif
|
|
|
|
#include <string.h>
|
|
|
|
#if defined(__linux__) || defined(__APPLE__)
|
|
# define dlmount(x) dlopen(x, RTLD_NOW|RTLD_GLOBAL)
|
|
typedef void* HINSTANCE;
|
|
#else
|
|
# define dlsym(x, s) GetProcAddress(x, s)
|
|
# define dlmount(x) LoadLibrary(x)
|
|
# define dlclose(x) FreeLibrary(x)
|
|
#endif
|
|
|
|
#include "zlib/zlib.h"
|
|
#include "Binary.h"
|
|
|
|
typedef int (*COMPILER)(int argc, char **argv);
|
|
typedef int (*PRINTF)(const char *message, ...);
|
|
|
|
char *FindFileName(int argc, char **argv);
|
|
char *swiext(const char *file, const char *ext);
|
|
void show_help();
|
|
|
|
|
|
struct ablhdr
|
|
{
|
|
int magic;
|
|
char size;
|
|
};
|
|
|
|
struct abl
|
|
{
|
|
long stp;
|
|
char cellsize;
|
|
int size;
|
|
long cmpsize;
|
|
char *data;
|
|
char *cmp;
|
|
};
|
|
|
|
struct BinHeader
|
|
{
|
|
int32_t magic;
|
|
int16_t version;
|
|
int8_t plugins;
|
|
};
|
|
|
|
struct BinPlugin
|
|
{
|
|
int8_t cellsize; //cell size
|
|
int32_t imagesize; //uncompressed image size
|
|
int32_t disksize; //compressed image size
|
|
int32_t memsize; //memory image size
|
|
int32_t offs; //file offset
|
|
};
|
|
|
|
#if defined(__linux__) || defined(__APPLE__)
|
|
bool FileExists(const char *file);
|
|
#endif
|
|
|
|
#endif //_AMXXSC_INCLUDE_H
|