implemented a step hook and modified the makefile to call getheader.py
This commit is contained in:
parent
04f4a0d9fe
commit
85a2ba9a6e
17
Makefile
17
Makefile
@ -11,67 +11,84 @@ FLAGS_DBUG := -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -pg -DX86 -DX86_SSE3 -mss
|
||||
COMPILER := gcc
|
||||
LINUX_TARG := powder-64-sse2 powder-sse powder-sse2
|
||||
WIN32_TARG := powder-sse.exe powder-sse2.exe
|
||||
PYCOMMAND := python2 getheader.py
|
||||
|
||||
powder: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -DINTERNAL -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64
|
||||
mv $@ build
|
||||
powder-debug-64: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m64 -o$@ $(FLAGS_DBUG) -DLIN64 $(SOURCES) -Iincludes/
|
||||
mv $@ build
|
||||
powder-debug: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m32 -o$@ $(FLAGS_DBUG) -DLIN32 $(SOURCES) -Iincludes/
|
||||
mv $@ build
|
||||
powder-sse3: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN32
|
||||
strip $@
|
||||
mv $@ build
|
||||
powder-sse2: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE2) $(SOURCES) -DLIN32
|
||||
strip $@
|
||||
mv $@ build
|
||||
powder-sse: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE) $(SOURCES) -DLIN32
|
||||
strip $@
|
||||
mv $@ build
|
||||
powder-64-sse3-opengl: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64 -lGL -lGLU -DOpenGL
|
||||
strip $@
|
||||
mv $@ build
|
||||
powder-64-sse3: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64
|
||||
strip $@
|
||||
mv $@ build
|
||||
powder-64-sse2: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE2) $(SOURCES) -DLIN64
|
||||
strip $@
|
||||
mv $@ build
|
||||
|
||||
powder-icc: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
/opt/intel/Compiler/11.1/073/bin/intel64/icc -m64 -o$@ -Iincludes/ -O2 -march=core2 -msse3 -mfpmath=sse -lSDL -lbz2 -lm -xW $(SOURCES) -std=c99 -D_POSIX_C_SOURCE=200112L
|
||||
|
||||
powder-res.o: powder-res.rc powder.ico
|
||||
$(PYCOMMAND)
|
||||
i586-mingw32msvc-windres powder-res.rc powder-res.o
|
||||
|
||||
powder-sse3.exe: $(SOURCES) powder-res.o
|
||||
$(PYCOMMAND)
|
||||
i586-mingw32msvc-gcc -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE3) $(SOURCES) powder-res.o -lmingw32 -llibregex -lws2_32 -lSDLmain $(LFLAGS) -mwindows -DWIN32
|
||||
strip $@
|
||||
chmod 0644 $@
|
||||
mv $@ build
|
||||
powder-sse2.exe: $(SOURCES) powder-res.o
|
||||
$(PYCOMMAND)
|
||||
i586-mingw32msvc-gcc -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE2) $(SOURCES) powder-res.o -lmingw32 -llibregex -lws2_32 -lSDLmain $(LFLAGS) -mwindows -DWIN32
|
||||
strip $@
|
||||
chmod 0644 $@
|
||||
mv $@ build
|
||||
powder-sse.exe: $(SOURCES) powder-res.o
|
||||
$(PYCOMMAND)
|
||||
i586-mingw32msvc-gcc -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE) $(SOURCES) powder-res.o -lmingw32 -llibregex -lws2_32 -lSDLmain $(LFLAGS) -mwindows -DWIN32
|
||||
strip $@
|
||||
chmod 0644 $@
|
||||
mv $@ build
|
||||
powder-x: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
gcc -o $@ $(CFLAGS) $(OFLAGS) $(LFLAGS_X) $(MFLAGS) $(SOURCES) -DMACOSX -DPIX32BGRA -arch x86_64 -framework Cocoa -framework SDL
|
||||
strip $@
|
||||
mv $@ build
|
||||
powder-x-ogl: $(SOURCES)
|
||||
$(PYCOMMAND)
|
||||
gcc -o $@ $(CFLAGS) $(OFLAGS) $(LFLAGS_X) $(MFLAGS) $(SOURCES) -DOpenGL -DMACOSX -DPIX32BGRA -arch x86_64 -framework Cocoa -framework SDL -framework OpenGL
|
||||
strip $@
|
||||
mv $@ build
|
||||
|
@ -17,7 +17,7 @@ print args,"-I%s"%path
|
||||
lst=[]
|
||||
compileall.compile_dir("./src/python", force=1)
|
||||
|
||||
print "\n\n\ngenerating pyconsole.h"
|
||||
print "generating pyconsole.h"
|
||||
|
||||
fname="./src/python/tpt_console.pyc"
|
||||
try:
|
||||
|
File diff suppressed because one or more lines are too long
38
src/main.c
38
src/main.c
@ -1813,7 +1813,7 @@ int main(int argc, char *argv[])
|
||||
SDL_AudioSpec fmt;
|
||||
int username_flash = 0, username_flash_t = 1;
|
||||
GSPEED = 1;
|
||||
PyObject *pname,*pmodule,*pfunc,*pvalue,*pargs;
|
||||
PyObject *pname,*pmodule,*pfunc,*pvalue,*pargs,*pstep;
|
||||
|
||||
/* Set 16-bit stereo audio at 22Khz */
|
||||
fmt.freq = 22050;
|
||||
@ -1840,26 +1840,28 @@ int main(int argc, char *argv[])
|
||||
pfunc=PyObject_GetAttrString(pmodule,"handle");//get the handler function
|
||||
if(pfunc && PyCallable_Check(pfunc))//check if it's really a function
|
||||
{
|
||||
//it is
|
||||
printf("python console ready to go.\n");
|
||||
/*pargs=Py_BuildValue("(s)","test");
|
||||
pvalue = PyObject_CallObject(pfunc, pargs);
|
||||
Py_DECREF(pargs);
|
||||
pargs=NULL;
|
||||
//Py_DECREF(pvalue);
|
||||
//puts("a");
|
||||
pvalue=NULL;*/
|
||||
}
|
||||
else
|
||||
{
|
||||
//oops! mangled console.py?
|
||||
printf("unable to find handle function, mangled console.py?\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
pstep=PyObject_GetAttrString(pmodule,"step");//get the handler function
|
||||
if(pstep && PyCallable_Check(pfunc))//check if it's really a function
|
||||
{
|
||||
printf("step function found.\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("unable to find step function. ignoring.\n");
|
||||
//return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("unable to find console module, missing file?\n");
|
||||
printf("unable to find console module, missing file or mangled console.py?\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -3397,6 +3399,19 @@ int main(int argc, char *argv[])
|
||||
hud_enable = 1;
|
||||
}
|
||||
|
||||
//execute python step hook
|
||||
if(pstep!=NULL)
|
||||
{
|
||||
pargs=Py_BuildValue("()");
|
||||
pvalue = PyObject_CallObject(pstep, pargs);
|
||||
Py_DECREF(pargs);
|
||||
pargs=NULL;
|
||||
if(pvalue==NULL)
|
||||
strcpy(console_error,"failed to execute step code.");
|
||||
//Py_DECREF(pvalue);
|
||||
//puts("a");
|
||||
pvalue=NULL;
|
||||
}
|
||||
sdl_blit(0, 0, XRES+BARSIZE, YRES+MENUSIZE, vid_buf, XRES+BARSIZE);
|
||||
|
||||
//Setting an element for the stick man
|
||||
@ -3414,7 +3429,6 @@ int main(int argc, char *argv[])
|
||||
else
|
||||
player2[2] = PT_DUST;
|
||||
}
|
||||
|
||||
}
|
||||
SDL_CloseAudio();
|
||||
http_done();
|
||||
|
@ -1,6 +1,5 @@
|
||||
import tpt
|
||||
from tpt import *
|
||||
from utils import *
|
||||
import sys
|
||||
import code
|
||||
import ctypes
|
||||
@ -75,3 +74,18 @@ def _handle(txt):
|
||||
exec txt in handle.glob
|
||||
except Exception as ex:
|
||||
error(ex)
|
||||
|
||||
def step():
|
||||
try:
|
||||
a=handle.glob
|
||||
except:
|
||||
clean()
|
||||
try:
|
||||
_step()
|
||||
except Exception as ex:
|
||||
error(ex)
|
||||
|
||||
def _step():
|
||||
#print "handling '%s'"%txt
|
||||
#print "step"
|
||||
toggle_pause()
|
||||
|
Reference in New Issue
Block a user