You can subscribe to this list here.
2005 |
Jan
(1) |
Feb
(120) |
Mar
(44) |
Apr
(10) |
May
(8) |
Jun
|
Jul
(1) |
Aug
(13) |
Sep
|
Oct
(5) |
Nov
(14) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Sumpfork <sum...@us...> - 2006-01-31 00:39:07
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13554 Modified Files: NEWS configure.ac Log Message: fix python prefix path Index: NEWS =================================================================== RCS file: /cvsroot/openknights/NWNTools/NEWS,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NEWS 31 Jan 2006 00:37:26 -0000 1.4 --- NEWS 31 Jan 2006 00:38:59 -0000 1.5 *************** *** 1,3 **** --- 1,8 ---- + NWN Tools 2.3.2 + =============== + * fix python package prefix path used on install + NWN Tools 2.3.1 + =============== * do not include bison generated files in dist, as they depend on bison version Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** configure.ac 31 Jan 2006 00:37:26 -0000 1.13 --- configure.ac 31 Jan 2006 00:38:59 -0000 1.14 *************** *** 6,10 **** Copyright 2003, 2004, 2005 The Open Knights Consortium. All rights reserved.]) ! AC_INIT([NWN Tools], [2.3.1], [sum...@us...], [nwntools]) AC_SUBST(RELEASE, 1) AC_CONFIG_SRCDIR(_NwnLib/NwnDefines.h) --- 6,10 ---- Copyright 2003, 2004, 2005 The Open Knights Consortium. All rights reserved.]) ! AC_INIT([NWN Tools], [2.3.2], [sum...@us...], [nwntools]) AC_SUBST(RELEASE, 1) AC_CONFIG_SRCDIR(_NwnLib/NwnDefines.h) |
From: Sumpfork <sum...@us...> - 2006-01-31 00:39:07
|
Update of /cvsroot/openknights/NWNTools/nwnnsscomp/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13554/nwnnsscomp/python Modified Files: Makefile.am Log Message: fix python prefix path Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/nwnnsscomp/python/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile.am 10 Nov 2005 20:13:05 -0000 1.3 --- Makefile.am 31 Jan 2006 00:38:59 -0000 1.4 *************** *** 3,7 **** install-exec-local: ! $(PYTHON) setup.py install --prefix=$(DESTDIR) EXTRA_DIST = \ --- 3,7 ---- install-exec-local: ! $(PYTHON) setup.py install --prefix=${prefix} EXTRA_DIST = \ |
From: Sumpfork <sum...@us...> - 2006-01-31 00:37:37
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13094 Modified Files: NEWS configure.ac Log Message: forgot old checkin for 2.3.1 Index: NEWS =================================================================== RCS file: /cvsroot/openknights/NWNTools/NEWS,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NEWS 10 Nov 2005 18:31:09 -0000 1.3 --- NEWS 31 Jan 2006 00:37:26 -0000 1.4 *************** *** 1,2 **** --- 1,5 ---- + NWN Tools 2.3.1 + * do not include bison generated files in dist, as they depend on bison version + NWN Tools 2.3.0 =============== Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** configure.ac 11 Nov 2005 23:28:36 -0000 1.12 --- configure.ac 31 Jan 2006 00:37:26 -0000 1.13 *************** *** 6,10 **** Copyright 2003, 2004, 2005 The Open Knights Consortium. All rights reserved.]) ! AC_INIT([NWN Tools], [2.3.0], [sum...@us...], [nwntools]) AC_SUBST(RELEASE, 1) AC_CONFIG_SRCDIR(_NwnLib/NwnDefines.h) --- 6,10 ---- Copyright 2003, 2004, 2005 The Open Knights Consortium. All rights reserved.]) ! AC_INIT([NWN Tools], [2.3.1], [sum...@us...], [nwntools]) AC_SUBST(RELEASE, 1) AC_CONFIG_SRCDIR(_NwnLib/NwnDefines.h) |
From: Sumpfork <sum...@us...> - 2005-11-19 22:53:15
|
Update of /cvsroot/openknights/NWNTools/_NscLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18323/_NscLib Modified Files: Makefile.am Log Message: do not distribute bison generated files, as they're different for different bison versions Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile.am 10 Nov 2005 20:13:05 -0000 1.3 --- Makefile.am 19 Nov 2005 22:53:07 -0000 1.4 *************** *** 27,34 **** EXTRA_DIST = \ - NscParser.h \ - location.hh \ - position.hh \ - stack.hh \ _NscLib.vcproj --- 27,30 ---- *************** *** 36,37 **** --- 32,38 ---- Makefile.in + #remove the bison generated file because it is generated differently + #for different bison versions + dist-hook: + rm -f $(distdir)/{NscParser.cpp,NscParser.h} + |
From: Sumpfork <sum...@us...> - 2005-11-12 21:20:14
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15409 Modified Files: ChangeLog Log Message: update changelog Index: ChangeLog =================================================================== RCS file: /cvsroot/openknights/NWNTools/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChangeLog 15 May 2004 19:54:26 -0000 1.2 --- ChangeLog 12 Nov 2005 21:20:01 -0000 1.3 *************** *** 1,2 **** --- 1,113 ---- + 2005-11-11 18:28 sumpfork + + * configure.ac (tags: v2_3_0): + + fix 2.1 bison handling I just broke + + 2005-11-11 18:25 sumpfork + + * configure.ac, _NscLib/NscCompiler.cpp (tags: v2_3_0), + _NscLib/NscContext.cpp (tags: v2_3_0), _NscLib/NscParser.ypp + (tags: v2_3_0): + + try to also accomodate bison 2.0 + + 2005-11-10 16:07 sumpfork + + * _NscLib/.cvsignore, nwnnsscomp/python/.cvsignore (utags: v2_3_0): + + ignore generated files + + 2005-11-10 15:13 sumpfork + + * configure.ac, _NscLib/Makefile.am (tags: v2_3_0), + nwnnsscomp/python/Makefile.am (tags: v2_3_0), + wxnwntreasure/Makefile.am (tags: v2_3_0): + + make sure necessary files are include on make dist;properly exclude wxnwntreasure + + 2005-11-10 13:32 sumpfork + + * _NscLib/: NscParser.y, NscParser.ypp: + + rename parser generation file + + 2005-11-10 13:31 sumpfork + + * NEWS (tags: v2_3_0), configure.ac, _NscLib/Makefile.am, + _NscLib/NscCompiler.cpp, _NscLib/NscContext.cpp, + _NscLib/NscContext.h (tags: v2_3_0): + + change parser to use bison instead of msta + + 2005-10-18 22:24 sumpfork + + * AUTHORS (tags: v2_3_0), configure.ac, debian/changelog (tags: + v2_3_0), debian/compat (tags: v2_3_0), debian/control (tags: + v2_3_0), debian/copyright (tags: v2_3_0), debian/dirs (tags: + v2_3_0), debian/docs (tags: v2_3_0), debian/rules (tags: v2_3_0), + nwnnsscomp/README (tags: v2_3_0), nwnnsscomp/python/Makefile.am: + + checking in debian patch from ML + + 2005-08-03 10:34 sumpfork + + * _NscLib/NscCodeGenerator.cpp (tags: v2_3_0): + + long overdue patch from forums applied + + 2005-02-04 17:18 sumpfork + + * configure.ac, nwnnsscomp/Makefile.am (tags: v2_3_0), + nwnnsscomp/python/Makefile.am: + + bump version to 2.2 + include compiler python bindings in the make process + + 2005-02-04 16:33 sumpfork + + * _NscLib/NscCompiler.cpp, _NscLib/NscParser.y, + _NscLib/NscParserRoutines.cpp (tags: v2_3_0), + _NwnLib/NwnDefines.h (tags: v2_3_0): + + fixing previous fix for gcc 3.4 (used wrong symbol, was producing faulty compile output) + changing CONST to NWCONST to avoid conflict warnings with standard C library + + 2005-01-27 20:10 sumpfork + + * autogen.sh (tags: v2_3_0), configure.ac, _NmcLib/Makefile.am + (tags: v2_3_0), _NscLib/NscCompiler.cpp, _NwnLib/NwnDefines.h: + + fixes for gcc 3.4 + + 2004-07-09 17:17 sumpfork + + * nwnnsscomp/python/: compiler.cpp, setup.py, test.py (utags: + v2_3_0): + + replacing stack alloc with new to fix linux compiler crash on errors + add correct dependencies to setup.py + new very basic test file for the python extension + + 2004-06-16 09:48 eyrdan + + * nwnnsscomp/nwnnsscomp.cpp (tags: v2_3_0): + + Fixed const char* vs. char* of NwnBasename return type. + + 2004-06-15 20:57 sumpfork + + * nwnnsscomp/nwnnsscomp.cpp: + + fixing assumption that basename returns pointer to same string (once again) + + 2004-05-15 15:54 sumpfork + + * ChangeLog (tags: v2_3_0), NEWS, configure.ac, + nwnnsscomp/python/compiler.cpp: + + updating NEWS, Changelog and bumping version to 2.1.0 + removing some printouts from compiler + 2004-05-15 15:09 sumpfork *************** *** 4,8 **** compiler now exits with value 1 on error (not consistent on windows) ! 2004-05-15 14:44 sumpfork --- 115,119 ---- compiler now exits with value 1 on error (not consistent on windows) ! 2004-05-15 14:44 sumpfork |
From: Sumpfork <sum...@us...> - 2005-11-11 23:28:45
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12786 Modified Files: configure.ac Log Message: fix 2.1 bison handling I just broke Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** configure.ac 11 Nov 2005 23:25:20 -0000 1.11 --- configure.ac 11 Nov 2005 23:28:36 -0000 1.12 *************** *** 34,38 **** else AC_MSG_RESULT([setting bison lalr1 yychar variable name to yylooka]) ! AC_SUBST(YYCHAR_NAME,yylooka,[name of yychar lookahead var in bison lalr1.cc]) fi --- 34,38 ---- else AC_MSG_RESULT([setting bison lalr1 yychar variable name to yylooka]) ! AC_DEFINE(YYCHAR_NAME,yylooka,[name of yychar lookahead var in bison lalr1.cc]) fi |
From: Sumpfork <sum...@us...> - 2005-11-11 23:25:29
|
Update of /cvsroot/openknights/NWNTools/_NscLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12328/_NscLib Modified Files: NscCompiler.cpp NscContext.cpp NscParser.ypp Log Message: try to also accomodate bison 2.0 Index: NscContext.cpp =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/NscContext.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** NscContext.cpp 10 Nov 2005 18:31:10 -0000 1.3 --- NscContext.cpp 11 Nov 2005 23:25:20 -0000 1.4 *************** *** 1328,1344 **** } } - - //---------------------------------------------------------------------------- - // - // Functions to hand off parser callbacks to the context class - // - //---------------------------------------------------------------------------- - - void yy::parser::error (const yy::parser::location_type& l, - const std::string& m) { - context.yyerror(m.c_str()); - } - - int yylex (YYSTYPE* yylval, CNscContext& context) { - return context.yylex(yylval); - } --- 1328,1329 ---- Index: NscCompiler.cpp =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/NscCompiler.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NscCompiler.cpp 10 Nov 2005 18:31:10 -0000 1.5 --- NscCompiler.cpp 11 Nov 2005 23:25:20 -0000 1.6 *************** *** 367,368 **** --- 367,387 ---- } } + + //---------------------------------------------------------------------------- + // + // Functions to hand off parser callbacks to the context class + // + //---------------------------------------------------------------------------- + + void yy::parser::error (const yy::parser::location_type& l, + const std::string& m) { + context.yyerror(m.c_str()); + } + + int yylex (YYSTYPE* yylval, CNscContext& context) { + return context.yylex(yylval); + } + + int yylex (YYSTYPE* yylval) { + return g_pCtx->yylex(yylval); + } Index: NscParser.ypp =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/NscParser.ypp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NscParser.ypp 10 Nov 2005 18:32:02 -0000 1.1 --- NscParser.ypp 11 Nov 2005 23:25:20 -0000 1.2 *************** *** 51,54 **** --- 51,55 ---- int yylex (YYSTYPE* yylval, CNscContext& context); + int yylex (YYSTYPE* yylval); YYSTYPE NscBuildIdentifier (YYSTYPE p); *************** *** 657,671 **** { $$ = NULL; ! if (NscBuildSyntaxError (yylooka, yylval)) YYABORT; ! while (yylooka != EOF && yylooka != ';' && yylooka != '{' && yylooka != '}') { if (yylval != NULL) yylval; //FIXME ! yylooka = yyempty_; ! yylooka = yylex (&yylval, context); } ! if (yylooka == ';') ! yylooka = yyempty_; } ; --- 658,672 ---- { $$ = NULL; ! if (NscBuildSyntaxError (YYCHAR_NAME, yylval)) YYABORT; ! while (YYCHAR_NAME != EOF && YYCHAR_NAME != ';' && YYCHAR_NAME != '{' && YYCHAR_NAME != '}') { if (yylval != NULL) yylval; //FIXME ! YYCHAR_NAME = yyempty_; ! YYCHAR_NAME = yylex (&yylval, context); } ! if (YYCHAR_NAME == ';') ! YYCHAR_NAME = yyempty_; } ; *************** *** 984,997 **** { $$ = NULL; ! if (NscBuildSyntaxError (yylooka, yylval)) YYABORT; ! while (yylooka != EOF && yylooka != ';' && yylooka != '{' && yylooka != '}') { if (yylval != NULL) yylval; //FIXME ! yylooka = yyempty_; ! yylooka = yylex (&yylval, context); } ! yylooka = yyempty_; } ; --- 985,998 ---- { $$ = NULL; ! if (NscBuildSyntaxError (YYCHAR_NAME, yylval)) YYABORT; ! while (YYCHAR_NAME != EOF && YYCHAR_NAME != ';' && YYCHAR_NAME != '{' && YYCHAR_NAME != '}') { if (yylval != NULL) yylval; //FIXME ! YYCHAR_NAME = yyempty_; ! YYCHAR_NAME = yylex (&yylval, context); } ! YYCHAR_NAME = yyempty_; } ; |
From: Sumpfork <sum...@us...> - 2005-11-11 23:25:29
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12328 Modified Files: configure.ac Log Message: try to also accomodate bison 2.0 Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** configure.ac 10 Nov 2005 20:13:05 -0000 1.10 --- configure.ac 11 Nov 2005 23:25:20 -0000 1.11 *************** *** 18,21 **** --- 18,40 ---- AC_PROG_YACC + # Check bison version, substitute name for yychar + bison_version=`bison -V | grep "^bison" | awk '{print $4}'` + bison_v=`echo $bison_version | awk 'BEGIN { FS="." } {printf "%d", $1*10+$2;}'` + AC_MSG_RESULT([checking bison version: $bison_version]) + + if test -n "$bison_v" && test "$bison_v" -lt 20 + then + AC_MSG_ERROR([need a bison version >= 2.0]) + fi + + if test -n "$bison_v" && test "$bison_v" -eq 20 + then + AC_MSG_RESULT([setting bison lalr1 yychar variable name to yylooka_]) + AC_DEFINE(YYCHAR_NAME,yylooka_,[name of yychar lookahead var in bison lalr1.cc]) + else + AC_MSG_RESULT([setting bison lalr1 yychar variable name to yylooka]) + AC_SUBST(YYCHAR_NAME,yylooka,[name of yychar lookahead var in bison lalr1.cc]) + fi + # Check for python AM_PATH_PYTHON(2.2,, :) |
From: Sumpfork <sum...@us...> - 2005-11-10 21:07:30
|
Update of /cvsroot/openknights/NWNTools/nwnnsscomp/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20851/nwnnsscomp/python Added Files: .cvsignore Log Message: ignore generated files --- NEW FILE: .cvsignore --- Makefile Makefile.in build |
From: Sumpfork <sum...@us...> - 2005-11-10 21:07:30
|
Update of /cvsroot/openknights/NWNTools/_NscLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20851/_NscLib Modified Files: .cvsignore Log Message: ignore generated files Index: .cvsignore =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** .cvsignore 7 Jul 2003 20:47:42 -0000 1.1.1.1 --- .cvsignore 10 Nov 2005 21:07:13 -0000 1.2 *************** *** 7,8 **** --- 7,11 ---- *.a *.o + stack.hh + position.hh + location.hh |
From: Sumpfork <sum...@us...> - 2005-11-10 20:13:25
|
Update of /cvsroot/openknights/NWNTools/_NscLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7603/_NscLib Modified Files: Makefile.am Log Message: make sure necessary files are include on make dist;properly exclude wxnwntreasure Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 10 Nov 2005 18:31:10 -0000 1.2 --- Makefile.am 10 Nov 2005 20:13:05 -0000 1.3 *************** *** 28,31 **** --- 28,34 ---- EXTRA_DIST = \ NscParser.h \ + location.hh \ + position.hh \ + stack.hh \ _NscLib.vcproj |
From: Sumpfork <sum...@us...> - 2005-11-10 20:13:13
|
Update of /cvsroot/openknights/NWNTools/wxnwntreasure In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7603/wxnwntreasure Modified Files: Makefile.am Log Message: make sure necessary files are include on make dist;properly exclude wxnwntreasure Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/wxnwntreasure/Makefile.am,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** Makefile.am 16 Oct 2003 01:03:22 -0000 1.11 --- Makefile.am 10 Nov 2005 20:13:05 -0000 1.12 *************** *** 50,54 **** Makefile.in ! #rules added by sumpfork (pgo...@ma...) to make mac os app and dmg #somewhat messy - sorry PROGRAM = $(bin_PROGRAMS) --- 50,54 ---- Makefile.in ! #rules added by sumpfork (sum...@us...) to make mac os app and dmg #somewhat messy - sorry PROGRAM = $(bin_PROGRAMS) |
From: Sumpfork <sum...@us...> - 2005-11-10 20:13:13
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7603 Modified Files: configure.ac Log Message: make sure necessary files are include on make dist;properly exclude wxnwntreasure Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** configure.ac 10 Nov 2005 18:31:10 -0000 1.9 --- configure.ac 10 Nov 2005 20:13:05 -0000 1.10 *************** *** 75,80 **** nwnnsscomp/Makefile nwnnsscomp/python/Makefile ! nwnmdlcomp/Makefile ! wxnwntreasure/Makefile]) AC_OUTPUT --- 75,79 ---- nwnnsscomp/Makefile nwnnsscomp/python/Makefile ! nwnmdlcomp/Makefile]) AC_OUTPUT |
From: Sumpfork <sum...@us...> - 2005-11-10 20:13:13
|
Update of /cvsroot/openknights/NWNTools/nwnnsscomp/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7603/nwnnsscomp/python Modified Files: Makefile.am Log Message: make sure necessary files are include on make dist;properly exclude wxnwntreasure Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/nwnnsscomp/python/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 19 Oct 2005 02:24:39 -0000 1.2 --- Makefile.am 10 Nov 2005 20:13:05 -0000 1.3 *************** *** 1,4 **** - EXTRA_DIST = setup.py test.py - all-local: setup.py compiler.cpp __init__.py $(PYTHON) setup.py build --- 1,2 ---- *************** *** 7,10 **** --- 5,14 ---- $(PYTHON) setup.py install --prefix=$(DESTDIR) + EXTRA_DIST = \ + compiler.cpp \ + setup.py \ + __init__.py \ + test.py + distclean: clean |
From: Sumpfork <sum...@us...> - 2005-11-10 18:32:09
|
Update of /cvsroot/openknights/NWNTools/_NscLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14686/_NscLib Added Files: NscParser.ypp Removed Files: NscParser.y Log Message: rename parser generation file --- NscParser.y DELETED --- --- NEW FILE: NscParser.ypp --- /* ** Neverwinter Nights Script compiler ** ** Copyright (c) 2002 - Edward T. Smith ** ** All rights reserved. ** ** Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** ** 1. Redistributions of source code must retain the above copyright notice, ** this list of conditions and the following disclaimer. ** 2. Neither the name of Edward T. Smith nor the names of its contributors ** may be used to endorse or promote products derived from this software ** without specific prior written permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT [...967 lines suppressed...] YYABORT; while (yylooka != EOF && yylooka != ';' && yylooka != '{' && yylooka != '}') { if (yylval != NULL) yylval; //FIXME yylooka = yyempty_; yylooka = yylex (&yylval, context); } yylooka = yyempty_; } ; external_declaration: function_definition | function_prototype | declaration | struct_definition ; %% |
From: Sumpfork <sum...@us...> - 2005-11-10 18:31:28
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14438 Modified Files: NEWS configure.ac Log Message: change parser to use bison instead of msta Index: NEWS =================================================================== RCS file: /cvsroot/openknights/NWNTools/NEWS,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NEWS 15 May 2004 19:54:26 -0000 1.2 --- NEWS 10 Nov 2005 18:31:09 -0000 1.3 *************** *** 1,2 **** --- 1,11 ---- + NWN Tools 2.3.0 + =============== + * switch compiler to be generated using bison instead of msta, which appears unsupported + * use autoconf to find python interpreter + + NWN Tools 2.2.0 (unreleased) + =============== + * Fixed a reported bug with post incrementor and decrementor of a global variable + NWN Tools 2.1.0 =============== Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** configure.ac 19 Oct 2005 02:24:39 -0000 1.8 --- configure.ac 10 Nov 2005 18:31:10 -0000 1.9 *************** *** 5,10 **** AC_COPYRIGHT([Copyright 2002, 2003 Edward T. Smith. All rights reserved. ! Copyright 2003, 2004 The Open Knights Consortium. All rights reserved.]) ! AC_INIT([NWN Tools], [2.2.0], [sum...@us...], [nwntools]) AC_SUBST(RELEASE, 1) AC_CONFIG_SRCDIR(_NwnLib/NwnDefines.h) --- 5,10 ---- AC_COPYRIGHT([Copyright 2002, 2003 Edward T. Smith. All rights reserved. ! Copyright 2003, 2004, 2005 The Open Knights Consortium. All rights reserved.]) ! AC_INIT([NWN Tools], [2.3.0], [sum...@us...], [nwntools]) AC_SUBST(RELEASE, 1) AC_CONFIG_SRCDIR(_NwnLib/NwnDefines.h) *************** *** 16,31 **** AC_PROG_CC AC_PROG_RANLIB # Check for python AM_PATH_PYTHON(2.2,, :) - AC_ARG_VAR(MSTA, [COCOM syntax description translator]) - AC_CHECK_PROG(MSTA, [msta], [msta]) - if test "$MSTA" != msta ; then - AC_MSG_ERROR([Could not find the msta command from the cocom - compiler compiler suite, please install from - cocom.sourceforge.net]) - fi - AC_ARG_VAR(EBUILD, [ebuild parsing command]) AC_PATH_PROG(EBUILD, [ebuild], [], [/usr/sbin:/usr/bin:/usr/lib/portage/bin]) --- 16,24 ---- AC_PROG_CC AC_PROG_RANLIB + AC_PROG_YACC # Check for python AM_PATH_PYTHON(2.2,, :) AC_ARG_VAR(EBUILD, [ebuild parsing command]) AC_PATH_PROG(EBUILD, [ebuild], [], [/usr/sbin:/usr/bin:/usr/lib/portage/bin]) |
From: Sumpfork <sum...@us...> - 2005-11-10 18:31:25
|
Update of /cvsroot/openknights/NWNTools/_NscLib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14438/_NscLib Modified Files: Makefile.am NscCompiler.cpp NscContext.cpp NscContext.h Log Message: change parser to use bison instead of msta Index: NscContext.cpp =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/NscContext.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NscContext.cpp 11 May 2004 01:06:23 -0000 1.2 --- NscContext.cpp 10 Nov 2005 18:31:10 -0000 1.3 *************** *** 126,129 **** --- 126,144 ---- } + //---------------------------------------------------------------------------- + // + // Construct the parser and call it + // + //---------------------------------------------------------------------------- + + int CNscContext::parse () + { + yy::parser parser(*this); + #ifdef _DEBUG + parser.set_debug_level(true); + #endif + return parser.parse(); + } + //----------------------------------------------------------------------------- // *************** *** 134,138 **** //----------------------------------------------------------------------------- ! int CNscContext::yylex () { --- 149,153 ---- //----------------------------------------------------------------------------- ! int CNscContext::yylex (YYSTYPE* yylval) { *************** *** 141,145 **** // ! yylval = NULL; // --- 156,160 ---- // ! *yylval = NULL; // *************** *** 202,206 **** int nCount = (int) (m_pStreamTop ->pszNextTokenPos - pszStart); UINT32 ulHash = CNscSymbolTable::GetHash (pszStart, nCount); ! // // See if it is a reserved word --- 217,221 ---- int nCount = (int) (m_pStreamTop ->pszNextTokenPos - pszStart); UINT32 ulHash = CNscSymbolTable::GetHash (pszStart, nCount); ! // // See if it is a reserved word *************** *** 221,225 **** pEntry ->SetType ((NscType) ( NscType_Engine_0 + pSymbol ->nEngineObject)); ! yylval = pEntry; return pSymbol ->nToken; } --- 236,240 ---- pEntry ->SetType ((NscType) ( NscType_Engine_0 + pSymbol ->nEngineObject)); ! *yylval = pEntry; return pSymbol ->nToken; } *************** *** 231,235 **** CNscPStackEntry *pEntry = GetPStackEntry (__FILE__, __LINE__); pEntry ->SetIdentifier (pszStart, nCount); ! yylval = pEntry; return IDENTIFIER; } --- 246,250 ---- CNscPStackEntry *pEntry = GetPStackEntry (__FILE__, __LINE__); pEntry ->SetIdentifier (pszStart, nCount); ! *yylval = pEntry; return IDENTIFIER; } *************** *** 290,294 **** pEntry ->SetType (NscType_Integer); pEntry ->PushConstantInteger (nValue); ! yylval = pEntry; return INTEGER_CONST; } --- 305,309 ---- pEntry ->SetType (NscType_Integer); pEntry ->PushConstantInteger (nValue); ! *yylval = pEntry; return INTEGER_CONST; } *************** *** 340,344 **** psz [nCharacter] = 0; CNscPStackEntry *pEntry = GetPStackEntry (__FILE__, __LINE__); ! yylval = pEntry; if (fHasDecimal) { --- 355,359 ---- psz [nCharacter] = 0; CNscPStackEntry *pEntry = GetPStackEntry (__FILE__, __LINE__); ! *yylval = pEntry; if (fHasDecimal) { *************** *** 611,615 **** pEntry ->SetType (NscType_String); pEntry ->PushConstantString (pszStart, (int) (pszOut - pszStart)); ! yylval = pEntry; return STRING_CONST; } --- 626,630 ---- pEntry ->SetType (NscType_String); pEntry ->PushConstantString (pszStart, (int) (pszOut - pszStart)); ! *yylval = pEntry; return STRING_CONST; } *************** *** 630,634 **** pEntry ->SetType (NscType_String); pEntry ->PushConstantString (pszStart, (int) (pszOut - pszStart)); ! yylval = pEntry; GenerateError ("Unterminated string"); return STRING_CONST; --- 645,649 ---- pEntry ->SetType (NscType_String); pEntry ->PushConstantString (pszStart, (int) (pszOut - pszStart)); ! *yylval = pEntry; GenerateError ("Unterminated string"); return STRING_CONST; *************** *** 1313,1314 **** --- 1328,1344 ---- } } + + //---------------------------------------------------------------------------- + // + // Functions to hand off parser callbacks to the context class + // + //---------------------------------------------------------------------------- + + void yy::parser::error (const yy::parser::location_type& l, + const std::string& m) { + context.yyerror(m.c_str()); + } + + int yylex (YYSTYPE* yylval, CNscContext& context) { + return context.yylex(yylval); + } Index: NscContext.h =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/NscContext.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NscContext.h 11 May 2004 01:06:23 -0000 1.2 --- NscContext.h 10 Nov 2005 18:31:10 -0000 1.3 *************** *** 70,74 **** //----------------------------------------------------------------------------- ! class CNscContext : public yyparser { enum Constants --- 70,74 ---- //----------------------------------------------------------------------------- ! class CNscContext { enum Constants *************** *** 119,123 **** // @cmember Get the next token ! virtual int yylex (); // @cmember Generate a parser error --- 119,125 ---- // @cmember Get the next token ! virtual int parse (); ! ! virtual int yylex (YYSTYPE* yylval); // @cmember Generate a parser error Index: NscCompiler.cpp =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/NscCompiler.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** NscCompiler.cpp 4 Feb 2005 21:33:24 -0000 1.4 --- NscCompiler.cpp 10 Nov 2005 18:31:10 -0000 1.5 *************** *** 160,164 **** sCtx .SetOptExpression (true); g_pCtx = &sCtx; ! if (sCtx .yyparse () != 0 || sCtx .GetErrors () > 0) { printf ("Error compiling nwscipt.nss\n"); --- 160,164 ---- sCtx .SetOptExpression (true); g_pCtx = &sCtx; ! if (sCtx .parse () != 0 || sCtx .GetErrors () > 0) { printf ("Error compiling nwscipt.nss\n"); *************** *** 252,256 **** sCtx .AddStream (pStream); //sCtx.yydebug = 1; ! sCtx .yyparse (); if (sCtx .GetErrors () > 0) { --- 252,256 ---- sCtx .AddStream (pStream); //sCtx.yydebug = 1; ! sCtx .parse (); if (sCtx .GetErrors () > 0) { *************** *** 276,280 **** sCtx .AddStream (pStream); sCtx .SetPhase2 (true); ! sCtx .yyparse (); if (sCtx .GetErrors () > 0) { return NscResult_Failure; --- 276,280 ---- sCtx .AddStream (pStream); sCtx .SetPhase2 (true); ! sCtx .parse (); if (sCtx .GetErrors () > 0) { return NscResult_Failure; Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/_NscLib/Makefile.am,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Makefile.am 7 Jul 2003 20:47:40 -0000 1.1.1.1 --- Makefile.am 10 Nov 2005 18:31:10 -0000 1.2 *************** *** 2,5 **** --- 2,7 ---- AM_CXXFLAGS = -fno-default-inline + AM_YFLAGS = --defines=NscParser.h --skeleton=lalr1.cc + noinst_LIBRARIES = libnsc.a *************** *** 15,23 **** NscContext.h \ NscPStackEntry.h \ ! NscSymbolTable.h ! ! nodist_libnsc_a_SOURCES = \ ! NscParser.cpp \ ! NscParser.h BUILT_SOURCES = \ --- 17,22 ---- NscContext.h \ NscPStackEntry.h \ ! NscSymbolTable.h \ ! NscParser.ypp BUILT_SOURCES = \ *************** *** 27,43 **** libnsc_a_LIBADD = @LIBOBJS@ - CLEANFILES = \ - NscParser.cpp \ - NscParser.h \ - NscParser.output - EXTRA_DIST = \ ! _NscLib.vcproj \ ! NscParser.y MAINTAINERCLEANFILES = \ Makefile.in - NscParser.cpp NscParser.h: NscParser.y - $(MSTA) -c++ -v -l -d $< - --- 26,34 ---- libnsc_a_LIBADD = @LIBOBJS@ EXTRA_DIST = \ ! NscParser.h \ ! _NscLib.vcproj MAINTAINERCLEANFILES = \ Makefile.in |
From: Sumpfork <sum...@us...> - 2005-10-19 02:24:47
|
Update of /cvsroot/openknights/NWNTools/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12381/debian Added Files: changelog compat control copyright dirs docs rules Log Message: checking in debian patch from ML --- NEW FILE: control --- (This appears to be a binary file; contents omitted.) --- NEW FILE: compat --- 4 --- NEW FILE: copyright --- (This appears to be a binary file; contents omitted.) --- NEW FILE: changelog --- (This appears to be a binary file; contents omitted.) --- NEW FILE: rules --- #!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This has to be exported to make some magic below work. export DH_OPTIONS CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif configure: configure-stamp configure-stamp: dh_testdir aclocal autoheader automake --no-force --add-missing --copy --gnits autoconf ./configure --prefix=/usr touch configure-stamp #Architecture build: build-arch build-indep build-arch: build-arch-stamp build-arch-stamp: configure-stamp # Add here commands to compile the arch part of the package. #$(MAKE) $(MAKE) touch build-arch-stamp build-indep: build-indep-stamp build-indep-stamp: configure-stamp # Add here commands to compile the indep part of the package. #$(MAKE) doc touch build-indep-stamp clean: dh_testdir dh_testroot rm -f build-arch-stamp build-indep-stamp configure-stamp # Add here commands to clean up after the build process. -$(MAKE) maintainer-clean dh_clean install: install-arch install-indep: dh_testdir dh_testroot dh_clean -k -i dh_installdirs -i # Add here commands to install the indep part of the package into # debian/<package>-doc. #INSTALLDOC# dh_install -i install-arch: dh_testdir dh_testroot dh_clean -k -s dh_installdirs -s # Add here commands to install the arch part of the package into # debian/tmp. $(MAKE) install DESTDIR=$(CURDIR)/debian/nwntools dh_install -s # Must not depend on anything. This is to be called by # binary-arch/binary-indep # in another 'make' thread. binary-common: dh_testdir dh_testroot dh_installchangelogs ChangeLog dh_installdocs dh_installexamples # dh_installmenu # dh_installdebconf # dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime # dh_installinit # dh_installcron # dh_installinfo # dh_installman dh_link dh_strip dh_compress dh_fixperms # dh_perl dh_python dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb # Build architecture independant packages using the common target. binary-indep: build-indep install-indep $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common # Build architecture dependant packages using the common target. binary-arch: build-arch install-arch $(MAKE) -f debian/rules DH_OPTIONS=-a binary-common binary: binary-arch .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure --- NEW FILE: docs --- NEWS README-1.2.html AUTHORS COPYING --- NEW FILE: dirs --- usr/bin |
From: Sumpfork <sum...@us...> - 2005-10-19 02:24:47
|
Update of /cvsroot/openknights/NWNTools/nwnnsscomp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12381/nwnnsscomp Added Files: README Log Message: checking in debian patch from ML --- NEW FILE: README --- This is the nwn script compiler originally written by Torlack (Edward T. Smith). It was compiled for the Mac by sumpfork (sum...@so...) and bug reports should be made to the Openknights consortium at http://sf.net/projects/openknights. This is a command line only tool. It is part of the NWNTools package by Torlack that is now maintained and distributed by the Openknights consortium. NeverWinter Nights Script Compiler/Decompiler Copyright 2002-2003, Edward T. Smith Copyright 2003, The Open Knights Consortium Usage: nwnnsscomp [-cdeox] [-t#] [-v#] nwndir infile nwndir - directory where NWN is installed. infile - name of the input file. -c - Compile the script (default) -d - Decompile the script (can't be used with -c) -e - Enable non-Bioware extensions -o - Optimize the compiled source -x - Extract script from NWN data files -vx.xx - Set the version of the compiler -t1 - Perform a compilation test with BIF scripts -t2 - Perform a compilation test with the given module -t3 - Optimization space saving report with the given module -t4 - Perform a compilation test with the given file or files |
From: Sumpfork <sum...@us...> - 2005-10-19 02:24:47
|
Update of /cvsroot/openknights/NWNTools/nwnnsscomp/python In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12381/nwnnsscomp/python Modified Files: Makefile.am Log Message: checking in debian patch from ML Index: Makefile.am =================================================================== RCS file: /cvsroot/openknights/NWNTools/nwnnsscomp/python/Makefile.am,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.am 4 Feb 2005 22:18:54 -0000 1.1 --- Makefile.am 19 Oct 2005 02:24:39 -0000 1.2 *************** *** 2,7 **** all-local: setup.py compiler.cpp __init__.py ! python setup.py build ! install-exec-local: ! python setup.py install --- 2,16 ---- all-local: setup.py compiler.cpp __init__.py ! $(PYTHON) setup.py build ! install-exec-local: ! $(PYTHON) setup.py install --prefix=$(DESTDIR) ! ! distclean: clean ! ! clean: ! $(RM) -Rf build ! $(RM) Makefile ! ! maintainer-clean: clean ! $(RM) Makefile.in |
From: Sumpfork <sum...@us...> - 2005-10-19 02:24:47
|
Update of /cvsroot/openknights/NWNTools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12381 Modified Files: AUTHORS configure.ac Log Message: checking in debian patch from ML Index: configure.ac =================================================================== RCS file: /cvsroot/openknights/NWNTools/configure.ac,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** configure.ac 4 Feb 2005 22:18:53 -0000 1.7 --- configure.ac 19 Oct 2005 02:24:39 -0000 1.8 *************** *** 17,20 **** --- 17,23 ---- AC_PROG_RANLIB + # Check for python + AM_PATH_PYTHON(2.2,, :) + AC_ARG_VAR(MSTA, [COCOM syntax description translator]) AC_CHECK_PROG(MSTA, [msta], [msta]) Index: AUTHORS =================================================================== RCS file: /cvsroot/openknights/NWNTools/AUTHORS,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AUTHORS 7 Jul 2003 21:55:55 -0000 1.2 --- AUTHORS 19 Oct 2005 02:24:39 -0000 1.3 *************** *** 20,24 **** Francois Guimond (Eyrdan) - ey...@us... ! Initial MacOS X Port & Automake/Autoconf Assistance ! Peter Gorniak (sumpfork) - pgo...@ma... --- 20,25 ---- Francois Guimond (Eyrdan) - ey...@us... ! Initial MacOS X Port & Automake/Autoconf Assistance, Python interface ! Peter Gorniak (sumpfork) - sum...@us... ! |
From: Sumpfork <sum...@us...> - 2005-10-18 22:42:53
|
Update of /cvsroot/openknights/NWNTools/debian In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22115/debian Log Message: Directory /cvsroot/openknights/NWNTools/debian added to the repository |
From: Sumpfork <sum...@us...> - 2005-08-13 15:58:48
|
Update of /cvsroot/openknights/neveredit/ui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30610/ui Modified Files: NeverEditMainApp.py Log Message: fix notebook page syncing loop Index: NeverEditMainApp.py =================================================================== RCS file: /cvsroot/openknights/neveredit/ui/NeverEditMainApp.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** NeverEditMainApp.py 13 Aug 2005 15:09:11 -0000 1.12 --- NeverEditMainApp.py 13 Aug 2005 15:58:40 -0000 1.13 *************** *** 117,120 **** --- 117,122 ---- self.fileChanged = False + self.inSync = False + self.map = None self.model = None *************** *** 718,722 **** def syncDisplayedPage(self): if not self.selectedTreeItem: ! return data = self.tree.GetPyData(self.selectedTreeItem) if not data: --- 720,724 ---- def syncDisplayedPage(self): if not self.selectedTreeItem: ! return data = self.tree.GetPyData(self.selectedTreeItem) if not data: *************** *** 724,727 **** --- 726,732 ---- if not self.notebook.doesCurrentPageNeedSync(): return + if self.inSync: + return + self.inSync = True tag = self.notebook.getSelectedTag() if tag == 'props': *************** *** 746,749 **** --- 751,755 ---- self.model.setModel(data.getModel(True)) self.notebook.setCurrentPageSync(False) + self.inSync = False def treeSelChanged(self,event): |
From: Sumpfork <sum...@us...> - 2005-08-13 15:09:20
|
Update of /cvsroot/openknights/neveredit/ui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21104/ui Modified Files: NeverEditMainApp.py Added Files: Notebook.py Log Message: new ability to add single resource files to a module major change in how and when notebook pages are loaded: all loads are now delayed until shown new Notebook class to perform bookkeeping for this --- NEW FILE: Notebook.py --- import logging logger = logging.getLogger("neveredit.ui") import wx class Notebook (wx.Notebook): def __init__(self,parent): wx.Notebook.__init__(self,parent,-1,(420,420)) self.pageMap = {} def AddPage(self, page, title, tag): self.pageMap[tag] = [self.GetPageCount(), True] wx.Notebook.AddPage(self, page, title) def getSelectedTag(self): select = self.GetSelection() for tag,info in self.pageMap.iteritems(): if info[0] == select: return tag return None def getPageByTag(self, tag): if tag in self.pageMap: return self.GetPage(self.pageMap[tag][0]) else: return None def removePageByTag(self, tag, doDelete=False): if tag not in self.pageMap: logger.warning('trying to delete page not in notebookMap: ' + `tag` + ' notebookMap: ' + `self.pageMap`) return else: pageNum = self.pageMap[tag][0] for name,page in self.pageMap.iteritems(): if page[0] > pageNum: self.pageMap[name][0] -= 1 print 'removing page',pageNum,tag if doDelete: self.DeletePage(pageNum) else: self.RemovePage(pageNum) del self.pageMap[tag] def deletePageByTag(self, tag): self.removePageByTag(tag, True) def getPageInfo(self, pageNum): for key,info in self.pageMap.iteritems(): if info[0] == pageNum: return info return None def getPageInfoByTag(self, tag): return self.pageMap.get(tag,None) def selectPageByTag(self, tag): info = self.getPageInfoByTag(tag) if info: self.SetSelection(info[0]) def doesCurrentPageNeedSync(self): info = self.getPageInfo(self.GetSelection()) if not info or not info[1]: return False else: return True def setCurrentPageSync(self, sync): info = self.getPageInfo(self.GetSelection()) if not info: return else: info[1] = sync def setPageSyncByTag(self, tag, sync): info = self.getPageInfoByTag(tag) if not info: return else: info[1] = sync Index: NeverEditMainApp.py =================================================================== RCS file: /cvsroot/openknights/neveredit/ui/NeverEditMainApp.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** NeverEditMainApp.py 12 Mar 2005 15:40:52 -0000 1.11 --- NeverEditMainApp.py 13 Aug 2005 15:09:11 -0000 1.12 *************** *** 1,5 **** - #!/usr/bin/python - # NOTE: Mac users, you need to run this as 'pythonw NeverEditMainApp.py' - # or change the line above to say 'pythonw' """Main neveredit application class.""" --- 1,2 ---- *************** *** 25,29 **** sys.exit() - import neveredit from neveredit.game import Module from neveredit.game import Area --- 22,25 ---- *************** *** 40,43 **** --- 36,40 ---- from neveredit.ui import ToolPalette from neveredit.ui import PreferencesDialog + from neveredit.ui import Notebook from neveredit.util import Preferences from neveredit.util import Utils *************** *** 125,129 **** self.idToTreeItemMap = {} - self.notebookMap = {} self.detachedMap = {} --- 122,125 ---- *************** *** 150,156 **** wx.EVT_TREE_ITEM_COLLAPSED(self,tID,self.treeItemCollapsed) ! self.notebook = wx.Notebook(splitter,-1,(420,420))#,style=wx.CLIP_CHILDREN) ! self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING,self.OnNotebookPageChanging, self.notebook) self.SetSizeHints(minW=745,minH=200) --- 146,153 ---- wx.EVT_TREE_ITEM_COLLAPSED(self,tID,self.treeItemCollapsed) ! self.notebook = Notebook.Notebook(splitter) ! self.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,self.OnNotebookPageChanged, self.notebook) + self.SetSizeHints(minW=745,minH=200) *************** *** 159,169 **** self.welcome = wx.html.HtmlWindow(self.notebook,-1,(400,400)) ! self.notebookMap['welcome'] = self.notebook.GetPageCount() ! self.notebook.AddPage(self.welcome,"Welcome to neveredit") try: self.welcome.SetPage(self.__doc__) except: pass #html window likes to throw exceptions - #self.welcome.LoadPage("test.html") helps = [file for file in os.listdir(os.getcwd()) --- 156,164 ---- self.welcome = wx.html.HtmlWindow(self.notebook,-1,(400,400)) ! self.notebook.AddPage(self.welcome,_("Welcome to neveredit"),'welcome') try: self.welcome.SetPage(self.__doc__) except: pass #html window likes to throw exceptions helps = [file for file in os.listdir(os.getcwd()) *************** *** 172,175 **** --- 167,171 ---- self.toolPalette = None + self.props = None self.setupMenus() *************** *** 183,191 **** wx.EVT_CLOSE(self.scriptEditorFrame,self.OnCloseWindow) - self.makePropPage() self.readingERF = False self.RMThread = None - self.prefs = None self.loadPrefs() --- 179,185 ---- *************** *** 273,276 **** --- 267,271 ---- self.ID_PREFS = wx.NewId() self.ID_ADD_ERF = wx.NewId() + self.ID_ADD_RESOURCE = wx.NewId() self.ID_DETACH = wx.NewId() self.ID_PALETTE_WINDOW_MITEM = wx.NewId() *************** *** 293,296 **** --- 288,293 ---- self.filemenu.Append(self.ID_ADD_ERF, _('Add in ERF File...'), _("Add all entries of another ERF file")) + self.filemenu.Append(self.ID_ADD_RESOURCE, _('Add in resource file...'), + _("Add an NWN resource into module")) self.filemenu.AppendSeparator() self.filemenu.Append(self.ID_SAVE, '&' + _('Save') + '\tCtrl+S', *************** *** 305,308 **** --- 302,306 ---- self.filemenu.Enable(self.ID_SAVEAS,False) self.filemenu.Enable(self.ID_ADD_ERF,False) + self.filemenu.Enable(self.ID_ADD_RESOURCE,False) self.filehistory = wx.FileHistory() *************** *** 344,347 **** --- 342,346 ---- wx.EVT_MENU(self,self.ID_OPEN,self.openFile) wx.EVT_MENU(self,self.ID_ADD_ERF,self.addERFFile) + wx.EVT_MENU(self,self.ID_ADD_RESOURCE,self.addResourceFile) wx.EVT_MENU(self,self.ID_SAVE,self.saveFile) wx.EVT_MENU(self,self.ID_SAVEAS,self.saveFileAs) *************** *** 453,458 **** '''Initialize the static controls for the properties notebook page.''' self.props = PropWindow.PropWindow(self.notebook) ! self.notebookMap['props'] = self.notebook.GetPageCount() ! self.notebook.AddPage(self.props,_("Properties")) def treeFromERF(self): --- 452,456 ---- '''Initialize the static controls for the properties notebook page.''' self.props = PropWindow.PropWindow(self.notebook) ! self.notebook.AddPage(self.props, _("Properties"), 'props') def treeFromERF(self): *************** *** 460,464 **** associated with the app. Does so in a new thread.''' self.selectedTreeItem = None - self.props.cleanPropPage() self.tree.DeleteAllItems() self.treeRoot = self.tree.AddRoot(self.module.getName()) --- 458,461 ---- *************** *** 499,502 **** --- 496,500 ---- self.filemenu.Enable(self.ID_SAVEAS,True) self.filemenu.Enable(self.ID_ADD_ERF,True) + self.filemenu.Enable(self.ID_ADD_RESOURCE,True) self.fileChanged = False self.tree.Expand(self.treeRoot) *************** *** 510,517 **** self.readFile(self.filehistory.GetHistoryFile(fileNum)) - def OnNotebookPageChanging(self,event): - '''Callback for notebook page changing event''' - self.maybeApplyPropControlValues() - def OnSize(self,event): rect = self.GetStatusBar().GetFieldRect(1) --- 508,511 ---- *************** *** 595,598 **** --- 589,593 ---- def OnScriptAdded(self,event): + """event handler for new script being added to module""" self.scriptEditor.addChangeListener(self.setFileChanged) data = self.getSelectedTreeItemData() *************** *** 622,625 **** --- 617,621 ---- def unselectTreeItem(self): + """unselect the currently selected tree item.""" self.maybeApplyPropControlValues() self.selectedTreeItem = None *************** *** 695,698 **** --- 691,695 ---- def treeItemExpanding(self,event): + """Dynamically create the children of the currently expanding item.""" item = event.GetItem() if self.isAreaItem(item): *************** *** 707,732 **** self.tree.DeleteChildren(item) - def removeNotebookPage(self,pageName): - if pageName not in self.notebookMap: - return - else: - pageNum = self.notebookMap[pageName] - for name,page in self.notebookMap.iteritems(): - if page > pageNum: - self.notebookMap[name] -= 1 - self.notebook.RemovePage(pageNum) - del self.notebookMap[pageName] - - def deleteNotebookPage(self,pageName): - if pageName not in self.notebookMap: - return - else: - pageNum = self.notebookMap[pageName] - for name,page in self.notebookMap.iteritems(): - if page > pageNum: - self.notebookMap[name] -= 1 - self.notebook.DeletePage(pageNum) - del self.notebookMap[pageName] - def getSelectedTreeItemData(self): ''' --- 704,707 ---- *************** *** 735,739 **** --- 710,750 ---- ''' return self.tree.GetPyData(self.tree.GetSelection()) + + def OnNotebookPageChanged(self,event): + '''Callback for notebook page changing event''' + self.maybeApplyPropControlValues() + self.syncDisplayedPage() + def syncDisplayedPage(self): + if not self.selectedTreeItem: + return + data = self.tree.GetPyData(self.selectedTreeItem) + if not data: + return + if not self.notebook.doesCurrentPageNeedSync(): + return + tag = self.notebook.getSelectedTag() + if tag == 'props': + self.notebook.selectPageByTag('welcome') # blank out to hide creation of controls + self.toolPalette.GetToolBar().Enable(False) + if tag == 'props': + self.props.makePropsForItem(data,self) + self.notebook.selectPageByTag(tag) + elif tag == 'map': + area = self.getAreaForTreeItem(self.selectedTreeItem) + self.map.setArea(area) + MapWindow.EVT_MAPSINGLESELECTION(self.map, + self.OnMapSelection) + MapWindow.EVT_MAPMOVE(self.map,self.OnMapMove) + MapWindow.EVT_MAPTHINGADDED(self.map,self.OnMapThingAdded) + ToolPalette.EVT_TOOLSELECTION(self.toolPalette, + self.map.toolSelected) + self.toolPalette.GetToolBar().Enable(True) + self.map.selectThingById(data.getNevereditId()) + self.toolPalette.GetToolBar().Enable(True) + elif tag == 'model': + self.model.setModel(data.getModel(True)) + self.notebook.setCurrentPageSync(False) + def treeSelChanged(self,event): '''Callback to handle the user changing the selection *************** *** 741,746 **** self.maybeApplyPropControlValues() lastItem = self.selectedTreeItem ! if self.tree.GetPyData(event.GetItem()): ! self.selectedTreeItem = event.GetItem() if self.isAreaItem(event.GetItem()): self.tree.Expand(event.GetItem()) --- 752,756 ---- self.maybeApplyPropControlValues() lastItem = self.selectedTreeItem ! self.selectedTreeItem = event.GetItem() if self.isAreaItem(event.GetItem()): self.tree.Expand(event.GetItem()) *************** *** 749,754 **** data = self.tree.GetPyData(self.selectedTreeItem) notebookSelection = self.notebook.GetSelection() ! #if notebookSelection == self.notebookMap['props']: ! # self.notebook.SetSelection(self.notebookMap['welcome']) # blank out to hide controls if data: if data.__class__ == Script: --- 759,788 ---- data = self.tree.GetPyData(self.selectedTreeItem) notebookSelection = self.notebook.GetSelection() ! if hasattr(data,'iterateProperties') and\ ! not self.notebook.getPageByTag('props'): ! self.makePropPage() ! elif not hasattr(data,'iterateProperties'): ! self.notebook.deletePageByTag('props') ! self.notebook.setPageSyncByTag('props',True) ! area = self.getAreaForTreeItem(self.selectedTreeItem) ! oldArea = self.getAreaForTreeItem(lastItem) ! if oldArea and area != oldArea: ! oldArea.discardTiles() ! if area: ! self.lastAreaItem = self.getParentAreaItem(self.selectedTreeItem) ! if area and not self.notebook.getPageByTag('map'): ! self.map = MapWindow.MapWindow(self.notebook) ! self.notebook.AddPage(self.map, _('Map'), 'map') ! self.map.setProgressDisplay(self) ! elif not area and self.notebook.getPageByTag('map'): ! self.map.setArea(None) ! self.notebook.deletePageByTag('map') ! if self.notebook.getPageByTag('model') and not hasattr(data,'getModel'): ! self.notebook.deletePageByTag('model') ! if hasattr(data,'getModel'): ! if not self.model: ! self.model = ModelWindow.ModelWindow(self.notebook) ! self.notebook.AddPage(self.model, _('Model'), 'model') ! if data: if data.__class__ == Script: *************** *** 757,845 **** self.scriptEditor.addChangeListener(self.setFileChanged) self.selectedTreeItem = lastItem #we didn't actually change the main display ! else: ! if data.__class__ != Conversation and 'conversation' in self.notebookMap: ! self.notebook.SetSelection(self.notebookMap['props']) ! if not Utils.iAmOnLinux(): #hack around a crashing bug ! self.removeNotebookPage('conversation') ! self.notebook.SetSelection(self.notebookMap['props']) ! self.props.makePropsForItem(data,self) ! area = self.getAreaForTreeItem(self.selectedTreeItem) ! oldArea = self.getAreaForTreeItem(lastItem) ! if oldArea and area != oldArea: ! oldArea.discardTiles() ! if area: ! self.lastAreaItem = self.getParentAreaItem(self.selectedTreeItem) ! if area and 'map' not in self.notebookMap: ! self.map = MapWindow.MapWindow(self.notebook) ! self.map.setProgressDisplay(self) ! self.map.setArea(area) ! MapWindow.EVT_MAPSINGLESELECTION(self.map, ! self.OnMapSelection) ! MapWindow.EVT_MAPMOVE(self.map,self.OnMapMove) ! MapWindow.EVT_MAPTHINGADDED(self.map,self.OnMapThingAdded) ! ToolPalette.EVT_TOOLSELECTION(self.toolPalette, ! self.map.toolSelected) ! self.toolPalette.GetToolBar().Enable(True) ! notebookIndex = self.notebook.GetPageCount() ! self.notebook.InsertPage(notebookIndex,self.map,_('Map')) ! #self.notebook.SetSelection(notebookIndex) ! self.map.selectThingById(data.getNevereditId()) ! self.notebookMap['map'] = notebookIndex ! elif area: ! self.map.setArea(area) ! self.map.selectThingById(data.getNevereditId()) ! self.toolPalette.GetToolBar().Enable(True) ! elif 'map' in self.notebookMap: ! self.map.setArea(None) ! if not Utils.iAmOnLinux(): #hack around a crashing bug ! self.deleteNotebookPage('map') ! self.notebook.SetSelection(self.notebookMap['props']) ! self.toolPalette.GetToolBar().Enable(False) ! else: ! self.notebook.SetSelection(1) ! if data.__class__ == Conversation: ! if 'conversation' not in self.notebookMap: ! if not data.conversationPage: ! data.conversationPage = ConversationWindow.ConversationWindow(self.notebook,data) ! data.conversationPage.addChangeListener(self.setFileChanged) ! notebookIndex = self.notebook.GetPageCount() ! self.notebook.InsertPage(notebookIndex,data.conversationPage,_("Conversation")) ! self.notebookMap['conversation'] = notebookIndex ! else: ! if not data.conversationPage: ! data.conversationPage = ConversationWindow.ConversationWindow(self.notebook,data) ! data.conversationPage.addChangeListener(self.setFileChanged) ! if not Utils.iAmOnLinux(): #hack around a crashing bug ! self.removeNotebookPage('conversation') ! notebookIndex = self.notebook.GetPageCount() ! self.notebook.InsertPage(notebookIndex,data.conversationPage,_("Conversation")) ! self.notebookMap['conversation'] = notebookIndex ! if 'model' in self.notebookMap and not hasattr(data,'getModel'): ! self.deleteNotebookPage('model') ! if hasattr(data,'getModel'): ! if not self.model: ! self.model = ModelWindow.ModelWindow(self.notebook) ! notebookIndex = self.notebook.GetPageCount() ! self.notebook.InsertPage(notebookIndex, ! self.model,_('Model')) ! self.notebookMap['model'] = notebookIndex ! self.model.setModel(data.getModel(True)) ! if notebookSelection < self.notebook.GetPageCount() and\ ! not notebookSelection == self.notebookMap['welcome']: ! self.notebook.SetSelection(notebookSelection) else: ! self.notebook.SetSelection(self.notebookMap['props']) ! self.notebook.Refresh(True) ! else: ! self.props.cleanPropPage() def maybeApplyPropControlValues(self): if self.selectedTreeItem: data = self.tree.GetPyData(self.selectedTreeItem) if data: ! if data.__class__ == Conversation and data.conversationPage: ! data.conversationPage.maybeApplyPropControlValues() ! else: ! self.applyPropControlValues() def applyPropControlValues(self): --- 791,823 ---- self.scriptEditor.addChangeListener(self.setFileChanged) self.selectedTreeItem = lastItem #we didn't actually change the main display ! return ! if data.__class__ == Conversation: ! if not self.notebook.getPageByTag('conversation'): ! conversationPage = ConversationWindow\ ! .ConversationWindow(self.notebook, ! data) ! conversationPage.addChangeListener(self.setFileChanged) ! self.notebook.AddPage(conversationPage, _("Conversation"), 'conversation') else: ! self.notebook.getPageByTag('conversation').setConversation(data) ! else: ! self.notebook.deletePageByTag('conversation') + + if notebookSelection < self.notebook.GetPageCount() and\ + not notebookSelection == self.notebook.getPageInfoByTag('welcome')[0]: + self.notebook.SetSelection(notebookSelection) + else: + self.notebook.selectPageByTag('props') + + self.syncDisplayedPage() + def maybeApplyPropControlValues(self): if self.selectedTreeItem: data = self.tree.GetPyData(self.selectedTreeItem) if data: ! if data.__class__ == Conversation: ! self.notebook.getPageByTag('conversation').maybeApplyPropControlValues() ! self.applyPropControlValues() def applyPropControlValues(self): *************** *** 847,850 **** --- 825,830 ---- displayed property controls and updates the actual module file to reflect these values.''' + if not self.props: + return if self.props.applyPropControlValues(self.tree\ .GetPyData(self.selectedTreeItem)): *************** *** 1044,1047 **** --- 1024,1053 ---- self.treeFromERF() dlg.Destroy() + + def addResourceFile(self,event): + '''Display a dialog to find a file and add it as a resource to + the current module.''' + dlg = wx.FileDialog(self,_("Choose a resource file (e.g. .dlg) to add"), + '', '', + _('All Files') + +'|*.*', + wx.OPEN) + if dlg.ShowModal() == wx.ID_OK: + try: + self.module.addResourceFile(dlg.GetPath()) + self.maybeApplyPropControlValues() + self.treeFromERF() + self.setFileChanged(True) + dlg.Destroy() + except ValueError: + dlg.Destroy() + dlg2 = wx.MessageDialog(self,_('"' + + dlg.GetPath() + + '" is not a valid nwn resource name'), + _("Resource Name Error"),wx.OK|wx.ICON_ERROR) + dlg2.ShowModal() + dlg2.Destroy() + + def saveFile(self,event): |
From: Sumpfork <sum...@us...> - 2005-08-13 15:09:20
|
Update of /cvsroot/openknights/neveredit/file In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21104/file Modified Files: ERFFile.py Log Message: new ability to add single resource files to a module major change in how and when notebook pages are loaded: all loads are now delayed until shown new Notebook class to perform bookkeeping for this Index: ERFFile.py =================================================================== RCS file: /cvsroot/openknights/neveredit/file/ERFFile.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ERFFile.py 1 Mar 2005 22:41:39 -0000 1.8 --- ERFFile.py 13 Aug 2005 15:09:12 -0000 1.9 *************** *** 46,49 **** --- 46,58 ---- its flat structures, then saves these to the file.""" + class RawContentWrapper: + '''a class to give raw contents a "toFile" method for writing''' + def __init__(self,rawContent): + self.content = rawContent + + def toFile(self,f,offset): + f.seek(offset) + f.write(self.content) + def __init__(self): NeverFile.__init__(self) *************** *** 297,310 **** other = ERFFile() other.fromFile(fname) - - #a class to give raw contents a 'toFile' method for writing - class RawContentWrapper: - def __init__(self,erf,entry): - self.entry = entry - self.erf = erf - - def toFile(self,f,offset): - f.seek(offset) - f.write(self.erf.getRawEntryContents(self.entry)) #don't use the localized strings from the file being added --- 306,309 ---- *************** *** 314,318 **** for (name,type),entry in other.entriesByNameAndType.iteritems(): if (name,type) not in self.entriesByNameAndType.keys(): ! entry.contents = RawContentWrapper(other,entry) entry.id = len(self.entriesByNameAndType) self.entriesByNameAndType[(name,type)] = entry --- 313,317 ---- for (name,type),entry in other.entriesByNameAndType.iteritems(): if (name,type) not in self.entriesByNameAndType.keys(): ! entry.contents = ERFFile.RawContentWrapper(other.getRawEntryContents(entry)) entry.id = len(self.entriesByNameAndType) self.entriesByNameAndType[(name,type)] = entry *************** *** 329,332 **** --- 328,334 ---- entry.contents = None + def addRawResourceByName(self,name,r): + self.addResourceByName(name,ERFFile.RawContentWrapper(r)) + def addResourceByName(self,name,r): key = neveredit.game.ResourceManager.ResourceManager.keyFromName(name) |