, i was kinda board this morning so figured id just hop on vs and make something so here was the output:
#define TOC toc addr here
#define newOPD(n,x) n = {x,TOC}
#define defFunc_1(type,n,addr,parms) opd_s newOPD(n,addr); type (*n)(parms) = (type(*)(parms))&n
#define defFunc_2(type,n,addr,parms1,parms2) opd_s newOPD(n,addr); type (*n)(parms1,parms2) = (type(*)(parms1,parms2))&n
#define defFunc_3(type,n,addr,parms1,parms2,parms3)opd_s newOPD(n,addr); type (*n)(arms1,parms2,parms3) = (type(*)(arms1,parms2,parms3))&n
#define defFunc_4(type,n,addr,parms1,parms2,parms3,parms4)opd_s newOPD(n,addr); type (*n)(parms1,parms2,parms3,parms4) = (type(*)(parms1,parms2,parms3,parms4))&n
#define defFunc_5(type,n,addr,parms1,parms2,parms3,parms4,parms5)opd_s newOPD(n,addr); type (*n)(parms1,parms2,parms3,parms4,parms5) = (type(*)(parms1,parms2parms1,parms2,parms3,parms4,parms5))&n
#define defFunc_6(type,n,addr,parms1,parms2,parms3,parms4,parms5,parms6) opd_s newOPD(n,addr); type (*n)(parms1,parms2,parms3,parms4,parms5,parms6) = (type(*)(parms1,parms2,parms3,parms4,parms5,parms6))&n
#define defFunc_7(type,n,addr,parms1,parms2,parms3,parms4,parms5,parms6,parms7) opd_s newOPD(n,addr); type (*n)(parms1,parms2,parms3,parms4,parms5,parms6,parms7) = (type(*)(parms1,parms2,parms3,parms4,parms5,parms6,parms7))&n
#define defFunc_8(type,n,addr,parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms
opd_s newOPD(n,addr); type (*n)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms
= (type(*)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms
)&n
#define defFunc_9(type,n,addr,parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,parms9) opd_s newOPD(n,addr); type (*n)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,parms9) = (type(*)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,parms9))&n
defFunc_4(int,G_GivePlayerWeapon,/*G_GivePlayerWeapon addr here*/,int,int,int,int);

, i was kinda board this morning so figured id just hop on vs and make something so here was the output:
#define TOC toc addr here
#define newOPD(n,x) n = {x,TOC}
#define defFunc_1(type,n,parms,opd) type (*n)(parms) = (type(*)(parms))&opd
#define defFunc_2(type,n,parms1,parms2,opd) type (*n)(parms1,parms2) = (type(*)(parms1,parms2))&opd
#define defFunc_3(type,n,parms1,parms2,parms3,opd) type (*n)(arms1,parms2,parms3) = (type(*)(arms1,parms2,parms3))&opd
#define defFunc_4(type,n,parms1,parms2,parms3,parms4,opd) type (*n)(parms1,parms2,parms3,parms4) = (type(*)(parms1,parms2,parms3,parms4))&opd
#define defFunc_5(type,n,parms1,parms2,parms3,parms4,parms5,opd) type (*n)(parms1,parms2,parms3,parms4,parms5) = (type(*)(parms1,parms2parms1,parms2,parms3,parms4,parms5))&opd
#define defFunc_6(type,n,parms1,parms2,parms3,parms4,parms5,parms6,opd) type (*n)(parms1,parms2,parms3,parms4,parms5,parms6) = (type(*)(parms1,parms2,parms3,parms4,parms5,parms6))&opd
#define defFunc_7(type,n,parms1,parms2,parms3,parms4,parms5,parms6,parms7,opd) type (*n)(parms1,parms2,parms3,parms4,parms5,parms6,parms7) = (type(*)(parms1,parms2,parms3,parms4,parms5,parms6,parms7))&opd
#define defFunc_8(type,n,parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,opd) type (*n)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms
= (type(*)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms
)&opd
#define defFunc_9(type,n,parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,parms9,opd) type (*n)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,parms9) = (type(*)(parms1,parms2,parms3,parms4,parms5,parms6,parms7,parms8,parms9))&opd
opd_s newOPD(GWEAP,G_GivePlayerWeaponaddr);
defFunc_4(int,G_GivePlayerWeapon,int,int,int,int,GWEAP);

Copyright © 2026, NextGenUpdate.
All Rights Reserved.