Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extern/Makefile8
-rw-r--r--extern/lzma/Makefile46
-rw-r--r--extern/lzo/minilzo/Makefile131
-rw-r--r--source/Makefile3
-rw-r--r--source/blender/blenfont/intern/blf_font.c91
-rw-r--r--source/blender/blenkernel/intern/Makefile5
-rw-r--r--source/nan_definitions.mk5
7 files changed, 155 insertions, 134 deletions
diff --git a/extern/Makefile b/extern/Makefile
index 61499da8743..1bebf1e1994 100644
--- a/extern/Makefile
+++ b/extern/Makefile
@@ -54,6 +54,14 @@ ifeq ($(WITH_OPENJPEG), true)
DIRS += libopenjpeg
endif
+ifeq ($(WITH_LZO), true)
+ DIRS += lzo/minilzo
+endif
+
+ifeq ($(WITH_LZMA), true)
+ DIRS += lzma
+endif
+
TARGET = solid
all::
diff --git a/extern/lzma/Makefile b/extern/lzma/Makefile
new file mode 100644
index 00000000000..11d70dc7847
--- /dev/null
+++ b/extern/lzma/Makefile
@@ -0,0 +1,46 @@
+#
+# $Id$
+#
+# ***** BEGIN GPL/BL DUAL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version. The Blender
+# Foundation also sells licenses for use in proprietary software under
+# the Blender License. See http://www.blender.org/BL/ for information
+# about this.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s):
+#
+# ***** END GPL/BL DUAL LICENSE BLOCK *****
+#
+#
+
+LIBNAME = lzma
+DIR = $(OCGDIR)/extern/$(LIBNAME)
+
+include nan_compile.mk
+
+install: $(ALL_OR_DEBUG)
+ @[ -d $(NAN_LZMA) ] || mkdir -p $(NAN_LZMA)
+ @[ -d $(NAN_LZMA)/lib/$(DEBUG_DIR) ] || mkdir -p $(NAN_LZMA)/lib/$(DEBUG_DIR)
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)lib$(LIBNAME).a $(NAN_LZMA)/lib/$(DEBUG_DIR)
+ifeq ($(OS),darwin)
+ ranlib $(NAN_LZMA)/lib/$(DEBUG_DIR)lib$(LIBNAME).a
+endif
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh *.h $(NAN_LZMA)
diff --git a/extern/lzo/minilzo/Makefile b/extern/lzo/minilzo/Makefile
index a6ee373e8bc..8f3d5042579 100644
--- a/extern/lzo/minilzo/Makefile
+++ b/extern/lzo/minilzo/Makefile
@@ -1,113 +1,40 @@
#
-# a very simple Makefile for miniLZO
+# $Id:
#
-# Copyright (C) 1996-2008 Markus F.X.J. Oberhumer
+# ***** BEGIN GPL LICENSE BLOCK *****
#
-
-PROGRAM = testmini
-SOURCES = testmini.c minilzo.c
-
-default:
- @echo "Please choose one of the following targets:"
- @echo " gcc: gcc"
- @echo " unix: hpux hpux9"
- @echo " win32: win32-bc win32-cygwin win32-dm win32-lccwin32"
- @echo " win32-intelc win32-mingw win32-vc win32-watcomc"
- @echo " dos16: dos16-bc dos16-mc dos16-wc"
- @echo " dos32: dos32-djgpp2 dos32-wc"
-
-
-# Make sure that minilzo.h, lzoconf.h and lzodefs.h are in the
-# current dircectory. Otherwise you may want to adjust CPPFLAGS.
-##CPPFLAGS = -I../include/lzo -I.
-
-GCC_CFLAGS = -s -Wall -O2 -fomit-frame-pointer
-
-
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
#
-# gcc (generic)
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-
-gcc:
- gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM) $(SOURCES)
-
-cc:
- cc $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
-
-
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# UNIX
-#
-
-hpux:
- cc -Ae $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
-
-hpux9:
- cc -Aa -D_HPUX_SOURCE $(CPPFLAGS) -o $(PROGRAM) $(SOURCES)
-
-
-#
-# Windows (32-bit)
-#
-
-win32-borlandc win32-bc:
- bcc32 -O2 -d -w -w-aus $(CPPFLAGS) $(SOURCES)
-
-win32-cygwin32 win32-cygwin:
- gcc -mcygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
-
-win32-digitalmars win32-dm:
- dmc -mn -o -w- $(CPPFLAGS) $(SOURCES)
-
-win32-intelc win32-ic:
- icl -nologo -MD -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
-
-win32-lccwin32:
- @echo "NOTE: need lcc 2002-07-25 or newer, older versions have bugs"
- lc -A -unused -O $(CPPFLAGS) $(SOURCES)
-
-win32-mingw32 win32-mingw:
- gcc -mno-cygwin $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
-
-win32-visualc win32-vc:
- cl -nologo -MD -W3 -O2 -GF $(CPPFLAGS) $(SOURCES)
-
-win32-watcomc win32-wc:
- wcl386 -bt=nt -zq -mf -5r -zc -w5 -oneatx $(CPPFLAGS) $(SOURCES)
-
-
-#
-# DOS (16-bit)
-#
-
-dos16-borlandc dos16-bc:
- bcc -ml -w -d -O -4 $(CPPFLAGS) $(SOURCES)
-
-dos16-microsoftc dos16-msc dos16-mc:
- cl -nologo -f- -AL -O -G2 -W3 $(CPPFLAGS) $(SOURCES)
-
-dos16-watcomc dos16-wc:
- wcl -zq -ml -bt=dos -l=dos -ox -w5 $(CPPFLAGS) $(SOURCES)
-
-
-#
-# DOS (32-bit)
-#
-
-dos32-djgpp2 dos32-dj2:
- gcc $(CPPFLAGS) $(GCC_CFLAGS) -o $(PROGRAM).exe $(SOURCES)
-
-dos32-watcomc dos32-wc:
- wcl386 -zq -mf -bt=dos -l=dos4g -5r -ox -zc $(CPPFLAGS) $(SOURCES)
-
-
+# The Original Code is Copyright (C) 2009 Blender Foundation
+# All rights reserved.
#
-# other targets
+# Contributor(s): none yet.
#
+# ***** END GPL LICENSE BLOCK *****
-clean:
- rm -f $(PROGRAM) $(PROGRAM).exe $(PROGRAM).map $(PROGRAM).tds
- rm -f *.err *.o *.obj
+LIBNAME = minilzo
+DIR = $(OCGDIR)/extern/$(LIBNAME)
-.PHONY: default clean
+include nan_compile.mk
+install: $(ALL_OR_DEBUG)
+ @[ -d $(NAN_LZO) ] || mkdir -p $(NAN_LZO)
+ @[ -d $(NAN_LZO)/minilzo ] || mkdir -p $(NAN_LZO)/minilzo
+ @[ -d $(NAN_LZO)/lib/$(DEBUG_DIR) ] || mkdir -p $(NAN_LZO)/lib/$(DEBUG_DIR)
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)lib$(LIBNAME).a $(NAN_LZO)/lib/$(DEBUG_DIR)
+ifeq ($(OS),darwin)
+ ranlib $(NAN_LZO)/lib/$(DEBUG_DIR)lib$(LIBNAME).a
+endif
+ @$(NANBLENDERHOME)/intern/tools/cpifdiff.sh *.h $(NAN_LZO)/minilzo
diff --git a/source/Makefile b/source/Makefile
index cd2e7cf75ba..8e9f66bbe42 100644
--- a/source/Makefile
+++ b/source/Makefile
@@ -110,6 +110,9 @@ COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaudaspace.a
COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_src.a
COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_fx.a
COMLIB += $(NAN_SAMPLERATE)/lib/$(DEBUG_DIR)libsamplerate.a
+COMLIB += $(NAN_LZO)/lib/$(DEBUG_DIR)libminilzo.a
+COMLIB += $(NAN_LZMA)/lib/$(DEBUG_DIR)liblzma.a
+COMLIB += $(NAN_SMOKE)/lib/$(DEBUG_DIR)/libsmoke.a
ifneq ($(NAN_NO_KETSJI),true)
COMLIB += $(OCGDIR)/gameengine/bloutines/$(DEBUG_DIR)libbloutines.a
diff --git a/source/blender/blenfont/intern/blf_font.c b/source/blender/blenfont/intern/blf_font.c
index 432c3b5f854..2cd72809579 100644
--- a/source/blender/blenfont/intern/blf_font.c
+++ b/source/blender/blenfont/intern/blf_font.c
@@ -151,7 +151,7 @@ void blf_font_draw(FontBLF *font, char *str)
void blf_font_buffer(FontBLF *font, char *str)
{
- unsigned char *data;
+ unsigned char *data, *cbuf;
unsigned int c;
GlyphBLF *g, *g_prev;
FT_Vector delta;
@@ -197,30 +197,27 @@ void blf_font_buffer(FontBLF *font, char *str)
pen_x += delta.x >> 6;
}
- if (font->b_fbuf) {
- chx= pen_x + ((int)g->pos_x);
-
- diff= g->height - ((int)g->pos_y);
-
- if (diff > 0) {
- if (g->pitch < 0)
- pen_y += diff;
- else
- pen_y -= diff;
- }
- else if (diff < 0) {
- if (g->pitch < 0)
- pen_y -= diff;
- else
- pen_y += diff;
- }
-
-
+ chx= pen_x + ((int)g->pos_x);
+ diff= g->height - ((int)g->pos_y);
+ if (diff > 0) {
if (g->pitch < 0)
- chy= pen_y - ((int)g->pos_y);
+ pen_y += diff;
else
- chy= pen_y + ((int)g->pos_y);
+ pen_y -= diff;
+ }
+ else if (diff < 0) {
+ if (g->pitch < 0)
+ pen_y -= diff;
+ else
+ pen_y += diff;
+ }
+ if (g->pitch < 0)
+ chy= pen_y - ((int)g->pos_y);
+ else
+ chy= pen_y + ((int)g->pos_y);
+
+ if (font->b_fbuf) {
if (chx >= 0 && chx < font->bw && pen_y >= 0 && pen_y < font->bh) {
if (g->pitch < 0)
yb= 0;
@@ -251,20 +248,52 @@ void blf_font_buffer(FontBLF *font, char *str)
yb--;
}
}
+ }
- if (diff > 0) {
- if (g->pitch < 0)
- pen_x -= diff;
- else
- pen_y += diff;
- }
- else if (diff < 0) {
+ if (font->b_cbuf) {
+ if (chx >= 0 && chx < font->bw && pen_y >= 0 && pen_y < font->bh) {
if (g->pitch < 0)
- pen_x += diff;
+ yb= 0;
else
- pen_y -= diff;
+ yb= g->height-1;
+
+ for (y= 0; y < g->height; y++) {
+ for (x= 0; x < g->width; x++) {
+ cbuf= font->b_cbuf + font->bch * ((chx + x) + ((pen_y + y)*font->bw));
+ data= g->bitmap + x + (yb * g->pitch);
+ a= data[0];
+
+ if (a == 256) {
+ cbuf[0]= font->b_col[0];
+ cbuf[1]= font->b_col[1];
+ cbuf[2]= font->b_col[2];
+ }
+ else {
+ cbuf[0]= (font->b_col[0]*a) + (cbuf[0] * (256-a));
+ cbuf[1]= (font->b_col[1]*a) + (cbuf[1] * (256-a));
+ cbuf[2]= (font->b_col[2]*a) + (cbuf[2] * (256-a));
+ }
+ }
+
+ if (g->pitch < 0)
+ yb++;
+ else
+ yb--;
+ }
}
+ }
+ if (diff > 0) {
+ if (g->pitch < 0)
+ pen_x -= diff;
+ else
+ pen_y += diff;
+ }
+ else if (diff < 0) {
+ if (g->pitch < 0)
+ pen_x += diff;
+ else
+ pen_y -= diff;
}
pen_x += g->advance;
diff --git a/source/blender/blenkernel/intern/Makefile b/source/blender/blenkernel/intern/Makefile
index d6d41d6579e..6c2edc9e25f 100644
--- a/source/blender/blenkernel/intern/Makefile
+++ b/source/blender/blenkernel/intern/Makefile
@@ -90,6 +90,10 @@ CPPFLAGS += -I$(NAN_BULLET2)/include
CPPFLAGS += -I$(NAN_FREETYPE)/include
CPPFLAGS += -I$(NAN_FREETYPE)/include/freetype2
+# lzo and lzma, for pointcache
+CPPFLAGS += -I$(NAN_LZO)/minilzo
+CPPFLAGS += -I$(NAN_LZMA)
+
ifeq ($(WITH_FFMPEG),true)
CPPFLAGS += -DWITH_FFMPEG
CPPFLAGS += $(NAN_FFMPEGCFLAGS)
@@ -111,3 +115,4 @@ ifeq ($(WITH_QUICKTIME), true)
CPPFLAGS += -I../../quicktime
CPPFLAGS += -DWITH_QUICKTIME
endif
+
diff --git a/source/nan_definitions.mk b/source/nan_definitions.mk
index b3f36dd3b5c..7fab61d5247 100644
--- a/source/nan_definitions.mk
+++ b/source/nan_definitions.mk
@@ -113,7 +113,10 @@ ifndef CONFIG_GUESS
export WITH_OPENEXR ?= true
export WITH_DDS ?= true
export WITH_OPENJPEG ?= true
-
+ export WITH_LZO ?= true
+ export WITH_LZMA ?= true
+ export NAN_LZO ?= $(LCGDIR)/lzo
+ export NAN_LZMA ?= $(LCGDIR)/lzma
ifeq ($(NAN_USE_FFMPEG_CONFIG), true)
export NAN_FFMPEG ?= $(shell ffmpeg-config --prefix)