{{tag>type:hex_edit}} ====== ZZT 4.1 (Unofficial) ====== ZZT 4.1 is a hex edit of ZZT 3.2 created by WiL for widespread use. Unfortunately, the publicly available version of ZZT 4.1 is an unfinished build: >4.1 is almost certainly bad. The version of zzt 4.1 that was uploaded was from the wrong folder, wrong exe. An oversight I realized too late. This version of the executable was released on May 12th, 2012. ===== Launching ===== While there is nothing stopping this ZZT hex edit from running on pre-80386 machines - including Zeta - at face value, it has been compressed with UPX without enabling the ''--8086'' flag; as such, to run it on an 8086/80186/80286-class machine or Zeta, it must be decompressed first with ''upx -d''. ===== Documentation ===== >The final release in the ZZT 4.x series > >Released during the Glorious Trainwrecks' Glorious Weekend of ZZT Blitzkrieg-o-thon 5/11/2012. > >* ZZT's 20k board limit has been increased to 65k. >* ZZT's bottom-row placement bug has been fixed. >* ZZT is now 39k. >* untitled.zzt, temp.brd, and saved.sav will no longer be the default. Now by default you must put in a name of your own. This means no more angst over accidentally saving over your last board, saved game, or ZZT project. >* 255 objects per board, 255 boards per zzt world. >* Removed most in-game messages and sound effects. Kept the item pick-up messages and the invisible wall sound and message. >* The game no longer crashes if your cursor accidentally wanders off the board when using f4 in the editor. (If you continue typing off into oblivion, though, it will still crash) ===== Changes ===== Examining the actual changes made seems to confirm WiL's words - most of the documented changes are not present in the binary. ==== Functional ==== * The IoTmpBuf allocation calls have been patched to allocate a size of 0xFF80 (65408) rather than 0x4E20 (20000) bytes (offset 0x2387, 0x23E8). * The flag name SECRET is replaced with REMOVE (offset 0x9651). * The ''Y < 25'' requirement from OopExecute's #PUT handling is replaced with ''Y < 26'', fixing the #PUT bottom row bug (offset 0xC9E1). * The yellow border tile definition is replaced with a white-on-black Empty (offset 0x175FE). ==== Branding ==== ^ Description ^ Location ^ Original string ^ Modified string ^ | Configuration screen, second line (shareware) | 0x1C44 | ''Shareware version 3.2''' | ''New! ZZT Version 4.1'' | | Configuration screen, second line (registered) | 0x1C7A | ''%%Version%%(nbsp)(nbsp)%%3.2%%'' | ''%%Version%%(nbsp)(nbsp)%%4.1%%'' | | Copyright notice | 0x1CA9 | ''%%Created by Tim Sweeney%%'' | ''By Tim Sweeney and WiL'' | | Copyright notice | 0x1D42 | ''Copyright %%(c)%% 1991 Epic MegaGames'', ''Press %%...%% to abort''' | ''Public Domain since 1997.(nbsp)(nbsp)ZZT 4.0 released in 2004'', ''(nbsp)(nbsp)(nbsp)(nbsp)(nbsp)(nbsp)%%...%% to quit(nbsp)''' | | Shutdown notice (registered) | 0x217F | ''(nbsp)%%Registered version -- Thank you for playing ZZT.%%'' | ''ZZT 4.0'' | ==== Graphics/Names ==== ^ Description ^ Location ^ Original string ^ Modified string ^ | Default save filename | 0x2173 | ''SAVED'' | Empty (length set to 0) | | Default exported board filename | 0x2179 | ''TEMP'' | Empty (length set to 0) | | Water hit message | 0x5F45 | ''Your way is blocked by water.'' | Empty (length set to 0) | | Editor board name prompt | 0x7AC0 | ''Room's Title:'', ''Board Name:'' (length edited) | | Editor - empty board name | 0x80CA | '' Untitled '' | Empty (length set to 0) | | Sidebar - default world name | 0x109C1 | ''Untitled'' | Empty (length set to 0) | ==== Sounds ==== ^ Description ^ Location ^ Original ^ Modified ^ Comment ^ | Water step sound | 0x5F40 | #64#1#80#1 | Empty (length set to 0) | | | Cheat console sound | 0x10635 | #39#4 | Empty (length set to 0) | | ===== Links ===== * [[https://museumofzzt.com/file/z/zzt41_w.zip|Download]]