Changes - arylwen - Aug 11 2013
- ExpressionCompiler - removed more sythetic modifier, made generated synthetic fucntion public, to conform with the interfcae
- TelnetChannelConnecitonHandler - fixed the event processing thread to accept a larger stack size; on android the default stack size is too small to compile certain classes
Changes - arylwen - Aug 3rd 2013
- ConfigNames - Added auto.compiling.class.loader property; it would support configuring a different class loader for a different platform, e.g. Android.
- EngineInitializer Added windows path support for loading sefuns and master. Added the auto.compiling.class.loader property
- ds.terebi.config - added autocompiling classloader property
- lpc.classpath - upgraded to asm 3.3.1
- ObjectBuilder - added the refelxive instantiation of the class loader
- ObjectBuilderFactory - added the classloadername property
- ExpressionCompiler - removed the synthetic property for the function generated for the catch statement; the android dexer does not index synthetic functions unless they are inner-outer acessors
- CallOutManager - removed chatty log statements
- Fixed associated test classes
- AbstractConfig - the android compiler doesn't accept two methods with the same signature and different visibility while desktop java doesn't complain
- LpcCompilerObjectManager - reverted back to throwing an error when compiler cicles are detected
- AbstractObjectDefinition - reverted back to throwing an error when compiler cicles are detected
- FileResource - android compiler doesn't box very well - double quotes needed
- LpcValue - the dexer complains if equals is not defined on the interface also when we have a cast to an interface
- renamed the stout project
Changes - arylwen - July 2013
- Removed hg from the build files
- Upgraded Ivy to 2.3.0
- EngineInitialiser - activated the call-out manager
- ObjectShell - added debug info
- ProcessInputHandler - added debug info
- ds.terebi.config - added lib/include to the global include directories
- LpcCompilerObjectManager - do not compile a class if already added, however do not stop processing. This allowd to load master.c, that has circular dependencies
- StandardEFuns - added acos, pow and sqrt
- AbstractObjectDefinition - do not load master for master (prevent a cycle here)
- LpcParameter - do not generate varargs by default, as the annotation would generate the parameter anyway; the android dexer complain about a parameter defined twice (while desktop java doesn't) 11.CallOutManager - fixed the deadlock between add and processNextCallout
- CallOtherEfun - call other doesn't always have 3 arguments - fixed the nullpointer exception
- FileNameEFun - support for windows file names
- LivingEfun - provided implementation - nit compatible with the classic definition, needs revision
- MasterEFun - changed to return NIL rather than throw NullPointerException - masteris not available until is loaded
- TerminalColourEfun - changed the regex to strip only the color and not the text
- CallOutEfun - added debug info
- MoveObjectEfun - added support for add_action - call the init in the other objects per mud rules; TODO - implement removing the actions from the previous env
- PresentEfun - changed to return an object insetad of int
- GetDirectoryInfoEfun - added support for both arguments
- ExecutionTImeCheck - ignore if not generated instead of interrupting the mud - TODO review the compiler and find out why it is not generated on getLocation
- Apply - debug info
- TelnetChannelConnection - debug info
- CommandEfun - provided implementation, including for commands in other objects
- ActionHandler - provided support for cmdAll - I opted for this rather than implementing process_command in the driver
- InteractiveEFun - support for the nil argument (rather than combing the lib for the concrete instances)
- ReceiveEFun - debug info
- WriteEfun - debug info
- ObjectSerializer - fixed the array and map serialization; TODO fix the function serialization
Based on http://www.terebi.us/
Terebi is a reimplementation of LPMUD in Java
The main public (unstable) repository is available at https://bitbucket.org/tvernum/terebi A git mirror is available at https://github.com/tvernum/terebi