64bit fixes and other

This commit is contained in:
Simon 2011-03-29 17:47:53 +01:00
commit 812798d70d
6 changed files with 92 additions and 23 deletions

View File

@ -1,58 +1,64 @@
SOURCES := src/*.c src/elements/*.c
PY_BIN := python
PY_VERSION := $(shell $(PY_BIN) -c "import sys;print sys.version[:3]")
PY_LIBPATH := $(shell $(PY_BIN) -c "import os.path,sys;print os.path.join(sys.exec_prefix,\"lib\",\"python%s\"%sys.version[:3],\"config\")")
PY_INCPATH := $(shell $(PY_BIN) -c "import os.path,sys;print os.path.join(sys.exec_prefix,\"include\",\"python%s\"%sys.version[:3])")
PY_LDFLAGS := $(shell $(PY_BIN) -c "import distutils.sysconfig;print distutils.sysconfig.get_config_var('LINKFORSHARED')")
PYCOMMAND := $(PY_BIN) getheader.py
CFLAGS := -w -std=c99 -D_POSIX_C_SOURCE=200112L -Iincludes/
OFLAGS := -O3 -ffast-math -ftree-vectorize -funsafe-math-optimizations
LFLAGS := -lSDL -lm -lbz2 -lpython2.7 -L/usr/lib/python2.7/config -I/usr/include/python2.7
LFLAGS_X := -lm -lbz2 -lSDLmain -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
LFLAGS := -lSDL -lm -lbz2 -lutil -lpython$(PY_VERSION) -L$(PY_LIBPATH) -I$(PY_INCPATH) $(PY_LDFLAGS)
LFLAGS_X := -lm -lbz2 -lSDLmain -I/Library/Frameworks/Python.framework/Versions/$(PY_VERSION)/include/python$(PY_VERSION)
MFLAGS_SSE3 := -march=native -DX86 -DX86_SSE3 -msse3
MFLAGS_SSE2 := -march=native -DX86 -DX86_SSE2 -msse2
MFLAGS_SSE := -march=native -DX86 -DX86_SSE
FLAGS_DBUG := -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -pg -DX86 -DX86_SSE3 -msse3 -lSDL -lm -lbz2 -g
FLAGS_DBUG := -Wall -std=c99 -D_POSIX_C_SOURCE=200112L -pg -DX86 -DX86_SSE3 -msse3 -g
COMPILER := gcc
LINUX_TARG := powder-64-sse2 powder-sse powder-sse2
WIN32_TARG := powder-sse.exe powder-sse2.exe
PYCOMMAND := python getheader.py
powder: $(SOURCES)
$(PYCOMMAND)
$(COMPILER) -DINTERNAL -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64
$(COMPILER) -DINTERNAL -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE3) $(SOURCES) $(LFLAGS) -DLIN64
mv $@ build
powder-debug-64: $(SOURCES)
$(PYCOMMAND) --64bit
$(COMPILER) -m64 -o$@ $(FLAGS_DBUG) -DLIN64 $(SOURCES) -Iincludes/
$(PYCOMMAND)
$(COMPILER) -m64 -o$@ $(FLAGS_DBUG) -DLIN64 $(SOURCES) -Iincludes/ $(LFLAGS)
mv $@ build
powder-debug: $(SOURCES)
$(PYCOMMAND)
$(COMPILER) -DINTERNAL -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64 $(FLAGS_DBUG)
$(COMPILER) -DINTERNAL -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE3) $(SOURCES) $(LFLAGS) -DLIN64 $(FLAGS_DBUG)
mv $@ build
powder-sse3: $(SOURCES)
$(PYCOMMAND)
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN32
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE3) $(SOURCES) $(LFLAGS) -DLIN32
strip $@
mv $@ build
powder-sse2: $(SOURCES)
$(PYCOMMAND)
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE2) $(SOURCES) -DLIN32
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE2) $(SOURCES) $(LFLAGS) -DLIN32
strip $@
mv $@ build
powder-sse: $(SOURCES)
$(PYCOMMAND)
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE) $(SOURCES) -DLIN32
$(COMPILER) -m32 -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE) $(SOURCES) $(LFLAGS) -DLIN32
strip $@
mv $@ build
powder-64-sse3-opengl: $(SOURCES)
$(PYCOMMAND) --64bit
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64 -lGL -lGLU -DOpenGL
$(PYCOMMAND)
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE3) $(SOURCES) $(LFLAGS) -DLIN64 -lGL -lGLU -DOpenGL
strip $@
mv $@ build
powder-64-sse3: $(SOURCES)
$(PYCOMMAND) --64bit
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE3) $(SOURCES) -DLIN64
$(PYCOMMAND)
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE3) $(SOURCES) $(LFLAGS) -DLIN64
strip $@
mv $@ build
powder-64-sse2: $(SOURCES)
$(PYCOMMAND) --64bit
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(LFLAGS) $(MFLAGS_SSE2) $(SOURCES) -DLIN64
$(PYCOMMAND)
$(COMPILER) -m64 -o$@ $(CFLAGS) $(OFLAGS) $(MFLAGS_SSE2) $(SOURCES) $(LFLAGS) -DLIN64
strip $@
mv $@ build

View File

@ -21,7 +21,7 @@ with open("./includes/defines.h") as fid:
print "using external console.py"
ext=True"""
#print sys.argv
if(len(sys.argv)>=2 and sys.argv[1]=="--64bit"):
if(len(sys.argv)>=2 and sys.argv[1]=="--ext"):
ext=True
print "YEAHS"
#raw_input("")

View File

@ -73,8 +73,7 @@ extern unsigned char ZSIZE;
#define PYCONSOLE
//#define PYEXT
//WARNING pyext must be defined on 64bit!
//also, don't add a comment on that line, it breaks
//no longer needed
#ifdef PIX16
typedef unsigned short pixel;

File diff suppressed because one or more lines are too long

View File

@ -29,6 +29,8 @@
#ifdef PYCONSOLE
#include "Python.h"
#include "pyconsole.h"
//#include "pystdlib.h"
#include <marshal.h>
char pyready=1;
char pygood=1;
#endif
@ -1939,6 +1941,63 @@ static PyObject* emb_disable_python(PyObject *self, PyObject *args)
return Py_BuildValue("i",1);
}
int bsx = 2, bsy = 2, sl=1, sr=0;
static PyObject*
emb_get_tool(PyObject *self, PyObject *args)
{
if(!PyArg_ParseTuple(args, ":get_tool"))
return NULL;
return Py_BuildValue("((ii)(ii)i)",bsx,bsy,sl,sr,CURRENT_BRUSH);
}
static PyObject*
emb_set_tool(PyObject *self, PyObject *args)
{
if(!PyArg_ParseTuple(args, "((ii)(ii)i):set_tool",&bsx,&bsy,&sl,&sr,&CURRENT_BRUSH))
return NULL;
return Py_BuildValue("i",1);
}
/*
static PyObject*
emb_press_mouse(PyObject *self, PyObject *args)
{
int x,y,b;
SDL_Event* ev;
b=0;
if(!PyArg_ParseTuple(args, "ii|i:handle_tool",&x,&y,&b))
return NULL;
ev.type=SDL_MOUSEBUTTONDOWN;
if(b==2)
ev.button.button=SDL_BUTTON_RIGHT;
else
ev.button.button=SDL_BUTTON_LEFT;
ev.button.state=SDL_PRESSED;
ev.button.x=x;
ev.button.y=y;
return Py_BuildValue("i",SDL_PushEvent(ev));
}
static PyObject*
emb_release_mouse(PyObject *self, PyObject *args)
{
int x,y,b;
SDL_MouseButtonEvent ev;
b=0;
if(!PyArg_ParseTuple(args, "ii|i:handle_tool",&x,&y,&b))
return NULL;
ev.type=SDL_MOUSEBUTTONUP;
if(b==2)
ev.button.button=SDL_BUTTON_RIGHT;
else
ev.button.button=SDL_BUTTON_LEFT;
ev.button.state=SDL_RELEASED;
ev.button.x=x;
ev.button.y=y;
return Py_BuildValue("i",SDL_PushEvent(ev));
}*/
static PyMethodDef EmbMethods[] = { //WARNING! don't forget to register your function here!
{"create", (PyCFunction)emb_create, METH_VARARGS|METH_KEYWORDS, "create a particle."},
{"log", (PyCFunction)emb_log, METH_VARARGS, "logs an error string to the console."},
@ -1979,6 +2038,8 @@ static PyMethodDef EmbMethods[] = { //WARNING! don't forget to register your fun
{"set_pressure", (PyCFunction)emb_set_pressure, METH_VARARGS, "set pressure"},
{"set_velocity", (PyCFunction)emb_set_velocity, METH_VARARGS, "set velocity"},
{"disable_python", (PyCFunction)emb_disable_python, METH_VARARGS, "switch back to the old console."},
{"get_tool", (PyCFunction)emb_get_tool, METH_VARARGS, "get tool size/type and selected particles"},
{"set_tool", (PyCFunction)emb_set_tool, METH_VARARGS, "set tool size/type and selected particles"},
{NULL, NULL, 0, NULL}
};
#endif
@ -3248,7 +3309,7 @@ int main(int argc, char *argv[])
lb = 0;
}
}
else if (y<YRES)
else if (y<YRES)//mouse handling
{
int signi;

View File

@ -12,7 +12,10 @@ class logger:
def write(self,txt):
txt=txt.strip().split("\n")[-1]
repr(txt)
tpt.log(txt)
try:
tpt.log(txt)
except:#yeah, this happens.
pass
if(DEBUG==False):
sys.stdout=logger()
sys.stderr=logger()