Removed AllowLargeTiles option

* Originally, its goal was to bypass the tile FRM limit and save
people's time from splitting tiles. But no one has really used this
option since sfall 2.0 (no bug reports about being broken for many
years). And boosting the limit to 16383 should practically solve the
first goal.

* In the end the option doesn't really do what its name suggests and is
completely unused. Its tile auto-splitting function is also not very
practical.
This commit is contained in:
NovaRain
2026-04-02 11:47:12 +08:00
parent 5c4b1ffea1
commit cc61526f69
3 changed files with 15 additions and 21 deletions
-5
View File
@@ -477,11 +477,6 @@ SkipOpeningMovies=0
;Set to 0 to disable
NPCsTryToSpendExtraAP=0
;Allows the use of tiles over 80x36 in size. sfall will just split and resave them to art\tiles\zzz####.frm at startup
;Set to 1 to check all tiles on started (slow, but can also be useful for checking the correct size of your new tiles)
;Set to 2 if you provide a XLtiles.lst file in art\tiles\ containing a list of the tile indexes that need checking
AllowLargeTiles=0
;Set to 1 to boost the maximum number of tile FRMs from 4096 to 16383
;This option is always enabled in 4.3.7/3.8.37 or later and cannot be disabled (kept for reference only)
MoreTiles=1
+15 -15
View File
@@ -21,7 +21,7 @@
#include "..\main.h"
#include "..\FalloutEngine\Fallout2.h"
#include "..\Utils.h"
//#include "..\Utils.h"
//#include "FileSystem.h"
#include "Tiles.h"
@@ -29,7 +29,7 @@
namespace sfall
{
typedef int (__stdcall *functype)();
//typedef int (__stdcall *functype)();
static const DWORD Tiles_0E[] = {
0x484255, 0x48429D, // square_reset_
@@ -57,7 +57,7 @@ static const DWORD Tiles_C0[] = {
0x48424E, 0x484296, 0x484372, 0x48A88D, 0x48A892, 0x4B222C, 0x4B236F,
0x4B247B, 0x4B2A77, 0x4B2BD5,
};
/*
#pragma pack(push, 1)
struct TilesData {
short tile[2];
@@ -267,7 +267,7 @@ end:
retn;
}
}
*/
static __declspec(naked) void art_id_hack() {
using namespace fo;
__asm {
@@ -299,11 +299,11 @@ end:
}
void Tiles::init() {
if (tileMode = IniReader::GetConfigInt("Misc", "AllowLargeTiles", 0)) {
dlogr("Applying allow large tiles patch.", DL_INIT);
HookCall(0x481D72, iso_init_hook);
HookCall(0x48434C, square_load_hook);
}
// if (tileMode = IniReader::GetConfigInt("Misc", "AllowLargeTiles", 0)) {
// dlogr("Applying allow large tiles patch.", DL_INIT);
// HookCall(0x481D72, iso_init_hook);
// HookCall(0x48434C, square_load_hook);
// }
//if (IniReader::GetConfigInt("Misc", "MoreTiles", 1)) {
dlogr("Applying tile FRM limit patch.", DL_INIT);
@@ -320,11 +320,11 @@ void Tiles::init() {
//}
}
void Tiles::exit() {
if (overrides) {
for (size_t i = 0; i < origTileCount; i++) delete overrides[i]; // free OverrideEntry
delete[] overrides;
}
}
//void Tiles::exit() {
// if (overrides) {
// for (size_t i = 0; i < origTileCount; i++) delete overrides[i]; // free OverrideEntry
// delete[] overrides;
// }
//}
}
-1
View File
@@ -27,7 +27,6 @@ class Tiles : public Module {
public:
const char* name() { return "Tiles"; }
void init();
void exit() override;
};
}