implemented a step hook and modified the makefile to call getheader.py

This commit is contained in:
Lieuwe 2011-03-05 15:09:15 +01:00
parent 04f4a0d9fe
commit 85a2ba9a6e
5 changed files with 60 additions and 15 deletions

View File

@ -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

View File

@ -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

View File

@ -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();

View File

@ -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()