360 lines
11 KiB
Plaintext
360 lines
11 KiB
Plaintext
|
2008-07-13 "SQUIRREL2_1_1_sqplus_snapshot_20080713"
|
||
|
|
||
|
* Released as a snapshot
|
||
|
|
||
|
|
||
|
2008-07-06 kawachi
|
||
|
|
||
|
* Removed testSqPlus2
|
||
|
|
||
|
|
||
|
2008-06-26 arst@users.sf.net
|
||
|
|
||
|
* SquirrelVM.cpp / SqPlusSetup.h
|
||
|
- Added a new define SQPLUS_SQUIRRELVM_WITH_SYSTEMLIB
|
||
|
(Juggernaut, http://squirrel-lang.org/forums/2585/ShowThread.aspx#2585)
|
||
|
|
||
|
- Added a new function:
|
||
|
SQClassDefBase::scriptVar(const SQChar* name, int ival,
|
||
|
SQBool static_var=SQFalse)
|
||
|
|
||
|
It allows for creating either static or ordinary Squirrel class
|
||
|
members from C++ source code. Versions for int/double/const
|
||
|
SQChar*.
|
||
|
|
||
|
- SquirrelObject::GetBase() - retrieve base class.
|
||
|
(Juggernaut, http://squirrel-lang.org/forums/2585/ShowThread.aspx#2585)
|
||
|
|
||
|
|
||
|
2008-06-14 Kazei
|
||
|
|
||
|
* Fixed memory leak in overloadConstructor
|
||
|
(http://squirrel-lang.org/forums/thread/2516.aspx)
|
||
|
|
||
|
|
||
|
2008-05-10 Neimod
|
||
|
|
||
|
* Fixed for typesafe scripting
|
||
|
(http://squirrel-lang.org/forums/thread/2478.aspx)
|
||
|
|
||
|
|
||
|
2008-05-08 arst@users.sf.net
|
||
|
|
||
|
* sqplus.h/.cpp
|
||
|
|
||
|
- SQ_USE_CLASS_INHERITANCE_SIMPLE is a new way of handling class
|
||
|
inheritence in SqPlus, relying on a template scheme (see ClassTypeBase
|
||
|
and ClassType<T>). It doesn't use any memory per instance and should
|
||
|
be a bit faster than previous scheme. SqClassDef has been given
|
||
|
a second template argument to account for this:
|
||
|
|
||
|
struct SQClassDef<MyClass, TheBaseClass> ...
|
||
|
|
||
|
- The name of the class (in SqClassDef) can be filled in by SqPlus now,
|
||
|
if Squirrel class name is same as C++ class name:
|
||
|
|
||
|
SQClasDef<Troll, Creature>("Troll", "Creature").func(...) =>
|
||
|
SQClasDef<Troll, Creature>().func(...)
|
||
|
|
||
|
- Code to handle class types (names, copy funcs, ID tag, ...) has been
|
||
|
collected in ClassTypeBase and ClassType<T>.
|
||
|
|
||
|
- A new macro to specify that classes should not be copied with default
|
||
|
C++ method: DECLARE_NONCOPY_TYPE(ClassThatCannotBeCopied).
|
||
|
|
||
|
- Reworked body of repetetive template functions, Moved to
|
||
|
SqPlusCallTemplates.h. Can be included with different qualifiers
|
||
|
(const, cdecl).
|
||
|
|
||
|
- Support for cdecl member functions (MSVC specific) through:
|
||
|
|
||
|
SQPLUS_ENABLE_CDECL_MEMBER_FUNCTIONS
|
||
|
|
||
|
cdecl functions are compatible across compilers, while thiscall
|
||
|
is not.
|
||
|
|
||
|
- Generic Push/Pop/Match handlers: SQPLUS_USE_GENERIC_HANDLERS
|
||
|
By default, Push/Get/Match handlers are for a single type. This
|
||
|
adds a fallback level, so that `hierarchy wide' handlers can
|
||
|
be used (define for base class and let all derived classes use
|
||
|
just that).
|
||
|
|
||
|
- For functions that return a pointer to a temporarary (such as
|
||
|
returning a SQDefCharBuf, a template mapper class:
|
||
|
|
||
|
Temporary<T>::type
|
||
|
|
||
|
was added. It can hold a temporary value while finishing a
|
||
|
SquirrelFunction call (before returning to C++).
|
||
|
|
||
|
- Suppressing horrible warnings from Visual C++ about sprintf and related
|
||
|
functions (_CRT_SECURE_NO_DEPRECATE).
|
||
|
|
||
|
|
||
|
* SquirrelVM.h/.cpp
|
||
|
|
||
|
- Changed SquirrelVM and SquirrelVMSys to make them hold a reference
|
||
|
on a SQVM so that ownership can be shared in a defined way.
|
||
|
|
||
|
- SquirrelVMSys can be used as before to swap the `active' VM.
|
||
|
Now it holds a ref to a VM so that a VM is closed automatically
|
||
|
when switched out and there are no refs to any longer. (To hold a
|
||
|
VM ref in the application, simply use an instance of SquirrelVMSys).
|
||
|
|
||
|
- NOTE: A VM created through sq_open() comes out with a reference
|
||
|
count of 1. A VM created with sq_newthread() arrives with a ref
|
||
|
count of 0. SquirrelVM will compensate for this.
|
||
|
|
||
|
- Possibility to store a `sandbox VM'. This VM is not allowed to
|
||
|
access functions / classes bound with SqPlus and so can run more
|
||
|
untrusted scripts.
|
||
|
|
||
|
- Hopefully these changes will not break current apps. (Note: creating
|
||
|
and keeping correct refs on SQVM involved some difficulties (with ref-
|
||
|
counting and garbage collected Squirrel). The scheme provided here is
|
||
|
(I hope) a working solution.)
|
||
|
|
||
|
* SquirrelObject.h/.cpp
|
||
|
|
||
|
- Added: operator = (HSQOBJECT)
|
||
|
|
||
|
- From forum: (http://squirrel-lang.org/forums/thread/2506.aspx)
|
||
|
(suggested by auron0)
|
||
|
- Added: operator == (const SquirrelObject& o)
|
||
|
- Added: CompareUserPointer(const SquirrelObject& o)
|
||
|
|
||
|
* SqPlusUTF8.h / .cpp
|
||
|
|
||
|
- New files for converting strings in arguments (UTF8 <-> wchar_t)
|
||
|
|
||
|
- Fix for conversion of UTF8 sequence of length 3+ bytes
|
||
|
|
||
|
|
||
|
|
||
|
2008-02-17 PallavNawani
|
||
|
|
||
|
* BindVariable of std::string
|
||
|
(http://squirrel-lang.org/forums/2370/ShowThread.aspx)
|
||
|
|
||
|
|
||
|
2007-10-14 "SQUIRREL2_1_1_sqplus_snapshot_20071014"
|
||
|
|
||
|
* Fixed const member function overloading by Tegan
|
||
|
(http://squirrel-lang.org/forums/thread/2160.aspx)
|
||
|
|
||
|
* Updates for missing inline in DECLARE_INSTANCE_TYPE_NAME
|
||
|
(http://squirrel-lang.org/forums/thread/2156.aspx)
|
||
|
|
||
|
* Fixed resolution in function overloading
|
||
|
(http://squirrel-lang.org/forums/thread/2179.aspx)
|
||
|
|
||
|
* Added support for operator overloading suggested by Tegan
|
||
|
(http://squirrel-lang.org/forums/thread/2160.aspx)
|
||
|
|
||
|
|
||
|
2007-09-27 "SQUIRREL2_1_1_sqplus_snapshot_20070927"
|
||
|
|
||
|
* Added ats's extensions :
|
||
|
http://squirrel-lang.org/forums/1/2153/ShowThread.aspx
|
||
|
|
||
|
- GCC_INLINE_WORKAROUND (problems with inline functions with gcc)
|
||
|
- Set/get for short/char members
|
||
|
- Get for const SQChar*
|
||
|
- DECLARE_ENUM_TYPE - Allows enums to be used as arguments
|
||
|
- Support for more customized Push handlers
|
||
|
- SQPLUS_DISABLE_COPY_INSTANCES (disabling automatic use of copy
|
||
|
constructors)
|
||
|
- Support for automatically generate TypeMasks (a template
|
||
|
solution) on function registration
|
||
|
|
||
|
|
||
|
2007-08-25 "SQUIRREL2_1_1_sqplus_snapshot_20070825"
|
||
|
|
||
|
* Added m0pey's smart pointer support :
|
||
|
http://squirrel-lang.org/forums/thread/1982.aspx
|
||
|
|
||
|
|
||
|
2007-01-07 "SQUIRREL2_1_1_sqplus_snapshot_20070701"
|
||
|
|
||
|
* Fixed `returning a pointer of a derived class' problem with gcc
|
||
|
(http://squirrel-lang.org/forums/thread/1875.aspx) based on
|
||
|
http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlusNativeCreatedInstancesWithCorrectAncestry.html
|
||
|
|
||
|
|
||
|
2007-06/02 "SQUIRREL2_1_1_sqplus_snapshot_20070602"
|
||
|
|
||
|
* Fix by Sebastien Frippiat:
|
||
|
http://squirrel-lang.org/forums/thread/507.aspx
|
||
|
|
||
|
|
||
|
2007-05-27 "SQUIRREL2_1_1_sqplus_snapshot_20070527"
|
||
|
|
||
|
* Added sqplus/SqPlusOverload.h for function overloading. See
|
||
|
testSqPlus2unit/test_FunctionOverloading.cpp.
|
||
|
|
||
|
|
||
|
2007-03-04 "SQUIRREL2_1_1_sqplus_snapshot_20070304"
|
||
|
|
||
|
* Fixed compilation problem on g++-3.4.4 (cygwin):
|
||
|
http://squirrel-lang.org/forums/thread/1753.aspx
|
||
|
|
||
|
|
||
|
2007-02-25 "SQUIRREL2_1_1_sqplus_snapshot_20070225"
|
||
|
|
||
|
* Fix by Kamaitati: http://squirrel-lang.org/forums/thread/1748.aspx
|
||
|
|
||
|
* Modified sqplu.h (SquirrelObject::Set<>()) for gcc
|
||
|
|
||
|
* Added testSqPlus2unit directory for unit testing
|
||
|
|
||
|
|
||
|
2006-10-09- "SQUIRREL2_1_1_sqplus_25"
|
||
|
|
||
|
* Fixed SqPlusConst.h:
|
||
|
http://squirrel-lang.org/forums/thread/1314.aspx, changed
|
||
|
SquirrelObject Get/Set to default to pass-by-reference, where
|
||
|
pass-by-copy requires extra parameter
|
||
|
|
||
|
|
||
|
2006-10-08 "SQUIRREL2_1_1_sqplus_24"
|
||
|
|
||
|
* Added SQClassDefNoConstructor<>:
|
||
|
http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlusWithoutAutoDefaultConstructor.html
|
||
|
(allows binding abstract base classes/pure-virtual-interfaces)
|
||
|
|
||
|
* Added "Squirrel Set/Get objects"
|
||
|
http://wiki.squirrel-lang.org/default.aspx/SquirrelWiki/SqPlusGetSetObjects.html
|
||
|
|
||
|
|
||
|
2006-09-30 "SQUIRREL2_1_1_sqplus_23"
|
||
|
|
||
|
* Fixed return type for sq_std_string Get()
|
||
|
|
||
|
|
||
|
2006-08-21 "SQUIRREL2_1_0_sqplus_22"
|
||
|
|
||
|
* Merged in Squirrel 2.1.1 Stable
|
||
|
|
||
|
|
||
|
2006-08-20 "SQUIRREL2_1_0_sqplus_21"
|
||
|
|
||
|
* Changed code order to be compatible with GCC 4.1.x.
|
||
|
|
||
|
* Added jflanglois' suggestion for std::basic_string<SQChar>
|
||
|
|
||
|
|
||
|
2006-06-27 "SQUIRREL2_1_0_sqplus_20"
|
||
|
|
||
|
* Added Katsuaki Kawachi's GetInstance()/Match() changes
|
||
|
(http://www.squirrel-lang.org/forums/962/ShowPost.aspx)
|
||
|
|
||
|
|
||
|
2006-02-06 "SQUIRREL2_1_0_sqplus_19"
|
||
|
|
||
|
* Added VS7.1 make/project files with 71 suffix: can be used
|
||
|
alongside VS8 without directory changes
|
||
|
|
||
|
* Added optional debug string argument to SquirrelVM::CompileBuffer()
|
||
|
|
||
|
|
||
|
2006-05-28 "SQUIRREL2_1_0_sqplus_18"
|
||
|
|
||
|
* Added Kamaitati's changes: bug fix, C++ style inheritance support,
|
||
|
null instance argument support
|
||
|
|
||
|
|
||
|
2006-04-25 "SQUIRREL2_1_0_sqplus_17"
|
||
|
|
||
|
* Changed SquirrelObject::GetInstanceUP() to return NULL and
|
||
|
clear internal error state on invalid instance type request
|
||
|
|
||
|
* Added SquirrelObject::GetTypeName(const "SQChar" * key),
|
||
|
SquirrelObject::GetTypeName("INT" key) and
|
||
|
SquirrelObject::GetTypeName().
|
||
|
|
||
|
* Added SQ_SUPPORT_INSTANCE_TYPE_INFO compile time option
|
||
|
|
||
|
* Added missing template arguments (7 argument case)
|
||
|
|
||
|
* Source changes to support VS7.1 and VS8 compilation (standard and
|
||
|
UNICODE builds)
|
||
|
|
||
|
* Added Code::Blocks project files
|
||
|
|
||
|
|
||
|
2006-03-26 "SQUIRREL2_1_0_sqplus_11"
|
||
|
|
||
|
* Updated make/build files to VS8 (http://msdn.microsoft.com/vstudio/)
|
||
|
|
||
|
* Source changes for VS8 compilation
|
||
|
|
||
|
|
||
|
2006-03-19 "SQUIRREL2_1_0_sqplus_10"
|
||
|
|
||
|
* Updated to Squirrel 2.1
|
||
|
|
||
|
|
||
|
2006-02-27 "SQUIRREL2_0_5_sqplus_9"
|
||
|
|
||
|
* Added Ben's changes to implement DECLARE_INSTANCE_TYPE_NAME
|
||
|
(http://www.squirrel-lang.org/forums/635/ShowPost.aspx)
|
||
|
|
||
|
|
||
|
2005-12-22 "SQUIRREL2_0_5_sqplus_8"
|
||
|
|
||
|
* Added GetVMSys() and SetVMSys() to better support multiple VM's
|
||
|
|
||
|
|
||
|
2005-11-21 "SQUIRREL2_0_5_sqplus_7"
|
||
|
|
||
|
* Added modular support for const member functions. Defining
|
||
|
SQPLUS_CONST_OPT before including sqplus.h enables the added
|
||
|
functionality
|
||
|
|
||
|
* SqPlus tested on Mac OS-X
|
||
|
|
||
|
|
||
|
2005-11-03 "SQUIRREL2_0_5_sqplus_6"
|
||
|
|
||
|
* Fixed inheritance issue: tables added to classes are not newly
|
||
|
created upon instantiation- they must be cloned during
|
||
|
construction (language design)
|
||
|
|
||
|
* Reworked projects build settings to better allow building all
|
||
|
projects types: Debug, Release, Debug - Unicode, Release - Unicode
|
||
|
|
||
|
|
||
|
2005-11-01 "SQUIRREL2_0_5_sqplus_5"
|
||
|
|
||
|
* Added Unicode support
|
||
|
|
||
|
|
||
|
2005-10-23 "SQUIRREL2_0_5_sqplus_4"
|
||
|
|
||
|
* Added gcc support:
|
||
|
- Added simple GNU Makefiles for gcc
|
||
|
- Minor code changes for gcc compilation
|
||
|
- Tested on RH Linux gcc 3.2.3, Cygwin gcc 3.4.4, and gcc on Sony PSP
|
||
|
(http://www.squirrel-lang.org/forums/420/ShowPost.aspx#420)
|
||
|
|
||
|
* Added ClassDef::enumInt() for registering enums as ints
|
||
|
(to replace ClassDef::constant((int)myEnum))
|
||
|
|
||
|
|
||
|
2005-10-14 "SQUIRREL2_0_5_sqplus_3"
|
||
|
|
||
|
* Added support for SquirrelObject as a function argument and return
|
||
|
value. Tables and arrays can be directly accessed without using
|
||
|
the stack. This also makes it possible to return tables, arrays,
|
||
|
classes, and closures for later use at runtime, saving look-up
|
||
|
overhead
|
||
|
|
||
|
* Added GetRet() for SquirrelFunction<> to ensure proper stack
|
||
|
behavior
|
||
|
|
||
|
* Added additional error return info to help with debugging
|
||
|
|
||
|
* Removed unused code
|
||
|
|
||
|
|