wyrmtools-commits Mailing List for Wyrm Tools (Page 152)
A suite of tools for any RPG system
Status: Pre-Alpha
Brought to you by:
wyrmtools
You can subscribe to this list here.
| 2006 |
Jan
(23) |
Feb
(106) |
Mar
(180) |
Apr
(143) |
May
(138) |
Jun
(116) |
Jul
(67) |
Aug
(136) |
Sep
(123) |
Oct
(233) |
Nov
(713) |
Dec
(90) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(789) |
Feb
(134) |
Mar
(173) |
Apr
(120) |
May
(101) |
Jun
(131) |
Jul
(76) |
Aug
(25) |
Sep
(43) |
Oct
(16) |
Nov
(12) |
Dec
(40) |
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(68) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
| 2017 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Wyrm T. <wyr...@us...> - 2006-02-04 04:27:40
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core.jdbc.hsql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28518 Modified Files: build.properties Log Message: Updated build properties. Index: build.properties =================================================================== RCS file: /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core.jdbc.hsql/build.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** build.properties 26 Jul 2005 04:17:08 -0000 1.1 --- build.properties 4 Feb 2006 04:27:27 -0000 1.2 *************** *** 1,3 **** bin.includes = META-INF/,\ fragment-jdbc-hsql.properties,\ ! lib/ --- 1,4 ---- bin.includes = META-INF/,\ fragment-jdbc-hsql.properties,\ ! lib/,\ ! about.html |
|
From: Wyrm T. <wyr...@us...> - 2006-02-04 04:26:51
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core.jdbc.hsql In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28241 Added Files: about.html Log Message: Initial checkin. --- NEW FILE: about.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> <html> <head> <title>About</title> <meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> </head> <body lang="EN-US"> <h2>About This Content</h2> <p>1 March, 2005</p> <p>For more information, contact <a href="mailto:wyrmtools@yahoo.com">wyrmtools@yahoo.com</a>.</p> <p>This offering is based on technology from the Eclipse project (<a href="http://www.eclipse.org">http://www.eclipse.org</a>).</p> </body> </html> |
|
From: Wyrm T. <wyr...@us...> - 2006-02-04 04:24:59
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core.jdbc.hsql/META-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27660/META-INF Modified Files: MANIFEST.MF Log Message: Updated bundle classpath. Index: MANIFEST.MF =================================================================== RCS file: /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core.jdbc.hsql/META-INF/MANIFEST.MF,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MANIFEST.MF 26 Jul 2005 04:15:54 -0000 1.1 --- MANIFEST.MF 4 Feb 2006 04:24:46 -0000 1.2 *************** *** 7,8 **** --- 7,9 ---- Fragment-Host: org.wyrmtools.core;bundle-version="[0.0.0,1.0.0)" Bundle-Localization: fragment-jdbc-hsql + Bundle-ClassPath: lib/hsqldb.jar |
|
From: Wyrm T. <wyr...@us...> - 2006-02-04 04:17:41
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25473 Modified Files: build.properties Log Message: Updated build properties. Index: build.properties =================================================================== RCS file: /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/build.properties,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** build.properties 21 Jan 2006 04:10:19 -0000 1.3 --- build.properties 4 Feb 2006 04:17:31 -0000 1.4 *************** *** 1,19 **** ! bin.includes = .classpath,\ ! .externalToolBuilders/,\ ! .project,\ ! .settings/,\ ! about.html,\ ! bin/,\ ! build.properties,\ ! doc/,\ ! icons/,\ ! jdoEnhance.bat,\ lib/,\ - modelTypeIds.txt,\ plugin.properties,\ plugin.xml,\ ! schema/,\ ! src/,\ ! test/,\ ! META-INF/ ! bin.excludes = src/org/wyrmtools/internal/core/script/dicescript/.cvsignore --- 1,10 ---- ! bin.includes = about.html,\ lib/,\ plugin.properties,\ plugin.xml,\ ! META-INF/,\ ! core.jar ! jars.compile.order = core.jar ! source.core.jar = src/,\ ! test/ ! output.core.jar = bin/ |
|
From: Wyrm T. <wyr...@us...> - 2006-02-04 04:17:11
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25342/scripts Modified Files: postBuild.xml Log Message: Refactored output directory into a property. Index: postBuild.xml =================================================================== RCS file: /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/scripts/postBuild.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** postBuild.xml 29 Jan 2006 03:19:13 -0000 1.2 --- postBuild.xml 4 Feb 2006 04:17:04 -0000 1.3 *************** *** 2,11 **** <project name="Wyrm Tools Core Plugin Post-Build Actions" default="enhance"> <description>This buildfile is used to postprocess the org.wyrmtools.core plugin after building.</description> ! <target name="enhance"> ! <!-- NOTE: 'fork' must be true for this to work properly in the Eclipse IDE --> <java classname="org.jpox.enhancer.JPOXEnhancer" fork="true"> <arg value="-d" /> ! <arg value="bin" /> ! <arg value="bin/META-INF/package.jdo" /> <classpath> <pathelement path="${java.class.path}" /> --- 2,27 ---- <project name="Wyrm Tools Core Plugin Post-Build Actions" default="enhance"> <description>This buildfile is used to postprocess the org.wyrmtools.core plugin after building.</description> ! ! <!-- ! Target: properties ! --> ! <target name="properties" if="eclipse.running" description="Properties whose values are fixed when run within Eclipse."> ! <property name="bin" value="bin" /> ! </target> ! ! <!-- ! Target: init ! --> ! <target name="init" depends="properties" description="Common initialization required by all targets."> ! </target> ! ! <!-- ! Target: enhance ! --> ! <target name="enhance" depends="init" description="Enhances persistent classes for use with JDO."> <java classname="org.jpox.enhancer.JPOXEnhancer" fork="true"> <arg value="-d" /> ! <arg value="${bin}" /> ! <arg value="${bin}/META-INF/package.jdo" /> <classpath> <pathelement path="${java.class.path}" /> *************** *** 16,20 **** <pathelement location="../build/lib/jpox.jar" /> <pathelement location="../build/lib/jpox-enhancer.jar" /> ! <pathelement location="bin" /> </classpath> </java> --- 32,36 ---- <pathelement location="../build/lib/jpox.jar" /> <pathelement location="../build/lib/jpox-enhancer.jar" /> ! <pathelement location="${bin}" /> </classpath> </java> |
|
From: Wyrm T. <wyr...@us...> - 2006-02-04 04:16:32
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25106/scripts Added Files: build.xml Log Message: Initial checkin. --- NEW FILE: build.xml --- <?xml version="1.0" encoding="UTF-8"?> <project name="org.wyrmtools.core" default="build.jars"> <property name="basews" value="${ws}" /> <property name="baseos" value="${os}" /> <property name="basearch" value="${arch} "/> <property name="basenl" value="${nl}" /> <!-- Compiler settings. --> <property name="javacFailOnError" value="false" /> <property name="javacDebugInfo" value="on" /> <property name="javacVerbose" value="true" /> <property name="javacSource" value="1.5" /> <property name="javacTarget" value="1.5" /> <property name="compilerArg" value="" /> <path id="path_bootclasspath"> <fileset dir="${java.home}/lib"> <include name="*.jar" /> </fileset> </path> <property name="bootclasspath" refid="path_bootclasspath" /> <!-- Target: properties --> <target name="properties" if="eclipse.running" description="Properties whose values are fixed when run within Eclipse."> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /> </target> <!-- Target: init --> <target name="init" depends="properties" description="Common initialization required by all targets."> <condition property="pluginTemp" value="${buildTempFolder}/plugins"> <isset property="buildTempFolder" /> </condition> <property name="pluginTemp" value="${basedir}" /> <condition property="build.result.folder" value="${pluginTemp}/org.wyrmtools.core"> <isset property="buildTempFolder" /> </condition> <property name="build.result.folder" value="${basedir}" /> <property name="temp.folder" value="${basedir}/temp.folder" /> <property name="plugin.destination" value="${basedir}" /> </target> <!-- Target: build.update.jar --> <target name="build.update.jar" depends="init" description="Build the plug-in: org.wyrmtools.core for an update site."> <delete dir="${temp.folder}" /> <mkdir dir="${temp.folder}" /> <antcall target="build.jars"/> <antcall target="gather.bin.parts"> <param name="destination.temp.folder" value="${temp.folder}/" /> </antcall> <zip destfile="${plugin.destination}/org.wyrmtools.core_0.0.0.jar" basedir="${temp.folder}/org.wyrmtools.core_0.0.0" filesonly="false" whenempty="skip" update="false" /> <delete dir="${temp.folder}" /> </target> <!-- Target: core.jar --> <target name="core.jar" depends="init" unless="core.jar" description="Create jar: org.wyrmtools.core core.jar."> <!-- Prepare output directory --> <delete dir="${temp.folder}/core.jar.bin" /> <mkdir dir="${temp.folder}/core.jar.bin" /> <!-- Run pre-build script --> <ant antfile="scripts/preBuild.xml"> </ant> <!-- Compile the source code --> <javac destdir="${temp.folder}/core.jar.bin" failonerror="${javacFailOnError}" verbose="${javacVerbose}" debug="${javacDebugInfo}" includeAntRuntime="no" bootclasspath="${bootclasspath}" source="${javacSource}" target="${javacTarget}"> <compilerarg line="${compilerArg}" /> <classpath> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.runtime_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.osgi_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.ui_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.help_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.swt_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.swt.win32.win32.x86_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.jface_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.commands_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.ui.workbench_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/compatibility.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.ui.workbench.compatibility_3.1.0/@dot" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.expressions_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.resources_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.resources.compatibility_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.resources.win32_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.runtime.compatibility_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.update.configurator_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.ant.core_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.eclipse.core.variables_3.1.0.jar" /> <pathelement path="${eclipse.home}/plugins/org.junit_3.8.1/junit.jar" /> <pathelement path="lib/jdo.jar" /> </classpath> <src path="src/" /> <src path="test/" /> </javac> <!-- Copy necessary resources to output directory --> <copy todir="${temp.folder}/core.jar.bin" failonerror="true" overwrite="false"> <fileset dir="src/" excludes="**/*.java, **/package.htm*, **/*.jj, null" /> <fileset dir="test/" excludes="**/*.java, **/package.htm*, **/*.jj, null" /> </copy> <!-- Run post-build script --> <ant antfile="scripts/postBuild.xml"> <property name="bin" value="${temp.folder}/core.jar.bin" /> </ant> <mkdir dir="${build.result.folder}"/> <jar destfile="${build.result.folder}/core.jar" basedir="${temp.folder}/core.jar.bin"/> <delete dir="${temp.folder}/core.jar.bin"/> </target> <!-- Target: coresrc.zip --> <target name="coresrc.zip" depends="init" unless="coresrc.zip"> <mkdir dir="${build.result.folder}" /> <zip destfile="${build.result.folder}/coresrc.zip" filesonly="false" whenempty="skip" update="false"> <fileset dir="src/" includes="**/*.java" /> <fileset dir="test/" includes="**/*.java" /> </zip> </target> <!-- Target: build.jars --> <target name="build.jars" depends="init" description="Build all the jars for the plug-in: org.wyrmtools.core."> <available property="core.jar" file="${build.result.folder}/core.jar" /> <antcall target="core.jar" /> </target> <!-- Target: build.sources --> <target name="build.sources" depends="init"> <available property="coresrc.zip" file="${build.result.folder}/coresrc.zip" /> <antcall target="coresrc.zip" /> </target> <!-- Target: gather.bin.parts --> <target name="gather.bin.parts" depends="init" if="destination.temp.folder"> <mkdir dir="${destination.temp.folder}/org.wyrmtools.core_0.0.0" /> <copy todir="${destination.temp.folder}/org.wyrmtools.core_0.0.0" failonerror="true" overwrite="false"> <fileset dir="${build.result.folder}" includes="core.jar" /> </copy> <copy todir="${destination.temp.folder}/org.wyrmtools.core_0.0.0" failonerror="true" overwrite="false"> <fileset dir="${basedir}" includes="about.html,doc/,icons/,lib/,plugin.properties,plugin.xml,META-INF/,core.jar" /> </copy> </target> <!-- Target: build.zips --> <target name="build.zips" depends="init"> </target> <!-- Target: gather.sources --> <target name="gather.sources" depends="init" if="destination.temp.folder"> <mkdir dir="${destination.temp.folder}/org.wyrmtools.core_0.0.0" /> <copy file="${build.result.folder}/coresrc.zip" todir="${destination.temp.folder}/org.wyrmtools.core_0.0.0" failonerror="false" overwrite="false" /> </target> <!-- Target: gather.logs --> <target name="gather.logs" depends="init" if="destination.temp.folder"> <mkdir dir="${destination.temp.folder}/org.wyrmtools.core_0.0.0"/> <copy file="${temp.folder}/core.jar.bin.log" todir="${destination.temp.folder}/org.wyrmtools.core_0.0.0" failonerror="false" overwrite="false"/> </target> <!-- Target: clean --> <target name="clean" depends="init" description="Clean the plug-in: org.wyrmtools.core of all the zips, jars and logs created."> <delete file="${build.result.folder}/core.jar" /> <delete file="${build.result.folder}/coresrc.zip" /> <delete file="${plugin.destination}/org.wyrmtools.core_0.0.0.jar" /> <delete file="${plugin.destination}/org.wyrmtools.core_0.0.0.zip" /> <delete dir="${temp.folder}" /> </target> <!-- Target: refresh --> <target name="refresh" depends="init" if="eclipse.running" description="Refresh this folder."> <eclipse.convertPath fileSystemPath="${basedir}" property="resourcePath" /> <eclipse.refreshLocal resource="${resourcePath}" depth="infinite" /> </target> <!-- Target: zip.plugin --> <target name="zip.plugin" depends="init" description="Create a zip containing all the elements for the plug-in: org.wyrmtools.core."> <delete dir="${temp.folder}" /> <mkdir dir="${temp.folder}" /> <antcall target="build.jars" /> <!--<antcall target="build.sources" />--> <antcall target="gather.bin.parts"> <param name="destination.temp.folder" value="${temp.folder}/" /> </antcall> <!--<antcall target="gather.sources"> <param name="destination.temp.folder" value="${temp.folder}/" /> </antcall>--> <delete> <fileset dir="${temp.folder}" includes="**/*.bin.log" /> </delete> <zip destfile="${plugin.destination}/org.wyrmtools.core_0.0.0.zip" basedir="${temp.folder}" filesonly="true" whenempty="skip" update="false" /> <delete dir="${temp.folder}" /> </target> </project> |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 03:19:24
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16035/scripts Modified Files: postBuild.xml Log Message: Moved build tools location. Index: postBuild.xml =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/scripts/postBuild.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** postBuild.xml 24 Aug 2005 04:04:21 -0000 1.1 --- postBuild.xml 29 Jan 2006 03:19:16 -0000 1.2 *************** *** 12,20 **** <pathelement path="${java.class.path}" /> <pathelement location="${eclipse.home}/plugins/org.eclipse.core.runtime_3.1.0.jar" /> ! <pathelement location="../.tools/jdo/jdo.jar" /> ! <pathelement location="../.tools/jdo/bcel.jar" /> ! <pathelement location="../.tools/jdo/log4j.jar" /> ! <pathelement location="../.tools/jdo/jpox.jar" /> ! <pathelement location="../.tools/jdo/jpox-enhancer.jar" /> <pathelement location="../org.wyrmtools.core/bin" /> <pathelement location="bin" /> --- 12,20 ---- <pathelement path="${java.class.path}" /> <pathelement location="${eclipse.home}/plugins/org.eclipse.core.runtime_3.1.0.jar" /> ! <pathelement location="../build/lib/jdo.jar" /> ! <pathelement location="../build/lib/bcel.jar" /> ! <pathelement location="../build/lib/log4j.jar" /> ! <pathelement location="../build/lib/jpox.jar" /> ! <pathelement location="../build/lib/jpox-enhancer.jar" /> <pathelement location="../org.wyrmtools.core/bin" /> <pathelement location="bin" /> |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 03:19:21
|
Update of /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16000/scripts Modified Files: preBuild.xml postBuild.xml Log Message: Moved build tools location. Index: postBuild.xml =================================================================== RCS file: /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/scripts/postBuild.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** postBuild.xml 5 Sep 2005 04:42:34 -0000 1.1 --- postBuild.xml 29 Jan 2006 03:19:13 -0000 1.2 *************** *** 11,19 **** <pathelement path="${java.class.path}" /> <pathelement location="${eclipse.home}/plugins/org.eclipse.core.runtime_3.1.0.jar" /> ! <pathelement location="../.tools/jdo/jdo.jar" /> ! <pathelement location="../.tools/jdo/bcel.jar" /> ! <pathelement location="../.tools/jdo/log4j.jar" /> ! <pathelement location="../.tools/jdo/jpox.jar" /> ! <pathelement location="../.tools/jdo/jpox-enhancer.jar" /> <pathelement location="bin" /> </classpath> --- 11,19 ---- <pathelement path="${java.class.path}" /> <pathelement location="${eclipse.home}/plugins/org.eclipse.core.runtime_3.1.0.jar" /> ! <pathelement location="../build/lib/jdo.jar" /> ! <pathelement location="../build/lib/bcel.jar" /> ! <pathelement location="../build/lib/log4j.jar" /> ! <pathelement location="../build/lib/jpox.jar" /> ! <pathelement location="../build/lib/jpox-enhancer.jar" /> <pathelement location="bin" /> </classpath> Index: preBuild.xml =================================================================== RCS file: /cvsroot/wyrmtools/projects/platform/org.wyrmtools.core/scripts/preBuild.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** preBuild.xml 24 Nov 2005 04:16:08 -0000 1.2 --- preBuild.xml 29 Jan 2006 03:19:13 -0000 1.3 *************** *** 4,8 **** <target name="compile-compiler"> <javacc ! javacchome="../.tools/javacc" target="src/org/wyrmtools/internal/core/script/dicescript/DiceScriptParser.jj" /> </target> --- 4,8 ---- <target name="compile-compiler"> <javacc ! javacchome="../build/lib" target="src/org/wyrmtools/internal/core/script/dicescript/DiceScriptParser.jj" /> </target> |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 03:14:54
|
Update of /cvsroot/wyrmtools/projects/build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14800 Added Files: .project Log Message: Initial checkin. --- NEW FILE: .project --- <?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>build</name> <comment></comment> <projects> </projects> <buildSpec> </buildSpec> <natures> </natures> </projectDescription> |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 03:14:29
|
Update of /cvsroot/wyrmtools/projects/build/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14238/lib Added Files: log4j.jar jpox-enhancer.jar bcel.jar jpox.jar javacc.jar jdo.jar Log Message: Initial checkin. --- NEW FILE: log4j.jar --- (This appears to be a binary file; contents omitted.) --- NEW FILE: jpox-enhancer.jar --- (This appears to be a binary file; contents omitted.) --- NEW FILE: jdo.jar --- (This appears to be a binary file; contents omitted.) --- NEW FILE: bcel.jar --- (This appears to be a binary file; contents omitted.) --- NEW FILE: javacc.jar --- (This appears to be a binary file; contents omitted.) --- NEW FILE: jpox.jar --- (This appears to be a binary file; contents omitted.) |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 03:12:11
|
Update of /cvsroot/wyrmtools/projects/build/lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14062/lib Log Message: Directory /cvsroot/wyrmtools/projects/build/lib added to the repository |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 03:11:26
|
Update of /cvsroot/wyrmtools/projects/build In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13942/build Log Message: Directory /cvsroot/wyrmtools/projects/build added to the repository |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 02:40:51
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/test/org/wyrmtools/internal/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5739/test/org/wyrmtools/internal/systems/d20/core/model Modified Files: ModelTestUtils.java CharacterTest.java Log Message: Added support for feats. Index: ModelTestUtils.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/test/org/wyrmtools/internal/systems/d20/core/model/ModelTestUtils.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ModelTestUtils.java 13 Jan 2006 03:01:48 -0000 1.3 --- ModelTestUtils.java 29 Jan 2006 02:40:40 -0000 1.4 *************** *** 1,5 **** /* * ModelTestUtils.java ! * Copyright (C) 2004-2005 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * --- 1,5 ---- /* * ModelTestUtils.java ! * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * *************** *** 38,41 **** --- 38,44 ---- import org.wyrmtools.systems.d20.core.model.CharacterCreateContext; import org.wyrmtools.systems.d20.core.model.ClassCreateContext; + import org.wyrmtools.systems.d20.core.model.FeatCreateContext; + import org.wyrmtools.systems.d20.core.model.FeatTypeCreateContext; + import org.wyrmtools.systems.d20.core.model.IFeatType; import org.wyrmtools.systems.d20.core.model.RaceCreateContext; import org.wyrmtools.systems.d20.core.model.SkillCreateContext; *************** *** 147,150 **** --- 150,228 ---- /** + * Creates a feat in the specified repository. + * + * @param name + * The name of the feat. + * @param rep + * The parent repository. + * + * @return The UUID of the new feat. + * + * @throws junit.framework.AssertionFailedError + * If a fundamental assumption fails. + * @throws org.wyrmtools.core.model.ModelException + * If the request fails. + */ + public static Uuid createFeat( final String name, final IRepository rep ) + throws ModelException + { + // Ensure arguments are valid + Assert.assertNotNull( name ); + Assert.assertNotNull( rep ); + + // Create supporting objects + final IModel model = CorePlugin.getDefault().getModel(); + final ISource src = (ISource)model.getElement( + createSource( "TestSource", rep ) ); //$NON-NLS-1$ + Assert.assertNotNull( src ); + final IFeatType featType = (IFeatType)model.getElement( + createFeatType( "TestFeatType", rep ) ); //$NON-NLS-1$ + Assert.assertNotNull( featType ); + + // Create the feat + final FeatCreateContext context = new FeatCreateContext(); + context.setName( name ); + context.setFeatType( featType ); + src.addChild( context ); + return context.getId(); + } + + /** + * Creates a feat type in the specified repository. + * + * @param name + * The name of the feat type. + * @param rep + * The parent repository. + * + * @return The UUID of the new feat type. + * + * @throws junit.framework.AssertionFailedError + * If a fundamental assumption fails. + * @throws org.wyrmtools.core.model.ModelException + * If the request fails. + */ + public static Uuid createFeatType( final String name, + final IRepository rep ) + throws ModelException + { + // Ensure arguments are valid + Assert.assertNotNull( name ); + Assert.assertNotNull( rep ); + + // Create supporting objects + final IModel model = CorePlugin.getDefault().getModel(); + final ISource src = (ISource)model.getElement( + createSource( "TestSource", rep ) ); //$NON-NLS-1$ + Assert.assertNotNull( src ); + + // Create the feat type + final FeatTypeCreateContext context = new FeatTypeCreateContext(); + context.setName( name ); + src.addChild( context ); + return context.getId(); + } + + /** * Creates a race in the specified repository. * Index: CharacterTest.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/test/org/wyrmtools/internal/systems/d20/core/model/CharacterTest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CharacterTest.java 20 Jan 2006 02:44:44 -0000 1.2 --- CharacterTest.java 29 Jan 2006 02:40:40 -0000 1.3 *************** *** 38,41 **** --- 38,42 ---- import org.wyrmtools.systems.d20.core.model.ICharacterSkill; import org.wyrmtools.systems.d20.core.model.IClass; + import org.wyrmtools.systems.d20.core.model.IFeat; import org.wyrmtools.systems.d20.core.model.ISkill; *************** *** 66,71 **** /** ! * Tests the <code>addSkill</code>, <code>getSkills</code>, and ! * <code>removeSkill</code> methods. * * @throws java.lang.Exception --- 67,113 ---- /** ! * Tests the <code>addFeatRanks</code>, <code>getFeats</code>, and ! * <code>removeFeatRanks</code> methods. ! * ! * @throws java.lang.Exception ! * If an error occurs. ! */ ! public void testFeat() ! throws Exception ! { ! // Create a new character for testing ! final IModel model = CorePlugin.getDefault().getModel(); ! final IRepository rep = (IRepository)model.getElement( m_repId ); ! final Uuid characterId = ModelTestUtils.createCharacter( ! "TestCharacter", rep ); //$NON-NLS-1$ ! final ICharacter character = (ICharacter)model.getElement( ! characterId ); ! assertNotNull( character ); ! ! // Create a new class for the character (NOTE: we need to add a feat ! // point contributing script for the remainder of the test to work ! // properly) ! final Uuid klassId = ModelTestUtils.createClass( "Class", rep ); //$NON-NLS-1$ ! final IClass klass = (IClass)model.getElement( klassId ); ! assertNotNull( klass ); ! klass.addScript( new Script( ! "wyrmscript:<d20:featPoints level=\"1\" points=\"dicescript:1\" />" ) ); //$NON-NLS-1$ ! ! // Create a new feat ! final Uuid featId = ModelTestUtils.createFeat( "Feat", rep ); //$NON-NLS-1$ ! final IFeat feat = (IFeat)model.getElement( featId ); ! assertNotNull( feat ); ! ! // Add one level to the character ! character.addLevel( klass ); ! ! // Add 1 feat point to the test feat ! character.addFeatRanks( feat, 1 ); ! assertEquals( featId, character.getFeats()[ 0 ].getFeatId() ); ! } ! ! /** ! * Tests the <code>addSkillRanks</code>, <code>getSkills</code>, and ! * <code>removeSkillRanks</code> methods. * * @throws java.lang.Exception |
|
From: Wyrm T. <wyr...@us...> - 2006-01-29 02:39:42
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/internal/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5389/src/org/wyrmtools/internal/systems/d20/core/model Modified Files: Character.java Log Message: Added support for feats. Index: Character.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/internal/systems/d20/core/model/Character.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Character.java 24 Jan 2006 02:58:22 -0000 1.6 --- Character.java 29 Jan 2006 02:39:34 -0000 1.7 *************** *** 62,68 **** --- 62,70 ---- import org.wyrmtools.systems.d20.core.model.ICharacter; import org.wyrmtools.systems.d20.core.model.ICharacterCreateContext; + import org.wyrmtools.systems.d20.core.model.ICharacterFeat; import org.wyrmtools.systems.d20.core.model.ICharacterLevel; import org.wyrmtools.systems.d20.core.model.ICharacterSkill; import org.wyrmtools.systems.d20.core.model.IClass; + import org.wyrmtools.systems.d20.core.model.IFeat; import org.wyrmtools.systems.d20.core.model.IGender; import org.wyrmtools.systems.d20.core.model.IRace; *************** *** 73,76 **** --- 75,79 ---- import org.wyrmtools.systems.d20.core.platform.GenderType; import org.wyrmtools.systems.d20.core.platform.IAlignmentRule; + import org.wyrmtools.systems.d20.core.platform.IFeatPointProvider; import org.wyrmtools.systems.d20.core.platform.IGenderRule; import org.wyrmtools.systems.d20.core.platform.ISkillPointProvider; *************** *** 99,102 **** --- 102,106 ---- static final String PROPERTY_AGE = PREFIX + "age"; //$NON-NLS-1$ static final String PROPERTY_ALIGNMENT = PREFIX + "alignment"; //$NON-NLS-1$ + static final String PROPERTY_FEATS = PREFIX + "feats"; //$NON-NLS-1$ static final String PROPERTY_GENDER = PREFIX + "gender"; //$NON-NLS-1$ static final String PROPERTY_HEIGHT = PREFIX + "height"; //$NON-NLS-1$ *************** *** 229,232 **** --- 233,273 ---- /* + * @see org.wyrmtools.systems.d20.core.model.ICharacter#addFeatRanks( + * org.wyrmtools.systems.d20.core.model.IFeat, int) + */ + public void addFeatRanks( final IFeat feat, final int featPoints ) + throws ModelException + { + // Add the specified feat + setProperty( + new AbstractPropertyMutator( PROPERTY_FEATS ) + { + @Override + public void assertValue() + throws ModelException + { + // Ensure arguments are valid + if( feat == null ) + throw new NullPointerException(); + if( featPoints <= 0 ) + throw new IllegalArgumentException(); + + // TODO: Ensure enough feat points remain + + // TODO: check stuff here like if feat stacks, not enough + // feat points, etc. ???????? + } + + public void setValue( final PersistenceManager pm ) + throws ModelException + { + // Add ranks to the specified feat + m_levelList.get( m_levelList.size() - 1 ) + .addFeatRanks( feat, featPoints ); + } + } ); + } + + /* * @see org.wyrmtools.systems.d20.core.model.ICharacter#addLevel( * org.wyrmtools.systems.d20.core.model.IClass) *************** *** 289,292 **** --- 330,347 ---- } level.setTotalSkillPoints( totalSkillPoints ); + + // XXX + int totalFeatPoints = 0; + for( final Iterator<IAdaptable> iter = + m_dataBroker.iterator( D20Topics.FEAT_POINTS ); + iter.hasNext(); ) + { + final IAdaptable adapter = iter.next(); + final IFeatPointProvider provider = + (IFeatPointProvider)adapter.getAdapter( + IFeatPointProvider.class ); + totalFeatPoints += provider.getFeatPoints( level ); + } + level.setTotalFeatPoints( totalFeatPoints ); } } ); *************** *** 488,491 **** --- 543,573 ---- /* + * @see org.wyrmtools.systems.d20.core.model.ICharacter#getFeats() + */ + public synchronized ICharacterFeat[] getFeats() + { + // Aggregate all the character's feats from each level + final Map<Uuid, CharacterFeat> acquiredFeatMap = + new HashMap<Uuid, CharacterFeat>(); + for( final ICharacterLevel level : m_levelList ) + { + for( final ICharacterFeat levelFeat : level.getFeats() ) + { + final Uuid acquiredFeatId = levelFeat.getFeatId(); + CharacterFeat acquiredFeat = + acquiredFeatMap.get( acquiredFeatId ); + if( acquiredFeat == null ) + { + acquiredFeat = new CharacterFeat( acquiredFeatId ); + acquiredFeatMap.put( acquiredFeatId, acquiredFeat ); + } + acquiredFeat.addLevelFeat( levelFeat ); + } + } + return acquiredFeatMap.values().toArray( + new ICharacterFeat[ acquiredFeatMap.size() ] ); + } + + /* * @see org.wyrmtools.systems.d20.core.model.ICharacter#getGender() */ *************** *** 864,867 **** --- 946,960 ---- /* + * @see org.wyrmtools.systems.d20.core.model.ICharacter#removeFeatRanks( + * org.wyrmtools.systems.d20.core.model.IFeat, int) + */ + public /*synchronized*/ void removeFeatRanks( final IFeat feat, + final int featPoints ) + throws ModelException + { + // TODO + } + + /* * @see org.wyrmtools.systems.d20.core.model.ICharacter#removeSkillRanks( * org.wyrmtools.systems.d20.core.model.ISkill, int) |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:55:15
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23765/src/org/wyrmtools/internal/systems/d20/ui/editors/character Added Files: SelectedFeatsSection.java AvailableFeatsSection.java Log Message: Initial checkin. --- NEW FILE: SelectedFeatsSection.java --- /* * SelectedFeatsSection.java * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * * 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. * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA * * Created on Jan 21, 2006 at 11:46:42 PM. * * Cur Version: $Revision: 1.1 $ * Last Editor: $Author: wyrmtools $ * Last Edited: $Date: 2006/01/28 04:55:06 $ */ package org.wyrmtools.internal.systems.d20.ui.editors.character; import java.util.ArrayList; import java.util.List; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Tree; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.Section; import org.wyrmtools.core.model.ModelException; import org.wyrmtools.systems.d20.core.model.ICharacter; import org.wyrmtools.systems.d20.core.model.ICharacterFeat; import org.wyrmtools.systems.d20.core.model.IFeat; import org.wyrmtools.systems.d20.ui.D20UiPlugin; /** * The section that displays the selected character feats. * * @author Rusty Shackleford <wyrmtools@yahoo.com> * @version $Revision: 1.1 $ */ final class SelectedFeatsSection extends CharacterEditorSection { // ====================================================================== // Fields // ====================================================================== /* Unique identifiers for each field in this section. */ private static final String FIELD_REMAINING_FEAT_POINTS_ID = "remainingFeatPoints"; //$NON-NLS-1$ /* Column indexes for the selected feats tree. */ private static final int SELECTED_FEATS_COLUMN_INDEX_NAME = 0; /** The selected feats tree viewer. */ private final TreeViewer m_selectedFeatsTreeViewer; /* Designer variables. */ private final Label m_remainingFeatPointsTitleLabel; private final Label m_remainingFeatPointsLabel; // ====================================================================== // Constructors // ====================================================================== /** * Initializes a new instance of the <code>SelectedFeatsSection</code> * class. * * @param page * The page hosting the part. * @param section * The section to use. * @param controls * The noteworthy controls in the section. * * @throws java.lang.AssertionError * If <code>page</code> or <code>controls</code> is * <code>null</code>. */ SelectedFeatsSection( final CharacterEditorPage page, final Section section, final Controls controls ) { // Invoke superclass constructor super( page, section ); // Ensure arguments are valid assert controls != null; // Initialize fields m_remainingFeatPointsTitleLabel = controls.remainingFeatPointsTitleLabel; m_remainingFeatPointsLabel = controls.remainingFeatPointsLabel; m_selectedFeatsTreeViewer = new TreeViewer( controls.selectedFeatsTree ); } // ====================================================================== // Methods // ====================================================================== /** * Validates the remaining feat points field. */ private void checkRemainingFeatPoints() { // Validate the remaining feat points field checkField( new AbstractFieldValidator( FIELD_REMAINING_FEAT_POINTS_ID ) { @Override public CharacterAlert checkField() { // Determine if at least one feat point remains to spend if( CharacterEditorUtils.getRemainingFeatPoints( getPage().getCharacter() ) > 0 ) { return createAlert( CharacterAlert.Severity.WARNING, Messages.getString( "SelectedFeatsSection.err.remainingFeatPoints.nonzero" ) ); //$NON-NLS-1$ } // Remaining feat points is valid return null; } } ); } /* * @see org.wyrmtools.internal.systems.d20.ui.editors.character * .CharacterEditorSection#createContent( * org.eclipse.ui.forms.IManagedForm) */ @Override protected void createContent( final IManagedForm managedForm ) { // Ensure arguments are valid assert managedForm != null; // Initialize tree viewer m_selectedFeatsTreeViewer.setContentProvider( new SelectedFeatsContentProvider() ); m_selectedFeatsTreeViewer.setLabelProvider( new SelectedFeatsLabelProvider() ); m_selectedFeatsTreeViewer.setInput( getPage().getCharacterEditor() ); // Register alertable fields final CharacterEditorPage page = getPage(); page.registerAlertableField( FIELD_REMAINING_FEAT_POINTS_ID, m_remainingFeatPointsTitleLabel, m_remainingFeatPointsLabel ); } /* * @see org.wyrmtools.internal.systems.d20.ui.editors.character * .CharacterEditorSection#refreshContent() */ @Override protected void refreshContent() { // Update section content final ICharacter character = getPage().getCharacter(); m_remainingFeatPointsLabel.setText( String.valueOf( CharacterEditorUtils.getRemainingFeatPoints( character ) ) ); m_selectedFeatsTreeViewer.refresh(); // Verify section content checkRemainingFeatPoints(); } // ====================================================================== // Nested Classes // ====================================================================== /** * Helper class to encapsulate noteworthy section controls. * * <p> * This class is temporary until SWT Designer supports SectionParts. * </p> */ static final class Controls { // ================================================================== // Fields // ================================================================== /** The remaining feat points label. */ final Label remainingFeatPointsLabel; /** The remaining feat points title label. */ final Label remainingFeatPointsTitleLabel; /** The selected feats tree. */ final Tree selectedFeatsTree; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the <code>Controls</code> class. * * @param remainingFeatPointsTitleLabel * The remaining feat points title label. * @param remainingFeatPointsLabel * The remaining feat points label. * @param selectedFeatsTree * The selected feats tree. * * @throws java.lang.AssertionError * If <code>remainingFeatPointsTitleLabel</code>, * <code>remainingFeatPointsLabel</code>, or * <code>selectedFeatsTree</code> is <code>null</code>. */ Controls( final Label remainingFeatPointsTitleLabel, final Label remainingFeatPointsLabel, final Tree selectedFeatsTree ) { // Ensure arguments are valid assert remainingFeatPointsTitleLabel != null; assert remainingFeatPointsLabel != null; assert selectedFeatsTree != null; // Initialize fields this.remainingFeatPointsTitleLabel = remainingFeatPointsTitleLabel; this.remainingFeatPointsLabel = remainingFeatPointsLabel; this.selectedFeatsTree = selectedFeatsTree; } } /** * An element in the selected feats content model. */ private static final class SelectedFeatElement { // ================================================================== // Fields // ================================================================== /** The acquired feat. */ public final ICharacterFeat acquiredFeat; /** The actual feat. */ public final IFeat feat; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the <code>SelectedFeatElement</code> * class. * * @param acquiredFeat * The acquired feat descriptor. * @param feat * The actual feat. * * @throws java.lang.AssertionError * If <code>acquiredFeat</code> or <code>feat</code> is * <code>null</code>. */ SelectedFeatElement( final ICharacterFeat acquiredFeat, final IFeat feat ) { // Ensure arguments are valid assert acquiredFeat != null; assert feat != null; // Initialize fields this.acquiredFeat = acquiredFeat; this.feat = feat; } // ================================================================== // Methods // ================================================================== /* * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals( final Object obj ) { // Delegate to actual feat return feat.equals( obj ); } /* * @see java.lang.Object#hashCode() */ @Override public int hashCode() { // Delegate to actual feat return feat.hashCode(); } /* * @see java.lang.Object#toString() */ @Override public String toString() { // Delegate to actual feat return feat.toString(); } } /** * The content provider for the selected feats tree. */ private static final class SelectedFeatsContentProvider implements ITreeContentProvider { // ================================================================== // Fields // ================================================================== /** The content model. */ private CharacterEditor m_editor; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the * <code>SelectedFeatsContentProvider</code> class. */ SelectedFeatsContentProvider() { } // ================================================================== // Methods // ================================================================== /* * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { // Do nothing } /* * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren( * java.lang.Object) */ public Object[] getChildren( final Object parentElement ) { // No child support return new Object[ 0 ]; } /* * @see org.eclipse.jface.viewers.IStructuredContentProvider * #getElements(java.lang.Object) */ public Object[] getElements( final Object inputElement ) { // Ignore if no content model if( m_editor == null ) return new Object[ 0 ]; // Return the character's selected feats final ICharacterFeat[] acquiredFeats = m_editor.getCharacter().getFeats(); final List<SelectedFeatElement> elementList = new ArrayList<SelectedFeatElement>( acquiredFeats.length ); for( final ICharacterFeat acquiredFeat : acquiredFeats ) { try { final IFeat feat = (IFeat)m_editor.getCharacter() .getCampaign() .getResource( acquiredFeat.getFeatId() ); elementList.add( new SelectedFeatElement( acquiredFeat, feat ) ); } catch( ModelException e ) { D20UiPlugin.logError( e ); } } return elementList.toArray(); } /* * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent( * java.lang.Object) */ public Object getParent( final Object element ) { // No child support return null; } /* * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren( * java.lang.Object) */ public boolean hasChildren( final Object element ) { // No child support return false; } /* * @see org.eclipse.jface.viewers.IContentProvider#inputChanged( * org.eclipse.jface.viewers.Viewer, java.lang.Object, * java.lang.Object) */ public void inputChanged( final Viewer viewer, final Object oldInput, final Object newInput ) { // Store the input m_editor = (CharacterEditor)newInput; } } /** * The label provider for the selected feats tree. */ private static final class SelectedFeatsLabelProvider extends LabelProvider implements ITableLabelProvider { // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the * <code>SelectedFeatsLabelProvider</code> class. */ SelectedFeatsLabelProvider() { } // ================================================================== // Methods // ================================================================== /* * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage( * java.lang.Object, int) */ public Image getColumnImage( final Object element, final int columnIndex ) { // We do not support images return null; } /* * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText( * java.lang.Object, int) */ public String getColumnText( final Object element, final int columnIndex ) { // Ignore null input if( element == null ) return null; // Return the text associated with the column final SelectedFeatElement featElement = (SelectedFeatElement)element; switch( columnIndex ) { case SELECTED_FEATS_COLUMN_INDEX_NAME: return featElement.feat.getName(); default: return null; } } } } --- NEW FILE: AvailableFeatsSection.java --- /* * AvailableFeatsSection.java * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * * 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. * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA * * Created on Jan 21, 2006 at 11:46:33 PM. * * Cur Version: $Revision: 1.1 $ * Last Editor: $Author: wyrmtools $ * Last Edited: $Date: 2006/01/28 04:55:06 $ */ package org.wyrmtools.internal.systems.d20.ui.editors.character; import java.util.Arrays; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Tree; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.Section; import org.wyrmtools.core.model.ModelException; import org.wyrmtools.internal.ui.util.UiUtils; import org.wyrmtools.systems.d20.core.model.ICharacter; import org.wyrmtools.systems.d20.core.model.IFeat; import org.wyrmtools.systems.d20.ui.D20UiPlugin; /** * The section that displays the available character feats. * * @author Rusty Shackleford <wyrmtools@yahoo.com> * @version $Revision: 1.1 $ */ final class AvailableFeatsSection extends CharacterEditorSection { // ====================================================================== // Fields // ====================================================================== /* Unique identifiers for each field in this section. */ private static final String FIELD_FEAT_ID = "feat"; //$NON-NLS-1$ /* Column indexes for the available feats tree. */ private static final int AVAILABLE_FEATS_COLUMN_INDEX_NAME = 0; /** The available feats tree viewer. */ private final TreeViewer m_availableFeatsTreeViewer; // ====================================================================== // Constructors // ====================================================================== /** * Initializes a new instance of the <code>AvailableFeatsSection</code> * class. * * @param page * The page hosting the part. * @param section * The section to use. * @param controls * The noteworthy controls in the section. * * @throws java.lang.AssertionError * If <code>page</code> or <code>controls</code> is * <code>null</code>. */ AvailableFeatsSection( final CharacterEditorPage page, final Section section, final Controls controls ) { // Invoke superclass constructor super( page, section ); // Ensure arguments are valid assert controls != null; // Initialize fields m_availableFeatsTreeViewer = new TreeViewer( controls.availableFeatsTree ); } // ====================================================================== // Methods // ====================================================================== // TODO: it doesn't seem appropriate to use the checkField() paradigm // in this case because this is not really an alertable field; we want // to display a dialog to the user /** * Validates the specified feat purchase. * * @param feat * The selected feat. * @param featPoints * The number of feat points to allot to the feat. * * @return <code>true</code> if the specified feat purchase is valid; * otherwise <code>false</code>. * * @throws java.lang.AssertionError * If <code>feat</code> is <code>null</code> or * <code>featPoints</code> is nonpositive. */ private boolean checkFeat( final IFeat feat, final int featPoints ) { // Ensure arguments are valid assert feat != null; assert featPoints > 0; // Ensure the character has feat points to spend if( CharacterEditorUtils.getRemainingFeatPoints( getPage().getCharacter() ) == 0 ) { return false; } // TODO: check for max ranks // Feat purchase is valid return true; } /** * Commits the feat field. The specified number of feat points are * allotted to the feat. * * @param feat * The selected feat. * @param featPoints * The number of feat points to allot to the feat. * * @throws java.lang.AssertionError * If <code>feat</code> is <code>null</code> or * <code>featPoints</code> is nonpositive. */ private void commitFeat( final IFeat feat, final int featPoints ) { // Ensure arguments are valid assert feat != null; assert featPoints > 0; // Commit the feat field commitField( new AbstractFieldMutator( FIELD_FEAT_ID ) { public void commitField( final ICharacter character ) throws ModelException { character.addFeatRanks( feat, featPoints ); } } ); } /* * @see org.wyrmtools.internal.systems.d20.ui.editors.character * .CharacterEditorSection#createContent( * org.eclipse.ui.forms.IManagedForm) */ @Override protected void createContent( final IManagedForm managedForm ) { // Ensure arguments are valid assert managedForm != null; // Initialize tree viewer m_availableFeatsTreeViewer.setContentProvider( new AvailableFeatsContentProvider() ); m_availableFeatsTreeViewer.setLabelProvider( new AvailableFeatsLabelProvider() ); m_availableFeatsTreeViewer.setInput( getPage().getCharacterEditor() ); m_availableFeatsTreeViewer.addDoubleClickListener( new IDoubleClickListener() { public void doubleClick( final DoubleClickEvent e ) { handleAvailableFeatsTreeDoubleClick( e ); } } ); } /** * Handles a double-click event fired by the available feats tree. * * @param e * The descriptor for the event. */ private void handleAvailableFeatsTreeDoubleClick( final DoubleClickEvent e ) { // Ignore empty selections if( e.getSelection().isEmpty() ) return; // Commit one feat point to the selected feat final AvailableFeatElement featInfo = (AvailableFeatElement)((IStructuredSelection)e.getSelection()) .getFirstElement(); if( checkFeat( featInfo.feat, 1 ) ) { markDirty(); commitFeat( featInfo.feat, 1 ); } } /* * @see org.wyrmtools.internal.systems.d20.ui.editors.character * .CharacterEditorSection#refreshContent() */ @Override protected void refreshContent() { // TODO: need to preserve selection if possible! // Update section content m_availableFeatsTreeViewer.refresh(); } // ====================================================================== // Nested Classes // ====================================================================== /** * An element in the available feats content model. */ private static final class AvailableFeatElement { // ================================================================== // Fields // ================================================================== /** The feat. */ public final IFeat feat; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the <code>AvailableFeatElement</code> * class. * * @param feat * The feat. * * @throws java.lang.AssertionError * If <code>feat</code> is <code>null</code>. */ AvailableFeatElement( final IFeat feat ) { // Ensure arguments are valid assert feat != null; // Initialize fields this.feat = feat; } // ================================================================== // Methods // ================================================================== /* * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals( final Object obj ) { // Delegate to feat return feat.equals( obj ); } /* * @see java.lang.Object#hashCode() */ @Override public int hashCode() { // Delegate to feat return feat.hashCode(); } /* * @see java.lang.Object#toString() */ @Override public String toString() { // Delegate to feat return feat.toString(); } } /** * The content provider for the available feats tree. */ private static final class AvailableFeatsContentProvider implements ITreeContentProvider { // ================================================================== // Fields // ================================================================== /** The content model. */ private CharacterEditor m_editor; /** The cached content model elements. */ private AvailableFeatElement[] m_elements; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the * <code>AvailableFeatsContentProvider</code> class. */ AvailableFeatsContentProvider() { } // ================================================================== // Methods // ================================================================== /* * @see org.eclipse.jface.viewers.IContentProvider#dispose() */ public void dispose() { // Do nothing } /* * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren( * java.lang.Object) */ public Object[] getChildren( final Object parentElement ) { // No child support return new Object[ 0 ]; } /* * @see org.eclipse.jface.viewers.IStructuredContentProvider * #getElements(java.lang.Object) */ public Object[] getElements( final Object inputElement ) { // Ignore if no content model if( m_editor == null ) return new Object[ 0 ]; // Return the available feats return m_elements; } /* * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent( * java.lang.Object) */ public Object getParent( final Object element ) { // No child support return null; } /* * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren( * java.lang.Object) */ public boolean hasChildren( final Object element ) { // No child support return false; } /* * @see org.eclipse.jface.viewers.IContentProvider#inputChanged( * org.eclipse.jface.viewers.Viewer, java.lang.Object, * java.lang.Object) */ public void inputChanged( final Viewer viewer, final Object oldInput, final Object newInput ) { // Store the input m_editor = (CharacterEditor)newInput; // Determine the feats available to the character IFeat[] feats; try { if( m_editor != null ) { feats = (IFeat[])m_editor.getCharacter().getCampaign() .getResources( IFeat.TYPE, new IFeat[ 0 ] ); Arrays.sort( feats, UiUtils.elementNameComparator() ); } else { feats = new IFeat[ 0 ]; } } catch( ModelException e ) { D20UiPlugin.logError( e ); feats = new IFeat[ 0 ]; } // Initialize content model elements m_elements = new AvailableFeatElement[ feats.length ]; for( int i = 0; i < feats.length; ++i ) m_elements[ i ] = new AvailableFeatElement( feats[ i ] ); } } /** * The label provider for the available feats tree. */ private static final class AvailableFeatsLabelProvider extends LabelProvider implements ITableLabelProvider { // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the * <code>AvailableFeatsLabelProvider</code> class. */ AvailableFeatsLabelProvider() { } // ================================================================== // Methods // ================================================================== /* * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage( * java.lang.Object, int) */ public Image getColumnImage( final Object element, final int columnIndex ) { // We do not support images return null; } /* * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText( * java.lang.Object, int) */ public String getColumnText( final Object element, final int columnIndex ) { // Ignore null input if( element == null ) return null; // Return the text associated with the column final AvailableFeatElement featElement = (AvailableFeatElement)element; switch( columnIndex ) { case AVAILABLE_FEATS_COLUMN_INDEX_NAME: return featElement.feat.getName(); default: return null; } } } /** * Helper class to encapsulate noteworthy section controls. * * <p> * This class is temporary until SWT Designer supports SectionParts. * </p> */ static final class Controls { // ================================================================== // Fields // ================================================================== /** The available feats tree. */ final Tree availableFeatsTree; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the <code>Controls</code> class. * * @param availableFeatsTree * The available feats tree. * * @throws java.lang.AssertionError * If <code>availableFeatsTree</code> is <code>null</code>. */ Controls( final Tree availableFeatsTree ) { // Ensure arguments are valid assert availableFeatsTree != null; // Initialize fields this.availableFeatsTree = availableFeatsTree; } } } |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:53:21
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23394/src/org/wyrmtools/internal/systems/d20/ui/editors/character Modified Files: Messages.properties Log Message: Added available and selected feats sections. Index: Messages.properties =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character/Messages.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Messages.properties 20 Jan 2006 02:24:56 -0000 1.5 --- Messages.properties 28 Jan 2006 04:53:14 -0000 1.6 *************** *** 47,50 **** --- 47,54 ---- AvailableClassesSection.availableClassesTree.nameCol.text=Name + # AvailableFeatsSection + AvailableFeatsSection.text=Available Feats + AvailableFeatsSection.availableFeatsTree.nameCol.text=Name + # AvailableRacesSection AvailableRacesSection.text=Available Races *************** *** 117,120 **** --- 121,130 ---- SelectedClassSection.err.class.none=The character has no class. + # SelectedFeatsSection + SelectedFeatsSection.text=Selected Feats + SelectedFeatsSection.remainingFeatPointsTitleLabel.text=Remaining Feats\: + SelectedFeatsSection.selectedFeatsTree.nameCol.text=Name + SelectedFeatsSection.err.remainingFeatPoints.nonzero=The character has feats remaining to be chosen. + # SelectedRaceSection SelectedRaceSection.text=Selected Race |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:52:35
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23144/src/org/wyrmtools/internal/systems/d20/ui/editors/character Modified Files: CharacterEditorUtils.java Log Message: Missed copyright update in previous checkin. Index: CharacterEditorUtils.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character/CharacterEditorUtils.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** CharacterEditorUtils.java 28 Jan 2006 04:50:18 -0000 1.3 --- CharacterEditorUtils.java 28 Jan 2006 04:52:27 -0000 1.4 *************** *** 1,5 **** /* * CharacterEditorUtils.java ! * Copyright (C) 2004-2005 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * --- 1,5 ---- /* * CharacterEditorUtils.java ! * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:51:38
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22886/src/org/wyrmtools/internal/systems/d20/ui/editors/character Modified Files: FeatsPage.java Log Message: Added available and selected feats sections. Index: FeatsPage.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character/FeatsPage.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** FeatsPage.java 9 Dec 2005 04:24:40 -0000 1.1 --- FeatsPage.java 28 Jan 2006 04:51:29 -0000 1.2 *************** *** 1,5 **** /* * FeatsPage.java ! * Copyright (C) 2004-2005 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * --- 1,5 ---- /* * FeatsPage.java ! * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * *************** *** 28,35 **** --- 28,42 ---- package org.wyrmtools.internal.systems.d20.ui.editors.character; + import org.eclipse.swt.SWT; + import org.eclipse.swt.layout.GridData; + import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; + import org.eclipse.swt.widgets.Label; + import org.eclipse.swt.widgets.Tree; + import org.eclipse.swt.widgets.TreeColumn; import org.eclipse.ui.forms.IManagedForm; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; + import org.eclipse.ui.forms.widgets.Section; /** *************** *** 81,91 **** protected void createFormContent( final IManagedForm managedForm ) { - @SuppressWarnings( "unused" ) final FormToolkit toolkit = managedForm.getToolkit(); final ScrolledForm form = managedForm.getForm(); form.setText(Messages.getString("FeatsPage.title")); //$NON-NLS-1$ - @SuppressWarnings( "unused" ) final Composite body = form.getBody(); // } } --- 88,166 ---- protected void createFormContent( final IManagedForm managedForm ) { final FormToolkit toolkit = managedForm.getToolkit(); final ScrolledForm form = managedForm.getForm(); form.setText(Messages.getString("FeatsPage.title")); //$NON-NLS-1$ final Composite body = form.getBody(); + final GridLayout bodyLayout = new GridLayout(); + bodyLayout.verticalSpacing = 20; + bodyLayout.marginWidth = 0; + bodyLayout.marginRight = 10; + bodyLayout.marginLeft = 10; + bodyLayout.marginHeight = 0; + bodyLayout.marginBottom = 10; + bodyLayout.marginTop = 5; + body.setLayout(bodyLayout); + + // Selected feats section + final Section selectedFeatsSection = toolkit.createSection(body, Section.TITLE_BAR); + selectedFeatsSection.clientVerticalSpacing = 5; + selectedFeatsSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + selectedFeatsSection.setText(Messages.getString("SelectedFeatsSection.text")); //$NON-NLS-1$ + final Composite selectedFeatsComposite = toolkit.createComposite(selectedFeatsSection, SWT.NONE); + final GridLayout selectedFeatsCompositeLayout = new GridLayout(); + selectedFeatsCompositeLayout.marginWidth = 1; + selectedFeatsCompositeLayout.marginHeight = 1; + selectedFeatsComposite.setLayout(selectedFeatsCompositeLayout); + toolkit.paintBordersFor(selectedFeatsComposite); + selectedFeatsSection.setClient(selectedFeatsComposite); + final Composite featPointsComposite = toolkit.createComposite(selectedFeatsComposite, SWT.NONE); + featPointsComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + final GridLayout featPointsCompositeLayout = new GridLayout(); + featPointsCompositeLayout.marginWidth = 0; + featPointsCompositeLayout.marginHeight = 0; + featPointsCompositeLayout.numColumns = 2; + featPointsComposite.setLayout(featPointsCompositeLayout); + toolkit.paintBordersFor(featPointsComposite); + final Label remainingFeatPointsTitleLabel = toolkit.createLabel(featPointsComposite, Messages.getString("SelectedFeatsSection.remainingFeatPointsTitleLabel.text"), SWT.NONE); //$NON-NLS-1$ + final Label remainingFeatPointsLabel = toolkit.createLabel(featPointsComposite, null, SWT.NONE); + remainingFeatPointsLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + final Tree selectedFeatsTree = toolkit.createTree(selectedFeatsComposite, SWT.FULL_SELECTION); + selectedFeatsTree.setHeaderVisible(true); + final GridData selectedFeatsTreeLayoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + selectedFeatsTreeLayoutData.verticalIndent = 5; + selectedFeatsTree.setLayoutData(selectedFeatsTreeLayoutData); + final TreeColumn selectedFeatsNameColumn = new TreeColumn(selectedFeatsTree, SWT.NONE); + selectedFeatsNameColumn.setWidth(150); + selectedFeatsNameColumn.setText(Messages.getString("SelectedFeatsSection.selectedFeatsTree.nameCol.text")); //$NON-NLS-1$ + + // Available feats section + final Section availableFeatsSection = toolkit.createSection(body, Section.TITLE_BAR); + availableFeatsSection.clientVerticalSpacing = 5; + availableFeatsSection.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + availableFeatsSection.setText(Messages.getString("AvailableFeatsSection.text")); //$NON-NLS-1$ + final Composite availableFeatsComposite = toolkit.createComposite(availableFeatsSection, SWT.NONE); + final GridLayout availableFeatsCompositeLayout = new GridLayout(); + availableFeatsCompositeLayout.marginWidth = 1; + availableFeatsCompositeLayout.marginHeight = 1; + availableFeatsComposite.setLayout(availableFeatsCompositeLayout); + toolkit.paintBordersFor(availableFeatsComposite); + availableFeatsSection.setClient(availableFeatsComposite); + final Tree availableFeatsTree = toolkit.createTree(availableFeatsComposite, SWT.FULL_SELECTION | SWT.V_SCROLL); + availableFeatsTree.setHeaderVisible(true); + availableFeatsTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + final TreeColumn availableFeatsNameColumn = new TreeColumn(availableFeatsTree, SWT.NONE); + availableFeatsNameColumn.setWidth(150); + availableFeatsNameColumn.setText(Messages.getString("AvailableFeatsSection.availableFeatsTree.nameCol.text")); //$NON-NLS-1$ // + + // Create section parts and add them to the form + managedForm.addPart( new SelectedFeatsSection( this, + selectedFeatsSection, + new SelectedFeatsSection.Controls( + remainingFeatPointsTitleLabel, remainingFeatPointsLabel, + selectedFeatsTree ) ) ); + managedForm.addPart( new AvailableFeatsSection( this, + availableFeatsSection, + new AvailableFeatsSection.Controls( availableFeatsTree ) ) ); } } |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:50:27
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22593/src/org/wyrmtools/internal/systems/d20/ui/editors/character Modified Files: CharacterEditorUtils.java Log Message: Added getRemainingFeatPoints() method. Index: CharacterEditorUtils.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.ui/src/org/wyrmtools/internal/systems/d20/ui/editors/character/CharacterEditorUtils.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CharacterEditorUtils.java 30 Dec 2005 02:48:57 -0000 1.2 --- CharacterEditorUtils.java 28 Jan 2006 04:50:18 -0000 1.3 *************** *** 297,300 **** --- 297,323 ---- /** + * Gets the number of feat points the character has remaining to spend. + * + * @param character + * The character. + * + * @return The number of feat points the character has remaining to spend. + * + * @throws java.lang.AssertionError + * If <code>character</code> is <code>null</code>. + */ + static int getRemainingFeatPoints( final ICharacter character ) + { + // Ensure arguments are valid + assert character != null; + + // Return the number of remaining feat points + int remainingFeatPoints = 0; + for( final ICharacterLevel level : character.getLevels() ) + remainingFeatPoints += level.getRemainingFeatPoints(); + return remainingFeatPoints; + } + + /** * Gets the number of skill points the character has remaining to spend. * |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:48:57
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/META-INF In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22129/src/META-INF Modified Files: package.jdo Log Message: Added level-specific information for feats. Index: package.jdo =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/META-INF/package.jdo,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** package.jdo 24 Jan 2006 02:59:25 -0000 1.8 --- package.jdo 28 Jan 2006 04:48:50 -0000 1.9 *************** *** 102,106 **** <collection element-type="org.wyrmtools.internal.systems.d20.core.model.CharacterLevel" dependent-element="true"> </collection> ! <column name="d20_Character_CharacterLevelList"> </column> <join> --- 102,106 ---- <collection element-type="org.wyrmtools.internal.systems.d20.core.model.CharacterLevel" dependent-element="true"> </collection> ! <column name="d20_Character_LevelList"> </column> <join> *************** *** 139,142 **** --- 139,150 ---- </column> </field> + <field name="m_featList" null-value="none" dependent="true"> + <collection element-type="org.wyrmtools.internal.systems.d20.core.model.LevelCharacterFeat" dependent-element="true"> + </collection> + <column name="d20_CharacterLevel_FeatList"> + </column> + <join> + </join> + </field> <field name="m_skillList" null-value="none" dependent="true"> <collection element-type="org.wyrmtools.internal.systems.d20.core.model.LevelCharacterSkill" dependent-element="true"> *************** *** 147,150 **** --- 155,162 ---- </join> </field> + <field name="m_totalFeatPoints" null-value="none"> + <column name="totalFeatPoints"> + </column> + </field> <field name="m_totalSkillPoints" null-value="none"> <column name="totalSkillPoints"> *************** *** 242,245 **** --- 254,273 ---- </field> </class> + <class name="LevelCharacterFeat" objectid-class="org.wyrmtools.internal.systems.d20.core.model.LevelCharacterFeat$Id" detachable="true" persistence-modifier="persistence-capable" table="d20_LevelCharacterFeat"> + <inheritance strategy="new-table"> + </inheritance> + <field name="m_id" primary-key="true" null-value="none" default-fetch-group="true"> + <column name="id" jdbc-type="CHAR" length="32"> + </column> + </field> + <field name="m_featId" null-value="none"> + <column name="featId" jdbc-type="CHAR" length="32"> + </column> + </field> + <field name="m_featPoints" null-value="none"> + <column name="featPoints"> + </column> + </field> + </class> <class name="LevelCharacterSkill" objectid-class="org.wyrmtools.internal.systems.d20.core.model.LevelCharacterSkill$Id" detachable="true" persistence-modifier="persistence-capable" table="d20_LevelCharacterSkill"> <inheritance strategy="new-table"> |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:47:35
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/internal/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21859/src/org/wyrmtools/internal/systems/d20/core/model Modified Files: CharacterLevel.java Log Message: Added support for feats. Index: CharacterLevel.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/internal/systems/d20/core/model/CharacterLevel.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CharacterLevel.java 20 Jan 2006 03:21:00 -0000 1.4 --- CharacterLevel.java 28 Jan 2006 04:47:27 -0000 1.5 *************** *** 35,41 **** --- 35,43 ---- import org.wyrmtools.core.util.Uuid; import org.wyrmtools.systems.d20.core.D20CorePlugin; + import org.wyrmtools.systems.d20.core.model.ICharacterFeat; import org.wyrmtools.systems.d20.core.model.ICharacterLevel; import org.wyrmtools.systems.d20.core.model.ICharacterSkill; import org.wyrmtools.systems.d20.core.model.IClass; + import org.wyrmtools.systems.d20.core.model.IFeat; import org.wyrmtools.systems.d20.core.model.ISkill; *************** *** 61,64 **** --- 63,69 ---- private String m_id; + /** The collection of feats acquired at this level. */ + private List<LevelCharacterFeat> m_featList; + /** The experience level. */ private int m_level; *************** *** 67,70 **** --- 72,78 ---- private List<LevelCharacterSkill> m_skillList; + /** The number of feat points received at this level. */ + private int m_totalFeatPoints; + /** The number of skill points received at this level. */ private int m_totalSkillPoints; *************** *** 113,116 **** --- 121,125 ---- m_level = level; m_classId = classId.toString(); + m_featList = new ArrayList<LevelCharacterFeat>(); m_skillList = new ArrayList<LevelCharacterSkill>(); *************** *** 125,128 **** --- 134,180 ---- /** + * Adds a number of ranks to the specified feat corresponding to the + * specified number of feat points. + * + * TODO: Document what exception is thrown in the case the feat does not + * allow multiple ranks. + * + * @param feat + * The feat to which ranks are to be added. + * @param featPoints + * The number of feat points to add to the feat. + * + * @throws java.lang.AssertionError + * If <code>feat</code> is <code>null</code> or + * <code>featPoints</code> is nonpositive. + */ + synchronized void addFeatRanks( final IFeat feat, final int featPoints ) + { + // Ensure arguments are valid + assert feat != null; + assert featPoints > 0; + + // Ensure there are enough feat points remaining at this level + if( getRemainingFeatPoints() < featPoints ) + throw new IllegalArgumentException(); // XXX: ??? + + // Get the existing acquired feat or create a new instance + final int acquiredFeatIndex = indexOfFeat( feat.getId() ); + LevelCharacterFeat acquiredFeat = null; + if( acquiredFeatIndex != -1 ) + { + acquiredFeat = m_featList.get( acquiredFeatIndex ); + } + else + { + acquiredFeat = new LevelCharacterFeat( getOwner(), feat.getId() ); + m_featList.add( acquiredFeat ); + } + + // Spend one feat point on the specified feat + acquiredFeat.addRanks( featPoints ); + } + + /** * Adds a number of ranks to the specified skill corresponding to the * specified number of skill points. *************** *** 201,204 **** --- 253,265 ---- /* + * @see org.wyrmtools.systems.d20.core.model.ICharacterLevel#getFeats() + */ + public synchronized ICharacterFeat[] getFeats() + { + // Return the feats acquired at this level + return m_featList.toArray( new ICharacterFeat[ m_featList.size() ] ); + } + + /* * @see org.wyrmtools.systems.d20.core.model.ICharacterLevel#getLevel() */ *************** *** 211,214 **** --- 272,289 ---- /* * @see org.wyrmtools.systems.d20.core.model.ICharacterLevel + * #getRemainingFeatPoints() + */ + public synchronized int getRemainingFeatPoints() + { + // Return the remaining feat points at this level + int remainingFeatPoints = m_totalFeatPoints; + for( final LevelCharacterFeat feat : m_featList ) + remainingFeatPoints -= feat.getFeatPoints(); + assert remainingFeatPoints >= 0; + return remainingFeatPoints; + } + + /* + * @see org.wyrmtools.systems.d20.core.model.ICharacterLevel * #getRemainingSkillPoints() */ *************** *** 235,238 **** --- 310,323 ---- /* * @see org.wyrmtools.systems.d20.core.model.ICharacterLevel + * #getTotalFeatPoints() + */ + public synchronized int getTotalFeatPoints() + { + // Return the total feat points at this level + return m_totalFeatPoints; + } + + /* + * @see org.wyrmtools.systems.d20.core.model.ICharacterLevel * #getTotalSkillPoints() */ *************** *** 245,248 **** --- 330,359 ---- /** + * Searches the feat list for a feat with the specified UUID. + * + * @param id + * The UUID of the feat. + * + * @return The index of the feat with the specified UUID or -1 if no such + * feat exists. + * + * @throws java.lang.AssertionError + * If <code>id</code> is <code>null</code>. + */ + private synchronized int indexOfFeat( final Uuid id ) + { + // Ensure arguments are valid + assert id != null; + + // Search for the feat with the specified UUID + for( int i = 0, size = m_featList.size(); i < size; ++i ) + { + if( id.equals( m_featList.get( i ).getFeatId() ) ) + return i; + } + return -1; + } + + /** * Searches the skill list for a skill with the specified UUID. * *************** *** 271,274 **** --- 382,421 ---- /** + * Removes a number of ranks from the specified feat corresponding to the + * specified number of feat points. + * + * TODO: Document exceptions that can be thrown. + * + * @param feat + * The feat from which ranks are to be removed. + * @param featPoints + * The number of feat points to remove from the feat. + * + * @throws java.lang.AssertionError + * If <code>feat</code> is <code>null</code> or + * <code>featPoints</code> is nonpositive. + */ + synchronized void removeFeatRanks( final IFeat feat, + final int featPoints ) + { + // Ensure arguments are valid + assert feat != null; + assert featPoints > 0; + + // Get the existing acquired feat + final int acquiredFeatIndex = indexOfFeat( feat.getId() ); + if( acquiredFeatIndex == -1 ) + return; + final LevelCharacterFeat acquiredFeat = m_featList.get( + acquiredFeatIndex ); + + // Remove one feat point; if the number of spent feat points drops to + // zero remove the feat completely. + acquiredFeat.removeRanks( featPoints ); + if( acquiredFeat.getFeatPoints() == 0 ) + m_featList.remove( acquiredFeatIndex ); + } + + /** * Removes a number of ranks from the specified skill corresponding to the * specified number of skill points. *************** *** 278,282 **** * * @param skill ! * The skill to which ranks are to be removed. * @param skillPoints * The number of skill points to remove from the skill. --- 425,429 ---- * * @param skill ! * The skill from which ranks are to be removed. * @param skillPoints * The number of skill points to remove from the skill. *************** *** 327,330 **** --- 474,501 ---- /** + * Sets the total number of feat points received at this level. + * + * <p> + * Note that this method will reset the remaining feat points at this + * level to equal the total number of feat points. + * </p> + * + * @param totalFeatPoints + * The total number of feat points received at this level. + * + * @throws java.lang.AssertionError + * If <code>totalFeatPoints</code> is less than zero. + */ + synchronized void setTotalFeatPoints( final int totalFeatPoints ) + { + // Ensure arguments are valid + assert totalFeatPoints >= 0; + + // Set the total feat points and reset the feat list + m_totalFeatPoints = totalFeatPoints; + m_featList.clear(); + } + + /** * Sets the total number of skill points received at this level. * |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:46:04
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/internal/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21457/src/org/wyrmtools/internal/systems/d20/core/model Added Files: LevelCharacterFeat.java CharacterFeat.java Log Message: Initial checkin. --- NEW FILE: CharacterFeat.java --- /* * CharacterFeat.java * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * * 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. * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA * * Created on Jan 23, 2006 at 11:22:33 PM. * * Cur Version: $Revision: 1.1 $ * Last Editor: $Author: wyrmtools $ * Last Edited: $Date: 2006/01/28 04:45:53 $ */ package org.wyrmtools.internal.systems.d20.core.model; import java.util.ArrayList; import java.util.List; import org.wyrmtools.core.util.Uuid; import org.wyrmtools.systems.d20.core.model.ICharacterFeat; /** * Implementation of <code>ICharacterFeat</code> that represents an acquired * feat aggregated over all character levels. * * @author Rusty Shackleford <wyrmtools@yahoo.com> * @version $Revision: 1.1 $ */ final class CharacterFeat implements ICharacterFeat { // ====================================================================== // Fields // ====================================================================== /** The UUID of the associated feat. */ private final Uuid m_featId; /** List of level-specific feats. */ private final List<ICharacterFeat> m_levelFeatList; // ====================================================================== // Constructors // ====================================================================== /** * Initializes a new instance of the <code>CharacterFeat</code> class. * * @param featId * The UUID of the associated feat. * * @throws java.lang.AssertionError * If <code>featId</code> is <code>null</code>. */ CharacterFeat( final Uuid featId ) { // Ensure arguments are valid assert featId != null; // Initialize fields m_featId = featId; m_levelFeatList = new ArrayList<ICharacterFeat>(); } // ====================================================================== // Methods // ====================================================================== /** * Adds a level-specific feat to this aggregation. * * @param levelFeat * The level-specific feat to be added. * * @throws java.lang.AssertionError * If <code>levelFeat</code> is <code>null</code> or * <code>levelFeat</code> does not correspond to the same feat * represented by this object. */ void addLevelFeat( final ICharacterFeat levelFeat ) { // Ensure arguments are valid assert levelFeat != null; assert m_featId.equals( levelFeat.getFeatId() ); // Add the level-specific feat m_levelFeatList.add( levelFeat ); } /* * @see org.wyrmtools.systems.d20.core.model.ICharacterFeat#getFeatId() */ public Uuid getFeatId() { // Return the feat UUID return m_featId; } /* * @see org.wyrmtools.systems.d20.core.model.ICharacterFeat * #getFeatPoints() */ public int getFeatPoints() { // Return the aggregate number of feat points allotted to the feat int featPoints = 0; for( final ICharacterFeat levelFeat : m_levelFeatList ) featPoints += levelFeat.getFeatPoints(); return featPoints; } } --- NEW FILE: LevelCharacterFeat.java --- /* * LevelCharacterFeat.java * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * * 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. * * 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., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA * * Created on Jan 23, 2006 at 10:54:36 PM. * * Cur Version: $Revision: 1.1 $ * Last Editor: $Author: wyrmtools $ * Last Edited: $Date: 2006/01/28 04:45:53 $ */ package org.wyrmtools.internal.systems.d20.core.model; import org.wyrmtools.core.model.IElement; import org.wyrmtools.core.util.Uuid; import org.wyrmtools.systems.d20.core.model.ICharacterFeat; /** * Implementation of <code>ICharacterFeat</code> that represents an acquired * feat at a single character level. * * @author Rusty Shackleford <wyrmtools@yahoo.com> * @version $Revision: 1.1 $ */ public final class LevelCharacterFeat extends ElementComponent implements ICharacterFeat { // ====================================================================== // Fields // ====================================================================== /** The component UUID as a string. */ @SuppressWarnings( "unused" ) private String m_id; /** The UUID of the associated feat as a string. */ private String m_featId; /** The total number of feat points allotted to this feat. */ private int m_featPoints; // ====================================================================== // Constructors // ====================================================================== /** * Initializes a new instance of the <code>LevelCharacterFeat</code> * class. * * <p> * This constructor is intended to support object persistence. * </p> */ private LevelCharacterFeat() { } /** * Initializes a new instance of the <code>LevelCharacterFeat</code> * class. * * @param owner * The model element which owns the component. * @param featId * The UUID of the feat associated with this instance. * * @throws java.lang.AssertionError * If <code>owner</code> or <code>featId</code> is * <code>null</code>. */ LevelCharacterFeat( final IElement owner, final Uuid featId ) { // Ensure arguments are valid assert owner != null; assert featId != null; // Initialize fields m_id = Uuid.newUuid().toString(); // FIXME: this is a problem when it comes to import m_featId = featId.toString(); // Subclasses are required to set the owner setOwner( owner ); } // ====================================================================== // Methods // ====================================================================== /** * Adds a number of ranks to the feat corresponding to the specified * number of feat points. * * @param featPoints * The number of feat points to add. * * @throws java.lang.AssertionError * If <code>featPoints</code> is nonpositive. */ synchronized void addRanks( final int featPoints ) { // Ensure arguments are valid assert featPoints > 0; // Add the specified number of feat points m_featPoints += featPoints; } /* * @see org.wyrmtools.systems.d20.core.model.ICharacterFeat#getFeatId() */ public Uuid getFeatId() { // Return the feat UUID return Uuid.fromString( m_featId ); } /* * @see org.wyrmtools.systems.d20.core.model.ICharacterFeat * #getFeatPoints() */ public synchronized int getFeatPoints() { // Return the total number of feat points spent return m_featPoints; } /** * Removes a number of ranks from the feat corresponding to the specified * number of feat points. * * <p> * If <code>featPoints</code> is greater than the total number of feat * points allotted to the feat, the feat rank is set to zero. * </p> * * @param featPoints * The number of feat points to remove. * * @throws java.lang.AssertionError * If <code>featPoints</code> is nonpositive. */ synchronized void removeRanks( final int featPoints ) { // Ensure arguments are valid assert featPoints > 0; // Remove the specified number of feat points without allowing total // feat points to drop below zero if( featPoints >= m_featPoints ) m_featPoints = 0; else m_featPoints -= featPoints; } // ====================================================================== // Nested Classes // ====================================================================== /** * The JDO application identity class for the * <code>LevelCharacterFeat</code> class. */ public static final class Id extends JdoObjectId { // ================================================================== // Fields // ================================================================== /** Serializable class version number. */ private static final long serialVersionUID = 1L; /** The object UUID as a string (primary key). */ public String m_id; // ================================================================== // Constructors // ================================================================== /** * Initializes a new instance of the <code>Id</code> class. */ public Id() { } /** * Initializes a new instance of the <code>Id</code> class from the * specified UUID string. * * @param id * The UUID as a string. */ public Id( final String id ) { // Initialize fields m_id = id; } // ================================================================== // Methods // ================================================================== /* * @see org.wyrmtools.internal.systems.d20.core.model.JdoObjectId * #getId() */ protected String getId() { // Return the UUID return m_id; } } } |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:43:48
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20988/src/org/wyrmtools/systems/d20/core/model Modified Files: ICharacter.java Log Message: Added support for feats. Index: ICharacter.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/systems/d20/core/model/ICharacter.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ICharacter.java 20 Jan 2006 02:07:36 -0000 1.4 --- ICharacter.java 28 Jan 2006 04:43:31 -0000 1.5 *************** *** 55,58 **** --- 55,84 ---- // ====================================================================== + // TODO: We completely made up the term "feat rank". No such term exists + // in the SRD. What is the correct term to use in this respect? + /** + * Adds a number of ranks to the specified feat corresponding to the + * specified number of feat points. + * + * TODO: Document that this applies to the character's CURRENT level. + * + * TODO: Document what exception is thrown in the case the feat does not + * allow multiple ranks. + * + * @param feat + * The feat to which ranks are to be added. + * @param featPoints + * The number of feat points to add to the feat. + * + * @throws java.lang.NullPointerException + * If <code>feat</code> is <code>null</code>. + * @throws java.lang.IllegalArgumentException + * If <code>featPoints</code> is nonpositive. + * @throws org.wyrmtools.core.model.ModelException + * If the request fails. + */ + public void addFeatRanks( IFeat feat, int featPoints ) + throws ModelException; + /** * Adds a new experience level to the character. *************** *** 124,127 **** --- 150,160 ---- /** + * Gets a collection of the character's acquired feats. + * + * @return A collection of the character's acquired feats. + */ + public ICharacterFeat[] getFeats(); + + /** * Gets the gender of the character. * *************** *** 196,199 **** --- 229,251 ---- /** + * Removes a number of ranks from the specified feat corresponding to the + * specified number of feat points. + * + * @param feat + * The feat from which ranks are to be removed. + * @param featPoints + * The number of feat points to remove from the feat. + * + * @throws java.lang.NullPointerException + * If <code>feat</code> is <code>null</code>. + * @throws java.lang.IllegalArgumentException + * If <code>featPoints</code> is nonpositive. + * @throws org.wyrmtools.core.model.ModelException + * If the request fails. + */ + public void removeFeatRanks( IFeat feat, int featPoints ) + throws ModelException; + + /** * Removes a number of ranks from the specified skill corresponding to the * specified number of skill points. *************** *** 203,207 **** * * @param skill ! * The skill to which ranks are to be removed. * @param skillPoints * The number of skill points to remove from the skill. --- 255,259 ---- * * @param skill ! * The skill from which ranks are to be removed. * @param skillPoints * The number of skill points to remove from the skill. |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:41:54
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20547/src/org/wyrmtools/systems/d20/core/model Modified Files: ICharacterLevel.java Log Message: Added support for feats. Index: ICharacterLevel.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/systems/d20/core/model/ICharacterLevel.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ICharacterLevel.java 20 Jan 2006 02:08:38 -0000 1.3 --- ICharacterLevel.java 28 Jan 2006 04:41:43 -0000 1.4 *************** *** 50,53 **** --- 50,67 ---- /** + * Gets a collection of feats acquired at this experience level. + * + * <p> + * Note that the properties of the returned feats only reflect the + * information associated with this experience level. To obtain feat + * information in its entirety, use the corresponding methods on the + * <code>ICharacter</code> interface. + * </p> + * + * @return A collection of feats acquired at this experience level. + */ + public ICharacterFeat[] getFeats(); + + /** * Gets the experience level represented by this object. * *************** *** 57,60 **** --- 71,83 ---- /** + * Gets the number of feat points received at this experience level that + * the character has remaining to spend. + * + * @return The number of feat points received at this level that the + * character has remaining to spend. + */ + public int getRemainingFeatPoints(); + + /** * Gets the number of skill points received at this experience level that * the character has remaining to spend. *************** *** 80,83 **** --- 103,115 ---- /** + * Gets the total number of feat points the character received at this + * experience level. + * + * @return The total number of feat points the character received at this + * experience level. + */ + public int getTotalFeatPoints(); + + /** * Gets the total number of skill points the character received at this * experience level. |
|
From: Wyrm T. <wyr...@us...> - 2006-01-28 04:40:15
|
Update of /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/systems/d20/core/model In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20265/src/org/wyrmtools/systems/d20/core/model Modified Files: D20Topics.java Log Message: Added support for feat points. Index: D20Topics.java =================================================================== RCS file: /cvsroot/wyrmtools/projects/systems/org.wyrmtools.systems.d20.core/src/org/wyrmtools/systems/d20/core/model/D20Topics.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** D20Topics.java 30 Dec 2005 02:30:18 -0000 1.4 --- D20Topics.java 28 Jan 2006 04:40:07 -0000 1.5 *************** *** 1,5 **** /* * D20Topics.java ! * Copyright (C) 2004-2005 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * --- 1,5 ---- /* * D20Topics.java ! * Copyright (C) 2004-2006 by WyrmTools.org <wyrmtools[at]yahoo[dot]com>. * All rights reserved. * *************** *** 178,181 **** --- 178,184 ---- "skillPoints"; //$NON-NLS-1$ + public static final String FEAT_POINTS = + "featPoints"; //$NON-NLS-1$ + public static final String PREREQUISITE_PREFIX = "prereq."; //$NON-NLS-1$ |