64bit fixes and other
This commit is contained in:
commit
812798d70d
40
Makefile
40
Makefile
@ -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
|
||||
|
||||
|
@ -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("")
|
||||
|
@ -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
63
src/main.c
63
src/main.c
@ -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;
|
||||
|
||||
|
@ -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()
|
||||
|
Reference in New Issue
Block a user