diff --git a/plugins/Makefile b/plugins/Makefile new file mode 100644 index 000000000..4aff1d838 --- /dev/null +++ b/plugins/Makefile @@ -0,0 +1,14 @@ + +all: hud irc + +.PHONY: all hud irc + +help: + @-echo make a subdirectory + +hud: + $(MAKE) -C hud + +irc: + $(MAKE) 0C irc + diff --git a/plugins/hud/Makefile b/plugins/hud/Makefile new file mode 100644 index 000000000..73275fc80 --- /dev/null +++ b/plugins/hud/Makefile @@ -0,0 +1,16 @@ + +DO_CC=$(CC) -ggdb -fPIC -Wall $(CFLAGS) -o $@ -c $< +OBJECTS=ui_sbar.o plugin.o qvm_api.o +HEADERS=../plugin.h +all: $(OBJECTS) + $(CC) -ggdb -fPIC -shared $(OBJECTS) -o ../../quake/qw/plugins/hudx86.so + +ui_sbar.o: ui_sbar.c $(HEADERS) + $(DO_CC) + +plugin.o: ../plugin.c $(HEADERS) + $(DO_CC) + +qvm_api.o: ../qvm_api.c $(HEADERS) + $(DO_CC) + diff --git a/plugins/hud/ui_sbar.c b/plugins/hud/ui_sbar.c index 14787596b..d28e3be17 100644 --- a/plugins/hud/ui_sbar.c +++ b/plugins/hud/ui_sbar.c @@ -1169,4 +1169,5 @@ int Plug_Init(int *args) return true; } return false; -} \ No newline at end of file +} + diff --git a/plugins/irc/Makefile b/plugins/irc/Makefile new file mode 100644 index 000000000..abf8bc65a --- /dev/null +++ b/plugins/irc/Makefile @@ -0,0 +1,16 @@ + +DO_CC=$(CC) -fPIC $(CFLAGS) -o $@ -c $< +OBJECTS=ircclient.o plugin.o qvm_api.o +HEADERS=../plugin.h +all: $(OBJECTS) + gcc --shared -ldl $(OBJECTS) -o ../../quake/qw/plugins/ircx86.so + +ircclient.o: ircclient.c $(HEADERS) + $(DO_CC) + +plugin.o: ../plugin.c $(HEADERS) + $(DO_CC) + +qvm_api.o: ../qvm_api.c $(HEADERS) + $(DO_CC) + diff --git a/plugins/plugin.c b/plugins/plugin.c index b41707ba1..9ea188641 100644 --- a/plugins/plugin.c +++ b/plugins/plugin.c @@ -31,7 +31,7 @@ int vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int a #ifndef Q3_VM -int (*syscall)( int arg, ... ); +int (QDECL *syscall)( int arg, ... ); #endif #define PASSFLOAT(f) *(int*)&(f) @@ -191,8 +191,9 @@ void Plug_InitStandardBuiltins(void) } #ifndef Q3_VM -void dllEntry( int (QDECL *syscallptr)( int arg,... ) ) { - syscall = syscallptr; +void dllEntry(int (QDECL *funcptr)(int,...)) +{ + syscall = funcptr; } #endif diff --git a/plugins/qvm_api.c b/plugins/qvm_api.c index 7b48f89f2..4f54e0345 100644 --- a/plugins/qvm_api.c +++ b/plugins/qvm_api.c @@ -82,7 +82,7 @@ retry: tokens++; break; case 'c': - _int = va_arg(vargs, char); + _int = va_arg(vargs, int); if (--maxlen < 0) {*buffer++='\0';return tokens;} *buffer++ = _int; @@ -136,7 +136,7 @@ retry: tokens++; break; case 'f': - _float = va_arg(vargs, float); + _float = va_arg(vargs, double); //integer part. _int = (int)_float;