![]() |
Show Changes |
![]() |
|
![]() |
Recent Changes |
![]() |
Subscriptions |
![]() |
Lost and Found |
![]() |
Find References |
![]() |
Rename |
![]() |
Administration Page |
![]() |
Topic Locks |
| Search |
History
| 12/19/2008 11:19:37 AM |
| -71.112.6.89 |
| 12/18/2008 12:00:44 PM |
| -98.247.137.70 |
| 12/18/2008 11:47:00 AM |
| -98.247.137.70 |
| 7/8/2008 4:47:44 PM |
| -91.149.37.227 |
| 4/28/2008 2:21:35 PM |
| -90.224.58.148 |
![]() |
List all versions |
This patch adds the ability to interrpt or suspend a long running script. If suspended, the script can be resumed with standard API at a later point.
One can also do some application work (like driving a C++ GUI) inside the app QuerySuspend function.
Diff file (against Squirrel 2.5 work sources): QuerySuspend.p0
Source files: QuerySuspend.zip
How to use:
int SQMyQuerySuspend( SQVM *vm ){
if( /* too long time */ ){
return SQ_QUERY_BREAK;
// or return SQ_QUERY_SUSPEND;
}
/* Do some processing / nothing */
return SQ_QUERY_CONTINUE;
}
// In init section
SQVM *vm = /* from somewhere */;
vm->SetQuerySuspendFn( SQMyQuerySuspend );
// ... continue
The patch modifies squirrel so that strings are stored with UTF8 encoding internally. This is useful particularly on Unix systems where sizeof(wchar_t)==4.
Apply to your sources and define SQUTF8 to activate it when building.
Patch file: squtf8.patch
Allows you to perform endian-swapping to your byte-code. Primary benefit is for offline byte-code generation happening on a PC, and then loading on a console with a different endianness.
How to use:
// store previous endian-swapping state SQBool savedState = sq_getendianswapenabled(); // enable endian-swapping prior to calling sq_writeclosure sq_endianswapenable(SQTrue); // now write closure, as normal sq_writeclosure(...); // reset endian-swapping state to previous sq_endianswapenable(savedState);
Zip file with modified source files and corresponding diffs (Squirrel 2.2): EndianSwapping.zip