Esempio n. 1
0
char *z_init(void *getext, void *setext, char *args)
{
    int argc;
    char *argv[16];
    int i;

    *(void **)(&z_getext) = getext;
    *(void **)(&z_setext) = setext;

    argc = _argsep(args, 16, argv);
    i = 0;
    while(i<argc)
    {
        switch(argv[i][0])
        {
        case 'f':
            strncpy(geodb, argv[++i], 260);
            break;
        case 'F':
            strncpy(geocitydb, argv[++i], 260);

        default:
            return "Unknown switch";
        }
        i++;
    }

    *(void **)(&sendf) = z_getext("sendf");
    *(void **)(&notifypriv) = z_getext("notifypriv");

    load_geoip_database();
    load_geocity_database();

    *(void **)(&addhook) = z_getext("addhook");

    addhook("connected", on_connect);

    return 0;
}
Esempio n. 2
0
    void InitHooks() {
        addhook(0x006629BC, InterceptWoodenASupports);
        addhook(0x00662D5C, InterceptWoodenBSupports);

        addhook(0x00663105, InterceptMetalASupports);
        addhook(0x00663584, InterceptMetalBSupports);

        addhook(0x006861AC, InterceptPaint6C);
        addhook(0x00686337, InterceptPaint6C);
        addhook(0x006864D0, InterceptPaint6C);
        addhook(0x0068666B, InterceptPaint6C);

        addhook(0x00686806, InterceptPaint7C);
        addhook(0x006869B2, InterceptPaint7C);
        addhook(0x00686B6F, InterceptPaint7C);
        addhook(0x00686D31, InterceptPaint7C);

        addhook(0x00686EF0, InterceptPaint8C);
        addhook(0x00687056, InterceptPaint8C);
        addhook(0x006871C8, InterceptPaint8C);
        addhook(0x0068733C, InterceptPaint8C);

        addhook(0x006874B0, InterceptPaint9C);
        addhook(0x00687618, InterceptPaint9C);
        addhook(0x0068778C, InterceptPaint9C);
        addhook(0x00687902, InterceptPaint9C);
    }