mirror of
https://github.com/sfall-team/sfall.git
synced 2026-07-27 16:52:34 -07:00
Further simplification of the previous commit
Updated sslc_readme.md.
This commit is contained in:
+1
-1
@@ -238,7 +238,7 @@ OutlineColor=16
|
|||||||
;Set to 0 if you don't want a reload key, or a DX scancode otherwise
|
;Set to 0 if you don't want a reload key, or a DX scancode otherwise
|
||||||
ReloadWeaponKey=0
|
ReloadWeaponKey=0
|
||||||
|
|
||||||
;A key to hold down to let you move/drop a whole stack of items at once without the 'Move Items' window
|
;A key to hold down to let you move/drop an entire stack of items at once without the 'Move Items' window
|
||||||
;Set to 0 if you don't want a fast move key, or a DX scancode otherwise
|
;Set to 0 if you don't want a fast move key, or a DX scancode otherwise
|
||||||
ItemFastMoveKey=42
|
ItemFastMoveKey=42
|
||||||
|
|
||||||
|
|||||||
@@ -287,7 +287,7 @@ Syntax which requires sfall for compiled scripts to be interpreted is marked by
|
|||||||
```
|
```
|
||||||
__NOTE:__ When using incremental operators like `+=`, `*=`, `++`, `--` compiler will use additional temp variable to get an array at penultimate level in order to avoid making the same chain of `get_array` calls twice.
|
__NOTE:__ When using incremental operators like `+=`, `*=`, `++`, `--` compiler will use additional temp variable to get an array at penultimate level in order to avoid making the same chain of `get_array` calls twice.
|
||||||
|
|
||||||
- (*) `foreach` loops: A shorthand method of looping over all elements in an array. Syntax is `foreach (<symbol> in <expression>)`.
|
- (*) `foreach` loops: A shorthand method of looping over all elements in an array. Syntax is `foreach (<symbol> in <expression>)`. You can declare variables in place by adding the `variable` keyword before the symbol name.
|
||||||
- new:
|
- new:
|
||||||
```
|
```
|
||||||
procedure bingle begin
|
procedure bingle begin
|
||||||
@@ -348,6 +348,14 @@ There are several changes in this version of sslc which may result in problems f
|
|||||||
|
|
||||||
### Changelog
|
### Changelog
|
||||||
|
|
||||||
|
**sfall 4.4.4:**
|
||||||
|
- fixed stringified procedure names shifting when the same name is called more than once
|
||||||
|
- syntax improvements:
|
||||||
|
- `foreach`: allow to declare variables for key & value header
|
||||||
|
- `foreach`: allow to use expressions after `in` that start with a symbol without mandatory parentheses
|
||||||
|
- variables: allow to declare variables anywhere a statement is expected
|
||||||
|
- expressions: display useful error messages when an expression is expected but nothing is parsed
|
||||||
|
|
||||||
**sfall 4.4:**
|
**sfall 4.4:**
|
||||||
- fixed compiler crash when trying to define an exported procedure with variables
|
- fixed compiler crash when trying to define an exported procedure with variables
|
||||||
- fixed compiler giving "symbol or string expected" error when trying to call procedure using a string literal
|
- fixed compiler giving "symbol or string expected" error when trying to call procedure using a string literal
|
||||||
|
|||||||
@@ -507,8 +507,8 @@ notDude:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// replace vanilla anim_stop_ function in combat_begin_
|
||||||
static void __fastcall StopAnimationAtCombatStart() {
|
static void __stdcall combat_begin_anim_stop_hook() {
|
||||||
*fo::ptr::anim_in_anim_stop = true;
|
*fo::ptr::anim_in_anim_stop = true;
|
||||||
*fo::ptr::curr_anim_set = -1;
|
*fo::ptr::curr_anim_set = -1;
|
||||||
|
|
||||||
@@ -522,12 +522,6 @@ static void __fastcall StopAnimationAtCombatStart() {
|
|||||||
fo::func::object_anim_compact();
|
fo::func::object_anim_compact();
|
||||||
}
|
}
|
||||||
|
|
||||||
static __declspec(naked) void combat_begin_anim_stop_hook() {
|
|
||||||
__asm {
|
|
||||||
jmp StopAnimationAtCombatStart;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ApplyAnimationsAtOncePatches(signed char aniMax) {
|
static void ApplyAnimationsAtOncePatches(signed char aniMax) {
|
||||||
//allocate memory to store larger animation struct arrays
|
//allocate memory to store larger animation struct arrays
|
||||||
sf_anim_set.resize(aniMax + 1); // include a dummy
|
sf_anim_set.resize(aniMax + 1); // include a dummy
|
||||||
|
|||||||
Reference in New Issue
Block a user