Banner
Summer C3 2020 begins in:
1 DAY, 7 HOURS, 14 MINUTES AND 32 SECONDS
Views: 836,000,375
Time:
15 users online: Arash, Cr4zy, dacin, Denicentek,  dtothefourth, Funkymario, KaidenThelens, kamekku14,  KevinM, Nint,  patcdr, princess1234, Qrtr The Dunce,  RussianMan,  xHF01x - Guests: 31 - Bots: 301 Users: 45,598 (3,258 active)
Latest: kennykath
Tip: Check this thread to find extremely useful diagrams and data.Not logged in.
Details for Level Constrain v3.1
SMW Patches - Level Constrain v3.1 Show random
File Name: Level Constrain v3.1
Added:
Version History: View
Authors: HammerBrother
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: Unlike screen constrain, this patch constrains the player and sprite's interaction with blocks within the level (properly, check out the first gif to see why).

V3 update: Now works properly with LMv3.00 dynamic levels patch.

Tester's Note: Does not work with Morton, Roy, Bowser, and Reznor.

3.1 update: now you can disable the patch's effect via a RAM if you want to have only specific levels not to have this effect.
Tags: anti-cheat, lorom, physics, sa-1
Download: Download - 5.52 KiB
63 downloads
Screenshots
Previous 
 Next
MarioFanGamer
Originally posted by HammerBrother
The 4 directional can be emulated via having blocks that enable/disable the flags and the player triggering it at specific locations of the level.

I'm aware of that but it's a global change i.e. sprites also are affected by it.
Posted by:  MarioFanGamer - | Link
HammerBrother
Originally posted by MarioFanGamer
Moderated with:
  • BSNES v115
  • Asar 1.71
  • SA-1 Pack 1.32
  • Lunar Magic 3.11
  • UberASM Tool v1.4

Replaced the very specific tags over the level and under the level with physics, fixed a missing SA-1 conversion.

Definitively a useful patch in certain cases. Having it dependent on RAM also fixed incompatibility with Mode 7 bosses and is a useful addition in general (as you sometimes want to go above the level but not always).

Possible suggestions: Use two or even four flags: One for each direction as e.g. you sometimes want to go above but not below the level. The code also could be improved a bit as you can only change the data bank with PLB whereas neither JML nor JSL can change it.


The 4 directional can be emulated via having blocks that enable/disable the flags and the player triggering it at specific locations of the level.
Posted by: HammerBrother - | Link
MarioFanGamer
Moderated with:
  • BSNES v115
  • Asar 1.71
  • SA-1 Pack 1.32
  • Lunar Magic 3.11
  • UberASM Tool v1.4

Replaced the very specific tags over the level and under the level with physics, fixed a missing SA-1 conversion.

Definitively a useful patch in certain cases. Having it dependent on RAM also fixed incompatibility with Mode 7 bosses and is a useful addition in general (as you sometimes want to go above the level but not always).

Possible suggestions: Use two or even four flags: One for each direction as e.g. you sometimes want to go above but not below the level. The code also could be improved a bit as you can only change the data bank with PLB whereas neither JML nor JSL can change it.
Posted by:  MarioFanGamer - | Link
HammerBrother
Originally posted by AnasMario130
Okay, thanks a lot!

A better way to do this is by “defaulting” the value to #$01 on the overworld init (gamemode $0E), and only in levels you want this off, you use STZ !Freeram_LevelConstrain (don't forget to have !Freeram_LevelConstrain = $60 at the top).
Posted by: HammerBrother - | Link
AnasMario130
Okay, thanks a lot!
Posted by: AnasMario130 - | Link
HammerBrother
Originally posted by AnasMario130
Hmm, and I assume that in order to do that, you do something like STZ !Freeram_LevelConstrain in the UberASM code? Just making sure.

Yes, but remember that for levels you do want its effects in other levels, you set this to #$01. This means if you go to a level that doesn't have this effect, then go to a level that is intended to have that effect, it remains off if you leave the RAM set to #$00.
Posted by: HammerBrother - | Link
AnasMario130
Hmm, and I assume that in order to do that, you do something like STZ !Freeram_LevelConstrain in the UberASM code? Just making sure.
Posted by: AnasMario130 - | Link
HammerBrother
Originally posted by AnasMario130
One question: how do you call the RAM that turns the patch's effect off in your level via UberASM? I don't think the readme explains it, so people will get confused and frustrated by that.


To turn the effects off, just have the RAM it's using set to $00. It's explained on the ASM patch:
Code
!Freeram_LevelConstrain = $60
 ;^[1 byte] (not used if !Setting_LevelConstrain_RAM_Based = 0)
 ; RAM address that applies the level constain (block interaction
 ; applies off-level) when nonzero.
Posted by: HammerBrother - | Link
AnasMario130
Hmm, the first GIF is pretty odd 'cause the screen doesn't push the player but I can see why you did that. Anyhow, thanks for the update! Now I can use this per-level! One question: how do you call the RAM that turns the patch's effect off in your level via UberASM? I don't think the readme explains it, so people will get confused and frustrated by that.
Posted by: AnasMario130 - | Link

The purpose of this site is not to distribute copyrighted material, but to honor one of our favourite games.

Copyright © 2005 - 2020 - SMW Central
Legal Information - Privacy Policy - Link To Us


Menu

Follow Us On

  • YouTube
  • Twitch
  • Twitter

Affiliates

  • Super Mario Bros. X Community
  • ROMhacking.net
  • Mario Fan Games Galaxy