Basic Questions and Answers Thread

Discussion in 'Discussion & Q&A' started by Malevolence, Jul 7, 2009.

  1. Pacca

    Pacca Why succeed when you can profit off of failure? Member

    Joined:
    Jul 5, 2014
    Messages:
    1,149
    Location:
    Triton (Moon)
    I'm having an issue with the grounders in ARZ. I attempted to put them in another level, and they loaded scrambled mappings. Assuming the issue would be easy, I looked at the object ASM and found that the object doesn't seem to load any mappings as a part of its code. To make matters worse, I couldn't find the corresponding mappings file in the mappings folder. How would I correct this?
     
  2. JoenickROS

    JoenickROS ROS is on hiatus. (...again) Member

    Joined:
    Feb 5, 2012
    Messages:
    924
    Look in the subobjects code, you will find your answers there.

    hint: Loadsubobject, this is for xenowhirl, don't know if the hg has something different.
     
    Last edited by a moderator: Oct 27, 2014
  3. Pacca

    Pacca Why succeed when you can profit off of failure? Member

    Joined:
    Jul 5, 2014
    Messages:
    1,149
    Location:
    Triton (Moon)
    Hm, I don't quite understand. From what I've been able to infer, the grounder code (whose exact same code is reused for the "grounder in wall" object) makes the actual object through Loadsubobject, which references a list, and based on which object ID, loads different code. There, the game loads mappings. I don't see why this wouldn't work on zones other then ARZ...
     
  4. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    879
    Certain objects, including Grounder and Coconuts, require a specific subtype in order to display properly. SonLVL's object definitions enable the object to be placed with the correct subtype right away, though it appears I missed Grounder for some reason. Looks like it needs a subtype of 2.
     
  5. Pacca

    Pacca Why succeed when you can profit off of failure? Member

    Joined:
    Jul 5, 2014
    Messages:
    1,149
    Location:
    Triton (Moon)
    What an odd redundency. You'd think they'd just make grounder look proper by default :p Thanks for the help!
     
  6. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    390
    Location:
    Town Creek, AL
    1. I done all 7 steps from the start. I KEPT those files & due to bugs in the hack (all fixed now), always started over. NOW i got everything back like it was minus characters & may take note from the Nick Arcade Disassembly on how second character loads so that can have Richter as Obj02 (as Tails is in S2)

    2. Nebula is suppose to be a Sonic Skin. Taken idea from some hack where Options Zone is HPZ & can choose S2 or S3K style Sonic, Round or Square shield, i forget it's name

    But one thing i can't seem to get around is  how on earth to seperate the sonic 1 level select & Level_Select_Menu in S2_Menu.asm

    Converted the Sonic 1 Level Select to an options menu.

    also, Speaking of Sonic 2 Nick Arcade Disassembly, only GHZ uses 256x256 which is why it's collision corrupted right? reason for asking is wanting to try my luck with adding Sonic 1 stages from the KRAM disassembly to sonic 2 Nick arcade
     
  7. Clownacy

    Clownacy Well-Known Member Staff

    Joined:
    Aug 15, 2014
    Messages:
    890
    Uh, no. GHZ in the Nick Arcade build uses 128x128 chunks. Its problem is that its collision indexes were meant for Sonic 1's collision array, but NA uses Sonic 2's. The two are not interchangeable, leading to the collision problems.

    NA does still have Sonic 1's array, however. And with some changes to a few pointers (can be done via Game Genie), you can make the game use it again, allowing GHZ to work properly. But this does break the other zones, which were built for Sonic 2's collision.
     
  8. SuperEgg

    SuperEgg I'm a guy that knows that you know that I know Member

    Joined:
    Oct 17, 2009
    Messages:
    Location:
    THE BEST GOD DAMN STATE OF TEXAS
    One could easily add in checks for certain levels that way the arrays could be read for specific levels. On my old hard drive, I had actually replaced the call to a specific collision array an instead made it dynamic by allowing each zone to have it's own collision array, as opposed to it being hard coded to one.

    Also, as far as making S2NA into S1.....

    https://www.dropbox.com/s/gk166azpw07b8no/s2NA_Build.bin?dl=0

    It can be done fairly easily.

    As long as you either convert the Kram level art and mapping files into the correct compressions used in S2NA, or adapt the way the game reads the files like in S1. Either way, it should work rather well if done correctly.
     
    Last edited by a moderator: Oct 28, 2014
  9. Deadalive

    Deadalive Newcomer Trialist

    Joined:
    Aug 3, 2014
    Messages:
    19
    Location:
    Green Hill Zone
    I have two questions please.
    1. I have implimented an Emerald monitor and it works as intended except, how do I make it so that if you die and return to the monitor you cant just get 6-7 emeralds and call it a day on Emerald hunting?

    2. I know about dynamic tilesets but, is it possible to have dynamic chunks only?  Meaning each act has its own map256 file?
     
  10. Painto

    Painto Samodzierżca Najdłuższego Kija Member

    Joined:
    Mar 24, 2014
    Messages:
    315
    Location:
    Poland
    As for first point.

    You need to make an emerald monitor broken flag and it's checkpoint copy that later will be loaded at checkpoint/start of level and will be cleared after breaking a capsule or touching the signpost.
     
  11. Pacca

    Pacca Why succeed when you can profit off of failure? Member

    Joined:
    Jul 5, 2014
    Messages:
    1,149
    Location:
    Triton (Moon)
    Edit: Can someone trash this?
     
    Last edited by a moderator: Oct 30, 2014
  12. Pacca

    Pacca Why succeed when you can profit off of failure? Member

    Joined:
    Jul 5, 2014
    Messages:
    1,149
    Location:
    Triton (Moon)
    There's a big issue in Hidden Palace Zone (at least in my hack), where the background slowly disappears as you're moving through the level. Oddly, it will slowly reappear if you go backwards, and when I force HPZ's deform data onto another zone, this effect doesn't seem to occur. How would I fix this?
     
  13. Ralakimus

    Ralakimus Sonic is a shit franchise :V Member

    Joined:
    Aug 26, 2013
    Messages:
    1,007
    Location:
    idk hell?
    A quick solution is to extend the background to the right. There may be a better solution out there that I do not know.
     
  14. Pacca

    Pacca Why succeed when you can profit off of failure? Member

    Joined:
    Jul 5, 2014
    Messages:
    1,149
    Location:
    Triton (Moon)
    Oh, that makes a lot of sense! I've actually seen this issue while editing other levels like Mystic Cave, but for some reason I didn't figure it out on my own. Thanks for the tip!
     
  15. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    390
    Location:
    Town Creek, AL
    I have Richter as a seperate object. Obj02 is Richter

    Now the problem I'm having is



    I can control both Sonic & Richter (I can fix this myself as now Richter Dies, Sonic don't loose a life. just changed $24 to $25)

    His Animation loads correctly, but the odd thing, it overlaps sonic's somewhat.

    His Art is loaded, but Sonic's overlaps his except his feet, same vice versa

    His Map & DPLC loads correctly, nothing overlaps.

    was it a wise Idea to copy obj01 from sonic 1, paste as Obj02, & use this code i snagged from the Sonic 2 Nick Arcade Disassembly?

    Code:
    loc_3D6C:				; CODE XREF: ROM:00003D64j
    		tst.w	($FFFFFFE8).w
    		bne.s	LevelInit_LoadRichter
    		;beq.s	LevelInit_SkipTails ; funny how	they skipped Tails in EHZ for the Nick Arcade show
    	nop
    LevelInit_LoadRichter:			; CODE XREF: ROM:00003D70j
    		move.b	#2,($FFFFD040).w
    		move.w	($FFFFD008).w,($FFFFD048).w
    		move.w	($FFFFD00C).w,($FFFFD04C).w
    		subi.w	#$20,($FFFFD048).w ; ' '
    
    Level_ChkDebug:
    
    
     
  16. Irixion

    Irixion Well-Known Member Member

    Joined:
    Aug 11, 2007
    Messages:
    670
    Location:
    Ontario, Canada
    Looks like you're having the art load too close to each other. If you told to load Obj02's art exactly where Tails' art was, then the art is too big. I'm not sure where Tails' tails are loaded, but that may not even be enough to give you enough room.
     
  17. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    390
    Location:
    Town Creek, AL
    In the object pointers, i've tried loading "Obj02" in what would be Obj07 & it had the same effect.
     
  18. Clownacy

    Clownacy Well-Known Member Staff

    Joined:
    Aug 15, 2014
    Messages:
    890
    He said the art of the objects are too close together, not the code pointers! Learn how to VRAM and the problem will make itself obvious to you.
     
  19. JoenickROS

    JoenickROS ROS is on hiatus. (...again) Member

    Joined:
    Feb 5, 2012
    Messages:
    924
    Can you figure out how to fix anything yourself, maybe take a break from asking questions and learn how to fix things, (it will help you improve faster), instead of us having to hold your hand, and possibly getting us annoyed.

    Edit: Got rid of some things.
     
    Last edited by a moderator: Nov 1, 2014
  20. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    911
    Location:
    the united states. where else?
    I agree with Joe. Warr1or2, asking questions is fine and dandy and all, but I can tell you from personal experience that if you continue to ask questions about every little thing that goes wrong in your hack, you won't get any better at ASM. You'll instead just become used to having everything handed to you on a silver platter, so to speak, and you'll also piss off more than a few people on this very site. And trust me, the damage it does can take months, even years, to repair.

    tl;dr version: Going straight to asking questions when you encounter a problem instead of trying to fix it yourself is bad.
     
    Last edited by a moderator: Nov 1, 2014