ROM Hacking Need a helping hand? You can get help on any ROM Hacking-related problems or questions you have here.

Draconius GO
Closed Thread
 
Thread Tools
  #20701    
Old March 10th, 2012 (9:46 AM).
Nidote Nidote is offline
Nido-Nut
     
    Join Date: Feb 2012
    Gender: Male
    Nature: Quirky
    Posts: 3
    Okay, I tried taking a look around and I don't think there were any answers to this but here goes.

    Are there any basic hacking tools for Heartgold/Soulsilver? Nothing major like changing entire maps, I'm mostly only interested in editing pokemon, wild encounters (and their levels), trainers and optionally moves but the ONE tool I've seen so far is an editor that only works for gym leaders... on the japanese versions.

    So yeah, is HG&SS just programmed so differently it makes it impossible to work with or has nobody just had an interest in doing tools or something? :>

    Relevant Advertising!

      #20702    
    Old March 10th, 2012 (10:51 AM).
    Outkin's Avatar
    Outkin Outkin is offline
    OM*G PIKMIN 3!!!
       
      Join Date: Feb 2012
      Location: Canada B.C.
      Gender: Male
      Nature: Quirky
      Posts: 281
      I was playing with maps in firered. I implnated a new map in the game, and every time I select it it says "canvas cannot be drawn on" or something like that. The menus can be a bit...stubborn....in the map, but otherwise I can still edit it, but I'm curious what this means.
      __________________





        #20703    
      Old March 10th, 2012 (1:31 PM).
      Rumille's Avatar
      Rumille Rumille is offline
         
        Join Date: Feb 2012
        Gender: Male
        Posts: 72
        How can you change the name of the maps in the map bank? For example, I apparently changed VIRIDIAN FOREST (1.0) in PALLET TOWN (1.0). How do I change this?
          #20704    
        Old March 10th, 2012 (1:38 PM).
        Spherical Ice's Avatar
        Spherical Ice Spherical Ice is offline
        • Crystal Tier
         
        Join Date: Nov 2007
        Location: Bristol, UK
        Age: 19
        Posts: 5,235
        Quote:
        Originally Posted by Rumille View Post
        How can you change the name of the maps in the map bank? For example, I apparently changed VIRIDIAN FOREST (1.0) in PALLET TOWN (1.0). How do I change this?
        Go to the map in Advance Map, go to the Header tab, click on the first dropdown box, select Pallet Town, then click Change Name. Save the ROM, close A-Map, reopen and you should see your change has taken place :D

        __________________

        A Pokemon that is discriminated!
        Support squirtle and make it everyone's favourite.
          #20705    
        Old March 10th, 2012 (2:55 PM).
        Rumille's Avatar
        Rumille Rumille is offline
           
          Join Date: Feb 2012
          Gender: Male
          Posts: 72
          Thank you!
          Next question: All of a sudden I can't get my outside-map tiles to be black. It works perfectly on all my other maps, but this one doesn't seem to get it.


          The blue thing should be black. How do I solve thís?
            #20706    
          Old March 10th, 2012 (3:53 PM).
          DrFuji's Avatar
          DrFuji DrFuji is offline
          Heiki Hecchara‌‌
          • Crystal Tier
           
          Join Date: Sep 2009
          Location: Downia-upside
          Age: 24
          Gender: Male
          Nature: Jolly
          Posts: 1,328
          Quote:
          Originally Posted by GoGoShinyDunsparce View Post
          I'm having trouble finding this information anywhere: what is the maximum selectable area for the World Map in FireRed? I know the map itself can be up to 208x144 pixels, but what area of that can actually be accessed with the cursor during the game?

          Thanks!
          The total area that your cursor can access in the Town Map is 22 x 14 8x8 tiles. Basically this area is 176 x 112 pixels in size.

          Quote:
          Originally Posted by Rumille View Post
          Thank you!
          Next question: All of a sudden I can't get my outside-map tiles to be black. It works perfectly on all my other maps, but this one doesn't seem to get it.


          The blue thing should be black. How do I solve thís?
          That's because you're using the wrong type of block when making that tile. In FR's tileset 0 the top left tile looks to be entirely black, when in fact it is not. This is because the black that makes up the tile is being used as Palette 0's transparent colour. As such, when you apply nothing but that transparent 8x8 block when making the tile you are seeing 'beyond the tile'. If you wish to have a completely black tile that shows up in tileset 0, you are going to have to change one of the palettes associate with the tileset so that it has a (non-transparent) colour that is perfectly black.

          You can see why the tile actually comes out as being black when playing in interior maps because tileset 12's palette 5 has a colour that is both black and not transparent which is used to make up the tile.
          __________________
            #20707    
          Old March 10th, 2012 (5:48 PM).
          Alec Empire's Avatar
          Alec Empire Alec Empire is offline
          Are you ready to testify?
             
            Join Date: Mar 2012
            Location: New York
            Age: 24
            Gender: Male
            Nature: Rash
            Posts: 59
            I have a vague understanding of how to use the tools, but where do I get them? I've tried Whack a Hack, and some of the tools won't even open.
            __________________
              #20708    
            Old March 10th, 2012 (5:54 PM).
            droomph's Avatar
            droomph droomph is offline
            weeb
            • Crystal Tier
             
            Join Date: Sep 2011
            Location: nowhere spectacular
            Age: 20
            Gender: Male
            Nature: Impish
            Posts: 4,291
            Quote:
            Originally Posted by Alec Empire View Post
            I have a vague understanding of how to use the tools, but where do I get them? I've tried Whack a Hack, and some of the tools won't even open.
            Try the "Toolbox" Forums. They have quite a few, and if you want, and you can try the "search" function if you can't easily find it in that Forum.
            __________________
            did u no there r 21 letters in the alphabet
            o i forgot 5
            uraqt


              #20709    
            Old March 10th, 2012 (7:07 PM). Edited March 10th, 2012 by AnotherLevel.
            AnotherLevel AnotherLevel is offline
               
              Join Date: Mar 2012
              Posts: 1
              Wheres a good place to find custom BW mugshots/overworlds/trainer battle sprites from?
                #20710    
              Old March 11th, 2012 (2:04 AM).
              darkprince909 darkprince909 is offline
                 
                Join Date: May 2008
                Gender:
                Posts: 79
                Quote:
                Originally Posted by redriders180 View Post
                Of course it's possible I was wrong. The only reason I assumed cmda06 wasn't necessary was because the tutorial for unlocking it in Firered made no mention of it. My assumption of the background bytes not working was because of the same tutorial, which only has a spot for inputting the ashy grass, the grass with ashy background, and the normal grass, and nothing else, but that may be because of the script.

                I assume (not like my assumptions seem to ever hold true) that there's a sort of table in the rom, which cmda06 calls. assuming that you could find this, you could write another ASM script which would handle the background tree tiles, and put it in the table in question. The simplest way, in my opinion, would be to add setmaptile scripts to each place underneath the tree, and play the animation involved with the puff of ash. All of these things I believe you can access in a script. setanimation and doanimation can play the puff of dust. (0x7 is the ashgrass dust cloud, but the list I have also says it does a setmaptile part, so 0xA should also work [0xA is the dust cloud when the player jumps off a ledge])

                And you explained it perfectly clear, i was just being stupid, so no hard feelings?
                So, um, I feel like a real noob for asking this, but how exactly would i find the table that controls the ashy grass and go about changing it so the right half of the tree top would work (basically, just adding one more linked block, similar to the normal ashy grass with nothing in front of it. that always changes to a specific block, and every other block changes to a specific other block.) I havent done any work with ASM before, and advanced scripting still eludes me (I am working on it though.) My areas of expertise, though are definitely in the graphical areas of hacking. If anyone more experienced than I would be so kind as to help out a fledgling hacker, I'd be truly grateful.
                And I've tried looking at tutorials, but it just seems to fly right above my head. I tend to learn a lot better with combined examples and hands-on, which makes tutorials sometimes not the best method, oddly)
                  #20711    
                Old March 11th, 2012 (7:44 AM).
                redriders180's Avatar
                redriders180 redriders180 is offline
                Mastermind of Pokemon Glazed
                   
                  Join Date: Jun 2010
                  Location: Path of Victory, Tunod
                  Gender: Male
                  Nature: Quirky
                  Posts: 540
                  Quote:
                  Originally Posted by darkprince909 View Post
                  So, um, I feel like a real noob for asking this, but how exactly would i find the table that controls the ashy grass and go about changing it so the right half of the tree top would work (basically, just adding one more linked block, similar to the normal ashy grass with nothing in front of it. that always changes to a specific block, and every other block changes to a specific other block.) I havent done any work with ASM before, and advanced scripting still eludes me (I am working on it though.) My areas of expertise, though are definitely in the graphical areas of hacking. If anyone more experienced than I would be so kind as to help out a fledgling hacker, I'd be truly grateful.
                  And I've tried looking at tutorials, but it just seems to fly right above my head. I tend to learn a lot better with combined examples and hands-on, which makes tutorials sometimes not the best method, oddly)
                  There is a brief overview of cmda6 here and the ASM he used in the video with the color changing stuff here. The ASM he provides is annotated with comments, and most of the stuff is already done...All you'd need to do is change the values of some of the words at the bottom, which is simply the tile number in A-Map. If you still don't understand, I think I'd be able to help you further in VMs/PMs.
                  __________________


                  I think I'm done with ROM hacking. I'll still pop in and visit, though.


                    #20712    
                  Old March 11th, 2012 (1:22 PM).
                  Capitalist Ness's Avatar
                  Capitalist Ness Capitalist Ness is offline
                  can't stump the trump
                     
                    Join Date: Jul 2008
                    Location: Poland
                    Gender: Male
                    Nature: Adamant
                    Posts: 67
                    Hello! I came back, with another simple(?) question!
                    I replaced Shedinja with Chatot, and edited stats, and other things.
                    So, I gave it to one trainer, and all my friends that tested my hack told me that Chatot was fainting to every single weakest move. Yeah, even Poison Sting. So, I caught it and checked its stats. And that's where problem is.
                    Chatot has 1 hp.
                    I seriously have no idea why. I thought that changing its base HP with YAPE 0.9 will change it. But no, Chatot has 1 HP.

                    Is Shedinja's HP somewhere deeper in coding? Hex? ASM(God, please, not this)?
                    I hope you guys help me, I'm counting on you.

                    And seriously, I hope I didn't ask for something that was never mentioned before(really? no one cares about breeding?) again. It's like 830 pages here!
                      #20713    
                    Old March 11th, 2012 (1:45 PM).
                    sonic1's Avatar
                    sonic1 sonic1 is offline
                    ASM is my life now...
                       
                      Join Date: May 2008
                      Location: Portugal
                      Age: 23
                      Gender: Male
                      Nature: Timid
                      Posts: 79
                      Quote:
                      Originally Posted by Flame View Post
                      Hello! I came back, with another simple(?) question!
                      I replaced Shedinja with Chatot, and edited stats, and other things.
                      So, I gave it to one trainer, and all my friends that tested my hack told me that Chatot was fainting to every single weakest move. Yeah, even Poison Sting. So, I caught it and checked its stats. And that's where problem is.
                      Chatot has 1 hp.
                      I seriously have no idea why. I thought that changing its base HP with YAPE 0.9 will change it. But no, Chatot has 1 HP.

                      Is Shedinja's HP somewhere deeper in coding? Hex? ASM(God, please, not this)?
                      I hope you guys help me, I'm counting on you.

                      And seriously, I hope I didn't ask for something that was never mentioned before(really? no one cares about breeding?) again. It's like 830 pages here!
                      What version are we talking about?
                      If FireRed, there are plenty of people who can help you (knizz, Jambo51, Shiny Guagsire etc...).
                      If Emerald, i can make a quick research about it, even though i'm almost sure i wont find out
                      If Ruby, then ask ZodiacDaGreat.
                      __________________
                      This signature has been disabled.
                      over 350px high
                      Please review and fix the issues by reading the signature rules.

                      You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

                      Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
                        #20714    
                      Old March 11th, 2012 (1:50 PM).
                      Capitalist Ness's Avatar
                      Capitalist Ness Capitalist Ness is offline
                      can't stump the trump
                         
                        Join Date: Jul 2008
                        Location: Poland
                        Gender: Male
                        Nature: Adamant
                        Posts: 67
                        Quote:
                        Originally Posted by sonic1 View Post


                        What version are we talking about?
                        If FireRed, there are plenty of people who can help you (knizz, Jambo51, Shiny Guagsire etc...).
                        If Emerald, i can make a quick research about it, even though i'm almost sure i wont find out
                        If Ruby, then ask ZodiacDaGreat.
                        I'm talking about Ruby. Well, I thought that Shedinja's coding isn't different in all these versions. I'll ask him then.
                          #20715    
                        Old March 12th, 2012 (12:04 AM).
                        Satoshi Ookami's Avatar
                        Satoshi Ookami Satoshi Ookami is offline
                        Memento Mori
                        • Gold Tier
                         
                        Join Date: Jul 2008
                        Location: Abyss of Time, Great Seal
                        Age: 25
                        Gender: Male
                        Nature: Calm
                        Posts: 14,508
                        I presume that you hit the spot...
                        Since Shedinja has also special evolution and probably to prevent giving Shedinja more HP throughout cheating engine Shedinja might have the coding deeper in game...
                        There's also way to prevent it by not replacing Shedinja xD
                        __________________
                        ROM hacking FAQ - Read before asking how to play a hack.

                        Anime List | PSN Trophy List
                          #20716    
                        Old March 12th, 2012 (2:27 AM).
                        Darthatron's Avatar
                        Darthatron Darthatron is offline
                        巨大なトロール。
                        • Silver Tier
                         
                        Join Date: Jan 2006
                        Location: Melbourne, Australia
                        Age: 26
                        Gender: Male
                        Nature: Modest
                        Posts: 1,152
                        Quote:
                        Originally Posted by Flame View Post
                        Hello! I came back, with another simple(?) question!
                        I replaced Shedinja with Chatot, and edited stats, and other things.
                        So, I gave it to one trainer, and all my friends that tested my hack told me that Chatot was fainting to every single weakest move. Yeah, even Poison Sting. So, I caught it and checked its stats. And that's where problem is.
                        Chatot has 1 hp.
                        I seriously have no idea why. I thought that changing its base HP with YAPE 0.9 will change it. But no, Chatot has 1 HP.

                        Is Shedinja's HP somewhere deeper in coding? Hex? ASM(God, please, not this)?
                        I hope you guys help me, I'm counting on you.

                        And seriously, I hope I didn't ask for something that was never mentioned before(really? no one cares about breeding?) again. It's like 830 pages here!
                        Shedinja is hardcoded to always have 1 HP.
                        Code:
                        0803E554                 LDR     R0, =0x12F
                        0803E556                 CMP     R7, R0
                        0803E558                 BNE     loc_0803E568    @ Routine to calculate HP.
                        0803E55A                 MOVS    R0, #1
                        0803E55C                 STR     R0, [SP,#0x60+var_5C]
                        To fix this change the byte at 0003E559 in a hex editor from D1 to E0.

                        Offsets are for FireRed.

                        Credits to NintendoBoy13 for researching stats at level-up. Notes are here: http://codepad.org/b5Rh4dk1
                        __________________
                        あなた は しきしゃ です
                        わたし は ばか です
                          #20717    
                        Old March 12th, 2012 (2:58 AM).
                        Mana's Avatar
                        Mana Mana is offline
                        • Platinum Tier
                         
                        Join Date: Jan 2009
                        Location: UK
                        Gender: Female
                        Posts: 10,027
                        Does anyone know the offsets for the bytes that store player information like name, gender and trainer ID?
                          #20718    
                        Old March 12th, 2012 (7:15 AM).
                        Capitalist Ness's Avatar
                        Capitalist Ness Capitalist Ness is offline
                        can't stump the trump
                           
                          Join Date: Jul 2008
                          Location: Poland
                          Gender: Male
                          Nature: Adamant
                          Posts: 67
                          Quote:
                          Originally Posted by Darthatron View Post
                          Shedinja is hardcoded to always have 1 HP.
                          Code:
                          0803E554                 LDR     R0, =0x12F
                          0803E556                 CMP     R7, R0
                          0803E558                 BNE     loc_0803E568    @ Routine to calculate HP.
                          0803E55A                 MOVS    R0, #1
                          0803E55C                 STR     R0, [SP,#0x60+var_5C]
                          To fix this change the byte at 0003E559 in a hex editor from D1 to E0.

                          Offsets are for FireRed.

                          Credits to NintendoBoy13 for researching stats at level-up. Notes are here: http://codepad.org/b5Rh4dk1
                          I'm hacking Ruby. :\
                          Anyway, just PM'd ZodiacDaGreat, so I'm waiting response from here, still I expect solution here.
                            #20719    
                          Old March 12th, 2012 (7:53 AM).
                          miksy91's Avatar
                          miksy91 miksy91 is offline
                          Dark Energy is back in action! ;)
                             
                            Join Date: Oct 2008
                            Location: A small country in the North
                            Gender: Male
                            Nature: Relaxed
                            Posts: 1,438
                            Quote:
                            Originally Posted by Flame View Post
                            I'm hacking Ruby. :\
                            Anyway, just PM'd ZodiacDaGreat, so I'm waiting response from here, still I expect solution here.
                            Dartharon already did the job for you although he didn't say the straight offset where you should go to change the byte from D1 to E0.
                            So basically, open Firered rom with a hex editor and see how the rom area at $3E559 is and search for that same code (=same bytes written over there) in a Ruby rom.

                            Some more tips: The code you want to change is between offsets $3B200 and $3B300.
                            __________________
                            My Rom Hack



                            Fixing bugs in a ROM hack
                            CP of encountered pokemon in GO

                            Learn how to hack GB/C games:

                            Check my GameBoy/Color hacking videos in Youtube
                            -The video set uses Pokemon Silver (U) rom for demonstrations
                              #20720    
                            Old March 12th, 2012 (9:32 AM).
                            sonic1's Avatar
                            sonic1 sonic1 is offline
                            ASM is my life now...
                               
                              Join Date: May 2008
                              Location: Portugal
                              Age: 23
                              Gender: Male
                              Nature: Timid
                              Posts: 79
                              Found it for ruby:

                              Code:
                              0803B290                 LDR     R0, =0x12F    @Shedjinja
                              0803B292                 CMP     R7, R0
                              0803B294                 BNE     loc_803B2A4
                              0803B296                 MOVS    R0, #1
                              0803B298                 STR     R0, [SP,#0x60+hp]
                              0803B29A                 LSLS    R6, R7, #3
                              0803B29C                 B       loc_803B2D2
                              0803B29C @ ---------------------------------------------------------------------------
                              0803B29E                 .byte    0
                              0803B29F                 .byte    0
                              0803B2A0 dword_803B2A0:  .long 0x12F             @ DATA XREF: sub_803B1B8+D8r
                              0803B2A4 @ ---------------------------------------------------------------------------
                              0803B2A4
                              0803B2A4 loc_803B2A4:                            @ CODE XREF: sub_803B1B8+DCj
                              0803B2A4                 LDR     R1, =base_stats
                              ....................
                              Its the equivalent to the firered one!

                              ~Sonic1
                              __________________
                              This signature has been disabled.
                              over 350px high
                              Please review and fix the issues by reading the signature rules.

                              You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

                              Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
                                #20721    
                              Old March 12th, 2012 (9:48 AM).
                              tinix's Avatar
                              tinix tinix is offline
                              PearlShipper & C Programmer
                                 
                                Join Date: Feb 2010
                                Location: Bratislava, Slovakia
                                Age: 20
                                Gender: Male
                                Posts: 86
                                Quote:
                                Originally Posted by SwiftSign View Post
                                Does anyone know the offsets for the bytes that store player information like name, gender and trainer ID?
                                If you want to access it at runtime the there are pointers stored at these memory addresses:
                                FR: 0x0300500C
                                RS: 0x03005D90
                                E: 0x02024EA4
                                Structure:
                                Quote:
                                Originally Posted by HackMew
                                [Name (8 bytes)]
                                [Gender (1 byte)]
                                [??? (1 byte)]
                                [Trainer ID (2 bytes)]
                                [Secret ID (2 bytes)]
                                [Hours of play (2 bytes)]
                                [Minutes (1 byte)]
                                [Seconds (1 byte)]
                                [Frames (1 byte)]
                                [??? (1 byte)]
                                [Options (2 bytes)]
                                __________________
                                Pokémon games I own:
                                Pokémon Diamond
                                Pokémon Platinum
                                Pokémon Ranger: Shadows of Almia
                                Pokémon HeartGold Version
                                  #20722    
                                Old March 12th, 2012 (10:26 AM). Edited March 12th, 2012 by Capitalist Ness.
                                Capitalist Ness's Avatar
                                Capitalist Ness Capitalist Ness is offline
                                can't stump the trump
                                   
                                  Join Date: Jul 2008
                                  Location: Poland
                                  Gender: Male
                                  Nature: Adamant
                                  Posts: 67
                                  Found it. Changed it. Battled it.
                                  Chatot starts battle with one HP, but his max HP is all right(didn't caught it, but wild Chatots have one HP point).
                                  Guess I need to change another one byte, but hey, I started hexing a week ago.
                                  Really.

                                  Hmm...
                                  Maybe...
                                  I'll make Chatot exclusive from givepokemon script, and then put special for healing all Pokemon.
                                  No one will notice...
                                  Heheheh...
                                    #20723    
                                  Old March 12th, 2012 (10:34 AM).
                                  paranvoi paranvoi is offline
                                     
                                    Join Date: Jan 2012
                                    Gender: Male
                                    Posts: 11
                                    Does anyone know why when I dump the menu text in Fire Red (using WindHex) I get incomplete text? Here's an extract:

                                    Code:
                                    //ATUS P[LINE]
                                    //ROBLEM[LINE]
                                    //END[LINE]
                                    That should read "STATUS PROBLEM" but the first 2 letters of "STATUS"
                                    are missing, plus there's an unnessecary line break after the first
                                    letter of "PROBLEM". The entire dumped .txt file looks like that. Solutions...?
                                      #20724    
                                    Old March 12th, 2012 (11:02 AM).
                                    sonic1's Avatar
                                    sonic1 sonic1 is offline
                                    ASM is my life now...
                                       
                                      Join Date: May 2008
                                      Location: Portugal
                                      Age: 23
                                      Gender: Male
                                      Nature: Timid
                                      Posts: 79
                                      [FONT="Maven Pro"]
                                      Quote:
                                      Originally Posted by tinix View Post
                                      If you want to access it at runtime the there are pointers stored at these memory addresses:
                                      FR: 0x0300500C
                                      RS: 0x03005D90
                                      E: 0x02024EA4
                                      Structure:


                                      You actually misleaded in R/S and E. Its switched. Besides, in ruby, theres no pointer (but i know you know that, i'm not trying to sound like capitain obvious or something, just pointing out )
                                      __________________
                                      This signature has been disabled.
                                      over 350px high
                                      Please review and fix the issues by reading the signature rules.

                                      You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

                                      Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
                                        #20725    
                                      Old March 12th, 2012 (12:20 PM). Edited March 12th, 2012 by KoKoros.
                                      KoKoros's Avatar
                                      KoKoros KoKoros is offline
                                         
                                        Join Date: Apr 2011
                                        Location: Nowhere
                                        Gender: Female
                                        Nature: Timid
                                        Posts: 8
                                        Can anyone here give me a script to make a trainer who you talk to, and then battle them? because i can find to tutorials for that. And i would also want to know how to add pokemon cries in while the person talks. (if you don't know what that means, when you talk to a.. pikachu or something in the game, you can hear its cry, and the textbox.

                                        I meant can't.. not can >_
                                        Closed Thread

                                        Quick Reply

                                        Join the conversation!

                                        Create an account to post a reply in this thread, participate in other discussions, and more!

                                        Create a PokéCommunity Account

                                        Sponsored Links
                                        Thread Tools

                                        Posting Rules
                                        You may not post new threads
                                        You may not post replies
                                        You may not post attachments
                                        You may not edit your posts

                                        BB code is On
                                        Smilies are On
                                        [IMG] code is On
                                        HTML code is Off

                                        Forum Jump


                                        All times are GMT -8. The time now is 2:03 PM.