don't click here

Basic Questions & Answers thread

Discussion in 'Engineering & Reverse Engineering' started by Tweaker, May 29, 2008.

  1. GT Koopa

    GT Koopa

    Member
    2,024
    22
    18
    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.

  2. By decimal bytes I meant the file size. Say it's 1,234 bytes (That's in decimal right..if it's not shoot me >_>). Divide that by $2. Sorry if that seemed unclear.


    So, Windows properties says file is 1,234 bytes, devide that by $2 to get 269....Am I doing this right? ._.
     
  3. E-122-Psi

    E-122-Psi

    Member
    2,538
    729
    93
    This is more an art-related one, what do you guys use to make the diagonal sprites? The programs I use either rotate by 90 degrees only or leave a horrid blur that means I have to edit the thing manually.
     
  4. MainMemory

    MainMemory

    Has-Been Modder Tech Member
    4,820
    412
    63
    Myself
  5. amphobius

    amphobius

    not so gone, after all Member
    2,133
    19
    18
    Thrash '25
    Convert the decimal size to hexidecimal, then divide that by $2.
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,421
    585
    93
    italy
    First of all, $2 = 2. That's not rocket science.
    Then:
    1234 / 2 = 617 = $269
    1234 = $4D2
    $4D2 / $2 = $269

    It doesn't matter when you convert it to hexadecimal.

    edit: this is a general concept. I don't know at all what Irixion is trying to do.
     
  7. E-122-Psi

    E-122-Psi

    Member
    2,538
    729
    93
    Check. Thanx for that, will save me a LOT of time (wish I'd known about this before I made my Sally sheet though).
     
  8. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    2
    0
    Writing my own MD/Genesis sound driver :D
    PlaneEd question, since I haven't used it until a few days ago, but I still have this problem now. I have here an art file, a mapping file, and a palette. I'm trying to see if the mapping file goes with the art/palette using PlaneEd. I just modified the example LevelSelect.txt appropriately. When loaded, PlaneEd immediately quits. stderr.txt reads
    while stdout.txt is blank. What am I doing wrong? Thanks.

    http://idisk.mac.com/pietro10-Public/planeedunsure.zip
     
  9. Selbi

    Selbi

    The Euphonic Mess Tech Member
    1,541
    155
    43
    Northern Germany
    Sonic ERaZor
    I had this problem some time ago as well:
    Try screwing around with the "Tile Offset" option in the project file. Sometimes you need to set a specific one, but sometimes you will just need to set it to 0 or delete the line completly (from here this worked).
    However, you will need to screw around with the x-size, because otherwise it wouldn't work (Correction: It WILL work, however, it will be in a mess). This, however, is something you need to do yourself. =P
     
  10. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    2
    0
    Writing my own MD/Genesis sound driver :D
    Thank you. While that fixed the problem of the program quitting, changing the x-size doesn't do anything for the display. All I get is the tiles in a neat pile being moved along with the x-size (they are right-aligned with the bounds box). Here's a picture of when x-size is 60:

    [​IMG]

    So now what is wrong? Or is there another mapping I need to find for this art? Thanks.
     
  11. Selbi

    Selbi

    The Euphonic Mess Tech Member
    1,541
    155
    43
    Northern Germany
    Sonic ERaZor
    Oh yeah, that is a problem of the new version (v1.1). I don't know what qiuu did there, but you are forced to use v1.0 then.
     
  12. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    2
    0
    Writing my own MD/Genesis sound driver :D
    [​IMG]
    The x-size is 37. Thanks!

    Feature request: not having to change the palette line tile by tile. Damn Escape key :(
     
  13. Selbi

    Selbi

    The Euphonic Mess Tech Member
    1,541
    155
    43
    Northern Germany
    Sonic ERaZor
    So I finally decided how to make my buzz bomber able to be destroyed: Hitting it from above. However, I don't really know how to do that. I thought it would be possible with CalcAnlge and/or CalcSine, but then again, I don't know how to work with them (cause I don't really know what they are doing). So, how would I do that? Or are there even smarter ways?
     
  14. Thorn

    Thorn

    Tech Member
    335
    19
    18
    Home
    Sonic 2 Retro Remix
    ^ ...compare Sonic's y position to the badnik's y position? Am I missing something here? If you want to ensure that Sonic's moving downwards and not coming up from beneath yet going horizontally so quickly that he grazes its top, just check if Sonic's y velocity is negative or positive.

    For something as simple as "above" or "below", there shouldn't be a need for any trig.
     
  15. Selbi

    Selbi

    The Euphonic Mess Tech Member
    1,541
    155
    43
    Northern Germany
    Sonic ERaZor
    I know how to do this and I know that I need it. So why did I forgot to do that? *headdesk* Thanks.
     
  16. Animemaster

    Animemaster

    Prison bitch! Member
    346
    0
    0
    UK
    Sonic 1 Revelation
    So I got a question about bosses in sonic 1. I am editing the ghz boss, and at certain times would like to change the current animation that he is using. I tried using $1C, like for example: move.b #1,$1C(a0) but the animation does not change. And so I searched object 3D(ghz boss) and look for any $1C and here's what I found.
    Code (Text):
    1. Obj3D_LoadBoss:; XREF: Obj3D_Main
    2.         move.b    (a2)+,$24(a1)
    3.         move.b    #$3D,0(a1)
    4.         move.w    8(a0),8(a1)
    5.         move.w    $C(a0),$C(a1)
    6.         move.l    #Map_MSonic,4(a1)
    7.         move.w    #$400,2(a1)
    8.         move.b    #4,1(a1)
    9.         move.b    #$20,$19(a1)
    10.         move.b    #3,$18(a1)
    11.         move.b    (a2)+,$1C(a1)
    12.         move.l    a0,$34(a1)
    13.         dbf    d1,Obj3D_Loop; repeat sequence 2 more times
    Now this bit move.b (a2)+,$1C(a1), is the first I found but to be honest I don't know what its doing.
    Code (Text):
    1. loc_17A5A:
    2.         move.b    d1,$1C(a0); move d1 to 1C
    3.         subq.b    #2,d0
    4.         bne.s    Obj3D_FaceDisp
    5.         move.b    #1,$1C(a0); move 1 to 1C    
    6.         tst.b    1(a0)
    7.         bpl.s    Obj3D_FaceDel
    The next two were near the end, and are to do with the defeated eggman sprite/anim and when he flies away. Now this doesn't help at all because I want the animation to change to ceratin animations while fighting the boss.

    I noticed that d1 gets moved to $1C and not the other way round. Which kinda confuses me aswell, so I wen't back and looked at d1, and found these.
    Code (Text):
    1. Obj3D_FaceMain:; XREF: Obj3D_Index
    2.         moveq    #0,d0
    3.         moveq    #6,d1; main animation,(eggman's face)
    4.         movea.l    $34(a0),a1
    5.         move.b    $25(a1),d0
    6.         subq.b    #4,d0
    7.         cmpi.w    #$2A70,$30(a1)                                          
    8.         bne.s    loc_17A46
    9.         moveq       #1,d1; use 1st animation                
    10.  
    11. loc_17A3E:
    12.         subq.b    #6,d0
    13.         bmi.s    loc_17A46
    14.         moveq    #$A,d1
    15.         bra.s    loc_17A5A
    16. ; ===========================================================================
    17.  
    18. loc_17A46:
    19.         tst.b    $20(a1)
    20.         bne.s    loc_17A50
    21.          ;moveq    #1,d1
    22.         bra.s    loc_17A5A
    Now here using d1 actually does the same as $1C would normally do, it changes the animation, which again got me confused as I'm pretty sure $1C doesn't get moved to d1 at all in the object.

    I need to know how the animtion works here, and how I can make it so that the boss uses a certain animatioon until a certain point then changes, and then changes again to when he's at a certain point. I done a small video of my metal sonic boss before,(some of you may know this) and thats what I'm trying to continue and make better, but I need guidnece, boss editing I enjoy but its hard.
     
  17. More questions :)

    Code (Text):
    1. ; ---------------------------------------------------------------------------
    2. ; Filler (free space)
    3. ; ---------------------------------------------------------------------------
    4. ; the DAC data has to line up with the end of the bank.
    5.     if assembleZ80SoundDriver
    6. ; actually it only has to fit within one bank, but we'll line it up to the end anyway
    7. ; because the padding gives the sound driver some room to grow
    8.         cnop -Size_of_DAC_samples, $8000
    9.     else
    10.         org $F0000-Size_of_DAC_samples; not as much leeway here
    11.     endif


    Can I delete this? (And other 'fillers'?) If I comment it out, I notice no difference so...yeah.
     
  18. E-122-Psi

    E-122-Psi

    Member
    2,538
    729
    93
    Just a thought but would be possible to edit existing move codes to make new moves for example:

    Edit spin dash sprite entry to make an Upward Dash/Peel Out.

    Edit jump dash to move downward into a bounce/body slam attack.

    Or would you advise alt coding for that?
     
  19. Selbi

    Selbi

    The Euphonic Mess Tech Member
    1,541
    155
    43
    Northern Germany
    Sonic ERaZor
    That would work yeah. What you'd need to do is to check for the correct button presses. E.g. in the Spindash code you have a code to check for the ducking anim and one for if down is still being hold, which is this:
    Code (ASM):
    1.         cmpi.b  #8,$1C(a0)      ; is anim duck
    2.         bne.s   locret2_1AC8C       ; if not, return
    3. ...
    4.         move.b  ($FFFFF602).w,d0    ; read controller
    5.         btst    #1,d0           ; check down button
    You pretty much need to change that to up button and animation. Look here for references on button presses.

    The pretty much same thing would be for the down dash or whatever.
     
  20. Andlabs

    Andlabs

    「いっきまーす」 Wiki Sysop
    2,175
    2
    0
    Writing my own MD/Genesis sound driver :D
    New problem, this time with ENAE.

    data.def
    Code (Text):
    1. [Global]
    2.   begin
    3.     Tiles = Nemesis
    4.     Blocks = Enigma
    5.     Chunks = Enigma
    6.     Layout = Enigma
    7.     Ch Mode = 128x128
    8.   end;
    9.  
    10.  
    11.  
    12. [Level_Name]=Botanic Base Act 1 Morning
    13.   begin
    14.     Folder =      chaotixdisasm
    15.     Palette =     bb1_pal.bin
    16.     Tiles=      bb1_8x8.bin
    17.     Tiles2=     bb1_8x8.bin
    18.     Blocks=     bb1_16x16.bin
    19.     Blocks2=    bb1_16x16.bin
    20.     Chunks=     bb1_128x128.bin
    21.     Chunks2=    bb1_128x128.bin
    22.     Map=        bb1_layout.bin
    23.   end;
    data.epr
    Code (Text):
    1. [Main]
    2.   begin                
    3.     Botanic Base Act 1 Morning
    4.   end
    5. ;============================================================
    6. ; [Mode] is an session identifier
    7. ; "Mode 0" is a identifier and can have Any Name
    8. ; "Level Mode" is a session assigned to "Mode 0"
    9. ;============================================================
    10. [Modes]
    11.   begin  
    12.     Mode 0 = Level Mode
    13.     Mode 1 = Special Stage Mode
    14.   end;
    15.  
    16. [Botanic Base Act 1 Morning]
    17.   begin
    18.     Edit Type =   Mode 0
    19.     Folder =      chaotixdisasm
    20.     Palette =     bb1_pal.bin
    21.     Tiles=      bb1_8x8.bin
    22.     Tiles2=     bb1_8x8.bin
    23.     Blocks=     bb1_16x16.bin
    24.     Blocks2=    bb1_16x16.bin
    25.     Chunks=     bb1_128x128.bin
    26.     Chunks2=    bb1_128x128.bin
    27.     Map=        bb1_layout.bin
    28.   end;
    This causes ENAE to crash with
    repeated over and over again; I have to use Task Manager to kill the app. I am able to see the tiles loaded inccorrectly; as if it wasn't Nemesis data, but with lots of holes; but I checked the data in SonMapEd and it is, indeed, Nemesis-compressed. What am I doing wrong? Thanks.