dMZX Forums: Built-in counter maximum versions and dynamic built-in counter list. -> MegaZeux Feature Requests -> Tracker

Jump to content

Report ID 845 Title Built-in counter maximum versions and dynamic built-in counter list.
Product MegaZeux Feature Requests Status Approved (Severity 1 - Low)
Version 2.93 Fixed in -

Page 1 of 1
  • Cannot start a new Issue
  • You cannot reply to this issue

Report ID #845: Built-in counter maximum versions and dynamic built-in counter list.

#1 User is offline  
Lachesis 

  • the pinnacle of human emotion
  • Group: DigiStaff
  • Posts: 3,943
  • Joined: 17-July 04
  • Gender:Female
  • Location:Sealand

Posted 27 April 2024 - 07:06 AM

Assigning maximum versions to built-in counters and allowing multiple instances of the same counter in the built-in counters list may potentially fix the following bugs without affecting performance:
  • Trashman Dan relies on old MZX versions treating string chars as signed 8-bit values (add $string* for 2.62 until 2.80; version lock $* to >=2.80).
  • Weeding out the Bad Plants (404) relies on MZXak robot targeting, which may be able to be reimplemented and version locked using spare local counters.
  • Global Death (34129) relies on MZXak math counters that were also removed.
  • Nobo's Airship Engine and Nobo's Airship Engine v2 rely on PLAYERX and PLAYERY being overwritten with a normal counter. This affects numerous read-only built-in counters prior to 2.6, where the counter list check was permanently moved to the end of get_counter.

Removed counters that MIGHT be readded in a limited capacity:
  • MZXAKVERSION [MZXak (2.51s2) until 2.62]
    • MY_TARGET, GET_TARGET_ID, TARGET_X, TARGET_Y, TARGET_XDIR, TARGET_YDIR, TARGET_DIST

  • ABS_VALUE, SQRT_VALUE [MZXak (2.51s2) until 2.68]
  • R_PLAYERDIST [MZX 2.6 until 2.68]
  • FREAD_LENGTH and FWRITE_LENGTH [MZX 2.6 (2.51s2) until 2.65]
  • FREAD_PAGE and FWRITE_PAGE and their corresponding FREAD_POS/FWRITE_POS behavior. [MZX 2.6 (2.51s2) until 2.80]
  • LOCAL2 as (walk_dir << 8 | is_locked) and LOCAL3 as (last_touch_dir << 8 | last_shot_dir) [MZX 2.69b until 2.80]


This will not fix Technicolor Cheese Wedge because the checks that need versioning are in the Robotic commands.

TODO: WRAP [MZXak (2.51s2) until 2.68] would likely need a gateway but it's doubtful anything used it...
"Let's just say I'm a GOOD hacker, AND virus maker. I'm sure you wouldn't like to pay for another PC would you?"

xx̊y (OST) - HELLQUEST (OST) - Zeux I: Labyrinth of Zeux (OST) (DOS OST)
w/ Lancer-X and/or asgromo: Pandora's Gate - Thanatos Insignia - no True(n) - For Elise OST
MegaZeux: Online Help File - Keycode Guide - Joystick Guide - Official GIT Repository


Page 1 of 1
  • Cannot start a new Issue
  • You cannot reply to this issue

1 User(s) are reading this issue
1 Guests and 0 Anonymous Users


Powered by IP.Tracker 1.3.2 © 2025  IPS, Inc.