Compare commits

..
24 Commits
Author SHA1 Message Date
NovaRain 6f8b06e738 Updated version number and changelog 2024-09-15 12:45:07 +08:00
NovaRain 63965923a9 Fixed the behavior of game_loaded script function
(always returned 1 when called from normal scripts, closes #567)

- Revert the changes to ScriptExtender.cpp in commit 191beb8, and use
unordered_set instead of vector for caching script program pointers.
2024-09-10 09:49:43 +08:00
NovaRain 58b645a108 Fixed issues with picking Tag! or Mutate! perk if there are unused perks
* their windows keep reappearing when picking other perks, can cause
various issues or even crashes.
2024-09-01 12:21:34 +08:00
NovaRainandGitHub edb7673045 Merge pull request #566 from sfall-team/dependabot/bundler/docs/rexml-3.3.6
Bump rexml from 3.3.3 to 3.3.6 in /docs
2024-08-23 06:41:38 +08:00
dependabot[bot]andGitHub 4618afa404 Bump rexml from 3.3.3 to 3.3.6 in /docs
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.3 to 3.3.6.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.3...v3.3.6)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-22 20:47:05 +00:00
NovaRain c62aa261af Fixed object_fix_weapon_ammo_ engine function
(was incorrectly checking Misc "object" type instead of item subtype.)
2024-08-14 14:41:34 +08:00
NovaRainandGitHub 02a25a0e52 Merge pull request #563 from sfall-team/dependabot/bundler/docs/rexml-3.3.3
Bump rexml from 3.3.2 to 3.3.3 in /docs
2024-08-02 11:26:57 +08:00
dependabot[bot]andGitHub bf930d438a Bump rexml from 3.3.2 to 3.3.3 in /docs
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.2 to 3.3.3.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.2...v3.3.3)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 02:04:44 +00:00
NovaRain cfdb441dc4 Fixed the return value of using_skill script function
* if the arguments are not the player and SKILL_SNEAK, it returned
garbage values due to the uninitialized variable.
2024-07-31 20:12:29 +08:00
NovaRain 130eb7db77 Merge branch 'feature/restore-sneak-between-maps'
Minor edit to documents.
2024-07-31 08:21:41 +08:00
NovaRain 2c5e044296 Prevent RegisterHook() from registering placeholder hooks
Minor edits to code and documents.
2024-07-19 19:46:12 +08:00
VladandGitHub 9fdbacf4ca Added new HOOK_BUILDSFXWEAPON (#560)
* Hook for gsnd_build_weapon_sfx_name
* Fixed long name ACM crash in AutoSearchSFX
* Updated documents
2024-07-19 19:36:04 +08:00
phobos2077 87202bb124 Scripting headers: add material-related constants, minor lib extensions 2024-07-18 00:29:37 +02:00
NovaRain ec8f64a6cd Added a tweak to restore the sneak state when switching between maps
(can be overridden with map_enter/exit_p_proc in global scripts)
2024-07-16 23:20:27 +08:00
NovaRain 3d1de2c74a Fixed gh-pages build error 2024-07-16 20:50:34 +08:00
NovaRain 190ebc417b Prevent unnecessary toggling of the tags in show/hide_iface_tag 2024-07-16 10:43:45 +08:00
NovaRain 9dce219eb1 Updated version number
Minor code cosmetic edits.
2024-07-08 10:52:31 +08:00
phobos2077 f53fc1f751 Fix dangling pointer when using USE_HIRES_IMAGES and returning to main menu 2024-07-06 20:56:00 +02:00
phobos2077 92aab86b20 Don't use cache for loading HeroApp skilldex art (closes #555)
- It uses the same path every time but swaps dat files...
2024-07-06 20:36:10 +02:00
phobos2077 2daf5b8190 mf_string_format: fix inconsistent behavior of escaped percent character 2024-07-06 15:24:54 +02:00
NovaRain dc3537747f Reverted GameReset in LoadGameHook.cpp to pre-4.1.4 behavior
(when the engine's game_reset is called, sfall will reset modules as
well for consistency, closes #553)
2024-06-29 17:35:43 +08:00
phobos2077 d9b59107af Add v4.4.4 ru changelog 2024-06-29 11:30:34 +02:00
NovaRain b852d6f168 Added checks for OutlineColorContainers/Corpses in gl_highlighting
(same as OutlineColor, in case player set them to negative values.)

Updated resource files.
2024-06-28 21:12:54 +08:00
phobos2077 abd62dd834 gl_highlighting: separate colors for containers and corpses
- Items and corpses blending together can be an issue
2024-06-27 23:25:25 +02:00
40 changed files with 461 additions and 184 deletions
+19 -5
View File
@@ -1,6 +1,20 @@
# Changelog
## v4.4.4
## 4.4.5
* Fixed a bug introduced in 4.2.9 that caused `game_loaded` script function to always return 1 when called from normal scripts
* Fixed a bug introduced in 4.4.4 that caused the information card for the **hero appearance mod** not to refresh properly
* Fixed a crash bug in **AutoSearchSFX** when an **ACM** file has a name longer than 12 characters
* Fixed an issue with sfall not resetting data properly after attempting to load a corrupted saved game
* Fixed the inconsistent behavior of the escaped percent sign `%` in `sprintf` and `string_format` script functions
* Fixed `show/hide_iface_tag` script functions to prevent unnecessary toggling of tags
* Fixed `using_skill` script function returning garbage values when the arguments are not the player and Sneak skill
* Added a fix for the engine not checking **'misc'** type items when correcting data for items on maps
* Added a fix to prevent the windows of **Tag!** and **Mutate!** perks from reappearing when there are still unused perks
* Added a tweak to restore the player's sneak state when switching between maps
* Added options to **item highlighting mod** to separately set the color of outlines for highlighted containers and corpses
* New hook script: `hs_buildsfxweapon`
## 4.4.4
* Fixed a bug in **NPCsTryToSpendExtraAP** that caused NPCs to still be able to move in their combat turn after they killed themselves
* Fixed a bug in **PlayIdleAnimOnReload** that could cause critters to lose highlights after reloading weapons in combat
* Fixed a crash bug in `interface_art_draw` script function when drawing beyond window bounds
@@ -225,7 +239,7 @@
* Added a config file to change some engine parameters for the game mechanics
* Added the ability to continuously play the music when moving to another map that uses the same music
* Added the ability to set custom names for unarmed attacks in the inventory to **TranslationsINI**
* Added support for using the newline control character `'\n'` in the object description in `pro_*.msg` files
* Added support for using the newline control character `\n` in the object description in `pro_*.msg` files
* Added support for the new **'Healing Item'** flag to item protos. Now AI will also use items with this flag for healing in combat
* Added support for the new **'Cannot Use'** flag to the misc flags of item objects. This flag makes a weapon object unusable in combat
* Added missing sounds for the buttons on the world map interface (similar to Fallout 1 behavior)
@@ -450,14 +464,14 @@
* Fixed the timing of setting `WORLDMAP`, `DIALOG`, `PIPBOY`, `INVENTORY`, `INTFACEUSE`, and `INTFACELOOT` game mode flags
* Fixed the execution of the timer event in global scripts
* Fixed the palette and the movie playback in **DX9** mode
* Improved the functionality of `create_message_window` script function to support the newline control character `'\n'`
* Improved the functionality of `create_message_window` script function to support the newline control character `\n`
* Removed **TownMapHotkeysFix** and **DisplaySecondWeaponRange** from `ddraw.ini` because there is little reason to turn them off
* Added a fix for duplicate critters being added to the list of potential targets for AI
* Added a fix for the playback of the speech sound file for the death screen being ended abruptly in some cases
* Added a fix for the barter button on the dialog window not animating until after leaving the barter screen
* Added a fix for the division operator treating negative integers as unsigned
* Added a fix for trying to loot corpses with the **'NoSteal'** flag set
* Added an option to allow using the caret character `'^'` in dialog msg files to specify alternative text in dialogue based on the player's gender
* Added an option to allow using the caret character `^` in dialog msg files to specify alternative text in dialogue based on the player's gender
* Added options to draw a dotted line while traveling on the world map (similar to Fallout 1, from Ghosthack)
* Added an option to display terrain types when hovering the cursor over the player's marker on the world map (from Ghosthack)
* Added a flashing icon to the Horrigan encounter and scripted force encounters by default
@@ -1035,4 +1049,4 @@ Original engine bug fixes and various features based on the work by Crafty:
* Added an option to allow 9 options (lines of text) to be displayed correctly in the dialog window
* Added an option to display additional points of damage from **Bonus HtH/Ranged Damage** perks in the inventory
__For changelogs prior to 3.7, please read the `sfall-readme.txt` in the [release files](https://github.com/sfall-team/sfall/releases).__
__For changelogs prior to version 3.7, please refer to the `sfall-readme.txt` in the [release files](https://github.com/sfall-team/sfall/releases).__
+7 -1
View File
@@ -15,7 +15,7 @@ Critters=0
; Set to 1 to only highlight objects in the player's line-of-sight
CheckLOS=1
; Set the color of outlines for items, corpses, and containers; available colors:
; Set the color of outlines for items; available colors:
; 1 - glowing red
; 2 - red
; 4 - grey
@@ -26,6 +26,12 @@ CheckLOS=1
; You can set a custom color from the game palette by multiplying the color index value by 256 (in 4.2.7 or later)
OutlineColor=16
; Set the color of outlines for containers
OutlineColorContainers=4
; Set the color of outlines for corpses
OutlineColorCorpses=4
; Motion Scanner mode:
; 0 - ignored
; 1 - requires Motion Sensor to be present in the player's inventory to activate highlighting
+1 -1
View File
@@ -1,5 +1,5 @@
;sfall configuration settings
;v4.4.4
;v4.4.5
[Main]
;Set to 1 to enable the built-in High Resolution Patch mode that is similar to the hi-res patch by Mash
Binary file not shown.
+13 -1
View File
@@ -15,7 +15,7 @@
NOTE: this script requires compiler from sfall modderspack with -s option
(short circuit evaluation)
version 1.2
version 1.3
**/
@@ -36,6 +36,8 @@ variable alsoCorpse;
variable alsoCritter;
variable checkLOS;
variable outlineColor;
variable outlineColorContainers;
variable outlineColorCorpses;
variable motionScanner;
variable highlightFailMsg1;
variable highlightFailMsg2;
@@ -65,6 +67,12 @@ procedure GetOutlineColor(variable obj, variable isCritter) begin
if checkLOS and not DudeCanSee(obj) then
return 0;
if obj_type(obj) == OBJ_TYPE_CRITTER then
return outlineColorCorpses;
if obj_item_subtype(obj) == item_type_container then
return outlineColorContainers;
return outlineColor;
end
@@ -166,6 +174,10 @@ procedure start begin
checkLOS := GetConfig(configSection, "CheckLOS", 0);
outlineColor := GetConfig(configSection, "OutlineColor", 16);
if (outlineColor < 1) then outlineColor := 64;
outlineColorContainers := GetConfig(configSection, "OutlineColorContainers", 16);
if (outlineColorContainers < 1) then outlineColorContainers := 64;
outlineColorCorpses := GetConfig(configSection, "OutlineColorCorpses", 16);
if (outlineColorCorpses < 1) then outlineColorCorpses := 64;
motionScanner := GetConfig(configSection, "MotionScanner", 0);
highlightFailMsg1 := Translate("HighlightFail1", "You aren't carrying a motion sensor.");
+1 -1
View File
@@ -702,7 +702,7 @@
opcode: 0x8236
- name: party_member_list
detail: array party_member_list(int includeHidden)
doc: Returns an array of all current party members (0 - only critter-type, alive and visible will be returned, 1 - all object, including Trunk, etc.)
doc: Returns an array of all current party members (0 - only critters that are alive and visible will be returned, 1 - all objects, including the car trunk, etc.)
opcode: 0x8271
- name: Explosions
@@ -306,6 +306,22 @@
#define PROTO_CR_AI_PACKET (408)
#define PROTO_CR_TEAM_NUM (412)
// scenery
#define PROTO_SC_MATERIAL (44)
// walls
#define PROTO_WL_MATERIAL (32)
// material types
#define MATERIAL_TYPE_GLASS (0)
#define MATERIAL_TYPE_METAL (1)
#define MATERIAL_TYPE_PLASTIC (2)
#define MATERIAL_TYPE_WOOD (3)
#define MATERIAL_TYPE_DIRT (4)
#define MATERIAL_TYPE_STONE (5)
#define MATERIAL_TYPE_CEMENT (6)
#define MATERIAL_TYPE_LEATHER (7)
// weapon calibers
#define CALIBER_NONE (0)
#define CALIBER_ROCKET (1)
+12 -4
View File
@@ -554,14 +554,14 @@ procedure array_transform_kv(variable arr, variable keyFunc, variable valueFunc)
end
/**
* Converts given array into a new map where keys are array values and all values are 1.
* Converts given array into a new map where keys are array values and all values are set to specified value.
* @arg {array} arr
* @ret {array}
*/
procedure array_to_set(variable arr) begin
procedure array_to_set(variable arr, variable value := 1) begin
variable v, retArr := temp_array_map;
foreach (v in arr) begin
retArr[v] := 1;
retArr[v] := value;
end
return retArr;
end
@@ -641,7 +641,7 @@ procedure array_fill(variable arr, variable pos, variable count, variable value)
end
/**
* Adds all the values of the second array to the first array.
* Adds all the values of the second array to the first array. If arr1 is a map then for values with same keys, values from arr2 will take priority.
* @arg {array} arr1
* @arg {array} arr2
* @ret {array} - the first array after modification
@@ -661,6 +661,14 @@ procedure array_append(variable arr1, variable arr2) begin
return arr1;
end
/**
* Creates a new temp array with all values from arr1 and arr2. If arr1 is a map then for values with same keys, values from arr2 will take priority.
* @arg {array} arr1
* @arg {array} arr2
* @ret {array} - the created temp array
*/
#define array_concat(arr1, arr2) array_append(clone_array(arr1), arr2)
/**
* Loads a "saved" array. If it doesn't exist, creates it (with a given size).
* @arg {string} name - saved array name/key
+20 -52
View File
@@ -65,6 +65,21 @@ procedure unwield_armor(variable critter) begin
end
end
/**
* Makes critter put away given item if it's in armor or any item/weapon slot.
* @arg {ObjectPtr} critter
* @arg {ObjectPtr} item
*/
procedure inven_unwield_item(variable critter, variable item) begin
if (obj_type(critter) != OBJ_TYPE_CRITTER) then return;
if (critter_inven_obj(critter, INVEN_TYPE_WORN) == item) then begin
call unwield_armor(critter);
end else if ((critter_inven_obj(critter, INVEN_TYPE_LEFT_HAND) == item) or (critter_inven_obj(critter, INVEN_TYPE_RIGHT_HAND) == item)) then begin
inven_unwield(critter);
end
end
/**
* Removes items of given pid from given object's inventory. Returns number of actually removed items.
* @arg {ObjectPtr} invenObj - obj to remove items from
@@ -86,13 +101,7 @@ procedure remove_items_pid(variable invenObj, variable itemPid, variable quantit
toRemoveQty := quantity;
while (quantity > 0) do begin
item := obj_carrying_pid_obj(invenObj, itemPid);
if (obj_type(invenObj) == OBJ_TYPE_CRITTER) then begin
if (critter_inven_obj(invenObj, INVEN_TYPE_WORN) == item) then begin
call unwield_armor(invenObj);
end else if ((critter_inven_obj(invenObj, INVEN_TYPE_LEFT_HAND) == item) or (critter_inven_obj(invenObj, INVEN_TYPE_RIGHT_HAND) == item)) then begin
inven_unwield(invenObj);
end
end
call inven_unwield_item(invenObj, item);
quantity -= rm_mult_objs_from_inven(invenObj, item, quantity);
destroy_object(item);
end
@@ -100,19 +109,14 @@ procedure remove_items_pid(variable invenObj, variable itemPid, variable quantit
end
/**
* Remove the whole stack of a given *item* object from *invenObj* inventory.
* Remove one item from a given *item* stack object from *invenObj* inventory.
* For a critter, this will correctly remove item from armor/hand slot, if it is equipped.
* Note that *item* pointer will be invalid after this.
* @arg {ObjectPtr} invenObj - obj to remove from
* @arg {ObjectPtr} item - item (stack) object to remove
*/
procedure remove_item_obj(variable invenObj, variable item) begin
if (obj_type(invenObj) == OBJ_TYPE_CRITTER) then begin
if (critter_inven_obj(invenObj,INVEN_TYPE_WORN) == item) then begin
call unwield_armor(invenObj);
end else if ((critter_inven_obj(invenObj, INVEN_TYPE_LEFT_HAND) == item) or (critter_inven_obj(invenObj, INVEN_TYPE_RIGHT_HAND) == item)) then begin
inven_unwield(invenObj);
end
end
call inven_unwield_item(invenObj, item);
rm_obj_from_inven(invenObj, item);
destroy_object(item);
end
@@ -136,7 +140,7 @@ end
/**
* Ensures a given *quantity* of *itemPid* in *invenObj* inventory, adding or removing items as necessary.
* @arg {ObjectPtr} invenObj - obj to add/remove items to/from
* @arg {int} itemPid - PID of item to remove
* @arg {int} itemPid - PID of item to add/remove
* @arg {int} quantity
*/
procedure set_items_qty_pid(variable invenObj, variable itemPid, variable quantity)
@@ -154,42 +158,6 @@ begin
end
end
/**
* Removes money and items from a *critter*'s inventory, using provided probabilities (applied to whole stacks, not individual items).
* Useful for reducing loot of merchants after death.
* @arg {ObjectPtr} critter
* @arg {int} moneyPercent - Percent of money to remove.
* @arg {int} probArmor - % probability to remove armor.
* @arg {int} probDrugs - % probability to remove drugs.
* @arg {int} probWeapons - % probability to remove weapons.
* @arg {int} probAmmo - % probability to remove ammo.
* @arg {int} probMisc - % probability to remove misc item.
*/
procedure reduce_merchant_loot(variable critter, variable moneyPercent, variable probArmor, variable probDrugs, variable probWeapons, variable probAmmo, variable probMisc) begin
variable inv, item, it, prob, tmp;
inv := inven_as_array(critter);
item_caps_adjust(critter, -(item_caps_total(critter) * moneyPercent / 100));
//display_msg("total items "+len_array(inv));
foreach item in inv begin
if (obj_pid(item) != PID_BOTTLE_CAPS) then begin
it := obj_item_subtype(item);
if (it == item_type_armor) then
prob := probArmor;
else if (it == item_type_drug) then
prob := probDrugs;
else if (it == item_type_weapon) then
prob := probWeapons;
else if (it == item_type_ammo) then
prob := probAmmo;
else
prob := probMisc;
if (random(0, 99) < prob) then begin
//display_msg("remove "+obj_name(item));
call remove_all_items_pid(critter, obj_pid(item));
end
end
end
end
/**
* Returns item in one of *critter*'s hand slots using given attack type.
+2
View File
@@ -76,6 +76,8 @@
#define HOOK_ROLLCHECK (46)
#define HOOK_BESTWEAPON (47)
#define HOOK_CANUSEWEAPON (48)
// RESERVED 49..60
#define HOOK_BUILDSFXWEAPON (61)
// Valid arguments to list_begin
#define LIST_CRITTERS (0)
+19
View File
@@ -819,3 +819,22 @@
int ret0 - overrides the result of engine function. Any non-zero value allows using the weapon
```
- name: BuildSfxWeapon
id: HOOK_BUILDSFXWEAPON
doc: |
Runs before each weapon sound effect is played or added to the animation queue to determine the name of the sound effect file based on the weapon, target, and action being performed.
```
int arg0 - weapon sound effect type:
0 - ready/reload
1 - attack
2 - out of ammo
3 - flying (for projectiles from weapons)
4 - hit
Item arg1 - the weapon being used
int arg2 - attack type (see ATKTYPE_* constants)
Obj arg3 - the target of the attack (can be 0)
String ret0 - the filename of the new sound effect to use, without extension (relative to the sound\sfx\ directory)
```
+20
View File
@@ -936,3 +936,23 @@ int arg3 - original result of engine function: 1 - can use, 0 - cannot use
int ret0 - overrides the result of engine function. Any non-zero value allows using the weapon
```
-------------------------------------------
#### `HOOK_BUILDSFXWEAPON (hs_buildsfxweapon.int)`
Runs before each weapon sound effect is played or added to the animation queue to determine the name of the sound effect file based on the weapon, target, and action being performed.
```
int arg0 - weapon sound effect type:
0 - ready/reload
1 - attack
2 - out of ammo
3 - flying (for projectiles from weapons)
4 - hit
Item arg1 - the weapon being used
int arg2 - attack type (see ATKTYPE_* constants)
Obj arg3 - the target of the attack (can be 0)
String ret0 - the filename of the new sound effect to use, without extension (relative to the sound\sfx\ directory)
```
+1 -1
View File
@@ -450,7 +450,7 @@ FUNCTION REFERENCE
-----
##### `array party_member_list(int includeHidden)`
- Returns an array of all current party members (0 - only critter-type, alive and visible will be returned, 1 - all object, including Trunk, etc.)
- Returns an array of all current party members (0 - only critters that are alive and visible will be returned, 1 - all objects, including the car trunk, etc.)
-----
##### `array path_find_to(object objFrom, int tileTo, int blockingType)`
Binary file not shown.
Binary file not shown.
Binary file not shown.
+32
View File
@@ -0,0 +1,32 @@
# Список изменений
## v4.4.4
* Исправлена ​​ошибка в **NPCsTryToSpendExtraAP**, из-за которой неигровые персонажи все еще могли двигаться в свой боевой ход после того, как они покончили с собой.
* Исправлена ​​ошибка в **PlayIdleAnimOnReload**, из-за которой существа теряли обводку после перезарядки оружия в бою.
* Исправлено падение в функции `interface_art_draw` при рисовании за пределами окна.
* Исправлены отсутствующие горячие клавиши для дополнительных лифтов, созданных на основе исходных типов лифтов.
* Исправлен и улучшен анализ синтаксиса в компиляторе скриптов (compile.exe в пакете моддеров).
* Улучшено использования английского языка в качестве резервного для файлов msg: добавлена построчная обработка.
* Улучшено исправление сохранения/загрузки прототипов членов группы, включив багажник автомобиля.
* Улучшена производительность функций `draw_image`, `draw_image_scaled` и `interface_art_draw`.
* Расширены функции скрипта `show/hide_iface_tag` для работы со значением тега 0 (скрытность).
* Изменен расширенный интерфейс карты мира для совместимости со старыми версиями патча высокого разрешения.
* Изменена расширенная панель очков действий для экономии ресурсов и совмести с разными версиями основной панели интерфейса.
* **AIDrugUsePerfFix** включен по умолчанию.
* Изменено поведение параметра **NPCAutoLevel** и переименовано в **PartyMemberNonRandomLevelUp**, чтобы лучше соответствовать его поведению.
* Убрано ненужное сообщение об ошибке sndlist.lst, когда **AutoSearchSFX** включен.
* Добавлено исправление интервала лечения во время путешествия по карте мира: по умолчанию оно привязанно к системному таймеру вместо игрового времени.
* Добавлено исправление панели интерфейса, скрывающей интерфейс бартера/обмена при использовании патча высокого разрешения.
* Добавлена ​​предотвращение остановки "вечных" анимаций на объектах при входе в бой.
* Добавлена ​​опция использовать расширенный интерфейс бартера/торговли (4 слота для предметов на стол вместо 3).
* Добавлена ​​опция использовать расширенные экраны инвентаря/добычи (8 вертикальных слотов вместо 6).
* Добавлена ​​опция предварительного заполнения окна выбора количества предметов балансирующей суммой при перемещении денег/крышек на экране бартера.
* Добавлена ​​настройка клавиши, позволяющей перемещать предметы между списками инвентаря, просто кликая на них.
* Добавлены параметры для настройки размера и шрифта текста для внутреннего окна отладки.
* В ini-файл способностей добавлена ​​возможность настройки способности «Осторожность».
* Добавлена возможность получения идентификатора окна в функцию `get_window_attribute`.
* Добавлен флаг игрового режима `PAUSEWIN` (при приостановке игры по Ctrl+P).
* Добавлено 2 новых аргумента в крючёк `HOOK_ENCOUNTER`.
* В примеры модов в пакете моддеров добавлен скрипт меняющий навыки лечения.
* Новые функции скриптов: `signal_close_game`, `art_frame_data`, `set_worldmap_heal_time`.
+3
View File
@@ -25,3 +25,6 @@ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.0" if Gem.win_platform?
# Fix build error
gem "logger", "~> 1.5.3"
+39 -60
View File
@@ -1,54 +1,36 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (6.1.7.5)
activesupport (6.0.6.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.23.10)
concurrent-ruby (1.1.9)
dnsruby (1.61.9)
simpleidn (~> 0.1)
concurrent-ruby (1.3.3)
dnsruby (1.72.2)
simpleidn (~> 0.2.1)
em-websocket (0.5.3)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0)
ethon (0.15.0)
ethon (0.16.0)
ffi (>= 1.15.0)
eventmachine (1.2.7)
execjs (2.8.1)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
ffi (1.15.5)
execjs (2.9.1)
faraday (2.10.0)
faraday-net_http (>= 2.0, < 3.2)
logger
faraday-net_http (3.1.0)
net-http
ffi (1.17.0)
forwardable-extended (2.6.0)
gemoji (3.0.1)
github-pages (225)
@@ -222,34 +204,33 @@ GEM
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.1)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.5.3)
mercenary (0.3.6)
mini_portile2 (2.8.6)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.15.0)
multipart-post (2.1.1)
nokogiri (1.16.5)
mini_portile2 (~> 2.8.2)
minitest (5.24.1)
net-http (0.4.1)
uri
nokogiri (1.16.6-x86_64-linux)
racc (~> 1.4)
octokit (4.22.0)
faraday (>= 0.9)
sawyer (~> 0.8.0, >= 0.5.3)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
racc (1.7.3)
rb-fsevent (0.11.1)
rb-inotify (0.10.1)
public_suffix (4.0.7)
racc (1.8.0)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rexml (3.2.8)
strscan (>= 3.0.9)
rexml (3.3.6)
strscan
rouge (3.26.0)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
safe_yaml (1.0.5)
sass (3.7.4)
@@ -257,34 +238,32 @@ GEM
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.2)
sawyer (0.9.2)
addressable (>= 2.3.5)
faraday (> 0.8, < 2.0)
simpleidn (0.2.1)
unf (~> 0.1.4)
faraday (>= 0.17.3, < 3)
simpleidn (0.2.3)
strscan (3.1.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.4.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (1.2.10)
tzinfo (1.2.11)
thread_safe (~> 0.1)
unf (0.1.4)
unf_ext
unf_ext (0.0.8)
unicode-display_width (1.8.0)
zeitwerk (2.5.4)
uri (0.13.0)
zeitwerk (2.6.16)
PLATFORMS
ruby
x86_64-linux
DEPENDENCIES
github-pages (~> 225)
jekyll-analytics
jekyll-feed (~> 0.6)
jekyll-remote-theme
logger (~> 1.5.3)
tzinfo-data
BUNDLED WITH
2.1.4
2.3.5
@@ -123,6 +123,7 @@ FUNC(GNW_text_width_, 0x4D5B60)
FUNC(GNW_win_refresh_, 0x4D6FD8)
FUNC(GameMap2Slot_, 0x47F510)
FUNC(GetComment_, 0x47ED5C)
FUNC(GetMutateTrait_, 0x43D38C)
FUNC(GetSlotList_, 0x47E5D0)
FUNC(IncGamma_, 0x4928E4)
FUNC(Index2RGB_, 0x4C72D5)

Some files were not shown because too many files have changed in this diff Show More