The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.


Advertise here

Reply
 
Thread Tools
  #1    
Old January 2nd, 2012, 10:09 PM
Team Fail's Avatar
Team Fail
The fine line between in|sanity
Community Supporter
 
Join Date: May 2009
Age: 19
Gender: Male
Nature: Brave

Advertise here
A German debugger's version of Pokémon Ruby version was recently found and dumped. It has many powerful functions, including showing where the 6 places to find Feebas are, rigging the lottery, and music tests! TCRF wiki post in spoilers below:

(Needs to have formatting fixed, btw)
Spoiler:
Menus
The debug functions mostly use the game's existing menu system, but lack the polish of a finished product. Some menu items are in Japanese (which displays as gibberish due to font changes), some are in English, and most of the text is in German. Most submenus don't return to their parent menu when closed but just return to the game entirely, sometimes leaving textboxes or cursors on the screen. Some don't make any cursor movement sound, etc. Many options don't give any indication that they've done anything.
Some menus have multiple pages; press left/right to switch page. A activates, B cancels. Some have other controls shown on the screen.
Items described as "???" don't have any apparent effect.
Metadata
The filename is pokemon_ruby_german_final_d.bin; the d probably stands for debug or development. The "final" suggests that there may be prototypes around as well.
Debug functions
  • During any battle, press R+Select to instantly win.
Test Menu
Pressing Select on the title screen opens the test menu.

This menu displays some information about the ROM and a number of testing functions.
Battle

Leads to a setup screen where you can set up and start a battle between any two teams. Pressing L+Select returns to the title screen.
BATTLE selects the battle type. 01 is a wild battle, 02 to 04 are trainer double battles, 05 is a link battle, 08 is the Wally battle where he captures a wild Pokemon, 09 a Safari Zone battle. Other options are either obvious or unknown. A/B adjust by 1, and L/R adjusts by 10, but adjusting by 10 will only change the background.
Also, pressing Select while the BATTLE option is highlighted will activate additional functions, depending on the current value of the option.
  • 01: This will display the Pokémon evolution sequence, showing the first Pokémon on the opponent's team evolving into the second. As this feature appears to be purely for demonstration purposes, no Pokémon will disappear from the team after the sequence finishes and neither will moves learned during the evolution be retained by the second Pokémon.

To do:
02 does -something- (shows battle BG, Pokémon is selectable, Y position of sprite can be changed, D-pad changes modes, hangs sometimes), R+Select returns
Move the cursor to the far right to edit the player's team. A/B adjust by 1, L/R by 10. Press Select to edit movesets. Configurations can be saved to 9 different slots. Start begins the battle. Start toggles displaying enemy's HP as numbers instead of a bar.

This mode also enables several battle debug functions:
During battle, pressing Start at the move select screen displays some information about the selected move. You can then press Start to view the animation of it being used against the opponent, and Select to see it used against yourself. Left/right/L/R select a move. Up/down adjust the "turn" value. Other values' purposes are unknown.
Press L+R to replace this move with the one selected. (Pressing L will change the selected move, but pressing R will then return to the previous selection and save it.)
Your inventory is stocked with several useful items. You can catch the Pokémon, which ends the battle, but nothing from test battles is saved. Your badges do carry over from the saved game however, so high-levelled Pokémon may disobey.
After the battle, the game returns to this menu.
Sound Test

Just what it says on the tin. Use left/right to select a song or sound effect (not L/R as the text would have you believe) and A to play it. Pressing L opens another sound effect test screen. Pressing R opens a sound driver test screen.
SE Test

Accessed by pressing L. Press A to play a sound, left/right to select, L/R to adjust panning. Pan options are 63 (full right), -64 (full left), 0 (centre), LR (transition left to right), RL (transition right to left).
Driver Test

Accessed by pressing R. Gives all sorts of options to experiment with Pokémon cry sounds. Left/right adjust by 1, L/R adjust by 10. Select toggles the first option at the right which seems to be echo. Start toggles the second option which plays the sound in reverse.
Sound Meter

Accessed by pressing A+Start. It allows you to listen to Pokémon cry sounds similar to the previous menu, but also includes a sound meter for measuring the volume. Since the numbering stops at 384, the last few Pokemon cries are not accessible.
PokéRIEGEL Test

Seems to be for testing the Pokéblock making function. Left/right select a berry/block type, up/down select a row, L/R adjust the BPM value by 10 (range 0-300). Pressing A displays some results below (6 hex numbers - presumably the block's stats - and the colour). Pressing Select enables display of two sets of hex numbers in place of the colour; the first seems to be a 16-bit counter which stops when you display it, and the second cycles through random-seeming numbers from 0 to 5.
LINK Test2

Displays an odd-looking screen. Pressing L makes it disappear and fade in again. Pressing R also appears to do something, as it makes the game freeze for a few seconds. One of the diamonds in the upper left corner changes to a vertical line occasionally. (May be zeros and ones?) This screen may be a menu with a corrupted palette.
Crash backup data
Erases all save data without any warning or confirmation. Careful!
e-Card Test

Reads "Connecting... ...Press the B-Button to cancel." message, probably trying to connect to an E-Reader.
Mimic e-Card
Displays the message "CARD-E emulation...". No buttons respond. Presumably emulates an E-Reader for use with another copy of the game.
Time in game

Lets you adjust the clock, including number of days passed (up to 9999). Current (Aktuelle) and previous (Vorherige) time always seem to be the same.
The screens read as such in English: "Actual time in game", "Previous time in game", "Reset real-time clock? A: Confirm, B: Back", "Please reset the time", "The time will reset. Data will be backed up. Please wait.", and "Save completed."
RTC reset

Resets the clock (after pressing A to confirm or B to cancel).
Converter

Prompts to press A to confirm or B to cancel along with some corrupted Japanese beginning with "save data" decoding to "Convert save data" (セーブデータを コンバートします). Pressing A delays a few seconds (probably doing something to save data), then displays a corrupted "Conversion completed." message (へんかんが しゅうりょう しました!).
Debug menu

During gameplay, press R+Start to display the debug menu, featuring 8 pages of options. The first several options seem to be named for different programmers. "EXIT" does exactly what you'd expect. (Apparently pressing B is too hard.)
Many of these options only function in appropriate circumstances. For example the berry info option does nothing unless there's a berry plant or soil patch in front of you.
At the right, the current map ID and player's position are displayed.
WATANABE
Saves the game.
SOGABE
Leads to a menu with options "1st round", "2nd round", and so on up to "8th round". Purpose unknown.
TAMADA

Displays a corrupted message and plays a sound effect. The first number is always 50000; the second varies. Perhaps related to memory usage? Decodes to "Ran 50000 times. Used 2148 units of time." (50000かい じっこう 2148たんいじかん しょうひ)
KAGAYA
Leads to a submenu:
Trainer's card
Displays your trainer card with all badges and all fields present. Pressing R adjusts the number of stars shown and the corresponding card colour.
Card to exchange

Displays a dummy trainer card with all fields maxed out.
Slot machine
Leads to slot machine game, giving you 1000 credits.
MATUDA
Leads to a submenu:
Contest

Lets you start a Pokémon beauty contest with any settings. Pressing Select cancels.
Contest results
Displays contest results screen. Crashes if you haven't done "Set highest score" first.
Contest (comm.)
Seems to do the same as "Contest".
Init comm. data
Selecting this doesn't appear to do anything, but the menu will no longer respond except pressing B to close.
Set highest score
Sets up contest results. Choosing "Contest results" after this displays a results screen with a very high score.
Reset highest score
Sets up contest results. Choosing "Set highest score", then this, then "Contest results" displays a results screen with zero score.
Set all art museum items
Not hard to guess what this does.
NOHARA
Leads to a submenu:
TV
Leads to yet another submenu. Most of these options don't seem to actually do anything, but maybe we just need to poke around some more.
Secret type

Displays a lot of numbers and asks "Want to change data type to see secret type now?". Doesn't seem to do anything. The numbers correspond to various TV broadcast information.
Start
???
Create TV
Lets you create/arrange TV broadcasts in some unclear way. If there's a TV in the current room, you must leave and return to see the result. The TVs in your player's/rival's homes don't display these events.
All clear
Resets all TV flags. (The numbers displayed under "Secret type" all become zero.)
All seen
???
Create CM
Similar to "Create TV".
Not yet seen
???
Hit Table

Displays some numbers.
Set full
???
Fan
Guess what, another submenu. Probably related to Pokémon Fan Club?
Start
Make the people on Lilycove Fan Club go towards you.
Increase
Displays a number on the screen.
Reduce
Displays a number on the screen.
Points
Displays a number on the screen.
Play time 6
Adds 6 hours to your play time.
P ELITE FOUR
???
P SECRET BASE
???
P CONTEST
???
P BATTLE TOWER
???
Battle (vs Dad)
Lets you rematch Norman.
Dad after battle
Makes the game assume you've already battled Norman.
SOOTOPOLIS CITY
???
Embark
Forces Mr. Briney to appear in Mr. Briney's Cottage (Route 104).
Yes 9999
???
Legends flag ON
???
Add num of winning streaks
Adds a number of wins to the record on your trainer card.
NAKAMURA
Another submenu!
Berries
Gives you 999 of all berries.
PkMn list
Displays a Pokémon list animation.
Goods
???
Move your base
Displays a menu where you can edit secret base(?) data. (Use "Make bases" option to fill some in.) Press left/right to select a base number. Press up/down to select either the name or the number shown below and A to edit. Use up/down to edit the selected character/digit. When editing the name, Select switches character groups and B erases the name. A accepts.
Although two 5-digit numbers are shown, it is actually a single 32-bit value with a space in the middle.
Make bases(to max)
Fills in all secret bases.
Base location
Displays locations of secret bases.
Moving PkMn
Displays a menu with the name of a place and ADD/DEL/EXIT.
Fishing points

Displays information about fishing and wild encounters.
The Route 119 locations refer to Feebas, which only appears on thee random spots on this route, selected at random every day.
Set PoKéRIEGEL
Lets you create a PoKéRIEGEL with any stats, which is automatically added to your PoKéRIEGELBOX.
MORI
Another submenu.
Search a child
Displays the name of your first Pokémon along with some corrupted text.
Egg
Creates an Egg instantly (needs compatible parents)
Egg (male)
Creates an Egg instantly (needs compatible parents)
1000 steps
Gives 1000 Exp. Points to each Pokémon in Day Care.
10000 steps
Gives 10000 Exp. Points to each Pokémon in Day Care.
MOVE TUTOR
Displays the Move Tutor menu for your first Pokémon.
Breed an egg
Hatches the first Egg in your party with ~2 steps.
Long name
Overwrites your first Pokémon's name with 10 characters of gibberish.
Delete PoKéRIEGEL
Empties your PoKéRIEGELBOX.
TOMOMITI
Leads to a submenu:
Contest graphics

Lets you view all variations of contest photos.
Art Mus. graphics
Lets you view all variations of art museum photos.
Preview data
Similar to above, but displays without text or background.
TRICK HOUSE
Lets you edit trick house flags.
Control events
Lets you activate various events.
Control flags
Lets you toggle all game mode and event flags. L/R toggle. Events mostly have not-very-descriptive names like FE-CYCLE-01-P01-P01-C103-R0201. There are far too many to list, though they are fortunately categorized. Some interesting ones are under SYSFLAGS:
  • BATCH: Whether you have each gym badge.
  • GET: Whether you have the Pokémon and Pokénav options in the start menu, and some other flags.
  • ...1: Some interesting ones like "SYS-GAME-CLEAR" and "SYS-WEATHER-CTRL".
    • SYS-SAFARI-MODE sets whether you're in the safari game.
  • ...3: SYS-EXDATA-ENABLE sounds interesting.
  • ...4: SYS-ENC-UP-ITEM, SYS-ENE-DOWN-ITEM, SYS-CTRL-OBJ-DELETE sound like possible debugging functions.
    • SYS-B-DASH gives you the running shoes.
Control WORK
Lets you edit various game state variables. L/R adjust. Each is a 16-bit integer.
  • SAVEWORK looks like game progress.
  • SYSWORK is various global settings.
    • WK-SPRAY-COUNT is Repel step counter.
    • WK-FRIENDLY-STEP-COUNT is probably the counter that makes your Pokémon happier by being with you.
    • WK-POISON-STEP-COUNT is poison step counter.
  • LOCALWORK is probably variables for the current map.
  • OBJWORK is probably variables for NPCs.
  • ANSWORK is just one variable with a corrupt name.
  • SAVEWORT part2 is more game progress.
AOKI
Does nothing apparent.
TAYA
Leads to a submenu. This menu has 2 pages.
Weather
Lets you change the weather using L/R.
LANETTE'S PC
Brings up the PC menu.
SimpleText
Lets you set any of the "enter a few words" event texts.
Old man
Displays a submenu: BARD, HIPSTER, RECYCLE, STORYTELLER, GIDDY GUY, Flag OFF, 21 letters, and a corrupted option. None seem to do anything. From the options, should let you choose what character appears in the top left of Mauville's Pokemon Center, but whether it does so is unknown.
Trend

Displays some data. Translated:
  • HEALTHY SONG
  • HEAT TOURNAMENT
  • APPROVED WATER SPORTS
  • APPEARANCE PHOTOS
  • PRECIOUS RIGHT
Trend R
Seems to change (Randomize?) the data shown under "Trend".
Town flag
Marks all cities as visited on town map, allowing you to fly to any of them.
Award a ribbon
Lets you award ribbons. Use D-pad to move, then A to select. Up/down adjusts value (0/1), A accepts, B cancels. When you close the menu, your first Pokémon receives the selected ribbons.
PkMnLOTTERY
Displays and lets you edit the winning lottery number. Woohoo!
Trainer
Marks some (not all?) trainers as beaten.
POKéNAV D
Displays some corrupt text which appears extremely slowly.
IWASAWA
Leads to a submenu:
CABLE CAR U
Displays the cable car going up scene. You come out at Blütenburg City though, because it's map #0.
CABLE CAR D
Displays the cable car going down scene. Again, drops you off at map #0.
ROULETTE1
Lets you set your casino coin balance, then lets you play the roulette game.
ROULETTE3
Seems to do the same as ROULETTE1.
View a MAIL
Presents a few corrupted submenus that let you view different mail backgrounds.
Make items

Lets you give yourself any item. Up/down advance by 1, left/right by 10.
Transport
Displays the world map. Choose any location (including routes) to fly there, regardless of whether you actually have any Pokémon that can fly, or indeed any Pokémon at all.
Teleport
Returns you to the last Pokémon Center you visited, just like the move of the same name.
Edit your PkMn

Displays a simple menu to adjust your party Pokémon's species, gender, and level. A/B/L/R adjust. You can add new Pokémon by editing empty slots; their encounter type is "Gef" (found). Note that this will not give your Pokémon any moves beyond those they start with.
Switch BG
Lets you turn background layers on/off. Left/right toggle. Takes effect when you press A.
Use HM
Use any HM move. Nothing happens if the move isn't applicable (e.g. using Surf when not facing water).
Control Encounter
Lets you disable random encounters.
Mirage island RND

Displays message: "Miracle Island emerged - Random numbers:0". Up/down/left/right change the number, A accepts.
Clear flag ON/OFF
Lets you turn something on/off.
Time records

Displays RTC information.
Set time
Another way to adjust the clock.
National PoKéDex
Adds original 251 Pokémon to Pokédex. They won't show up until you also select "Hoenn National Dex".
Create PkMn


Lets you create Pokémon and add them to your party. New Pokémon automatically go to the PC if party is full.
This menu has 6 pages (select with L/R).
  • Page 1: Set species, level, EXP, trainer ID, and random variables. The gender and personality defined by the random variables are shown below. Level and EXP automatically adjust when the other is set.
    • ID is a 32-bit value which contains both your displayed trainer ID (low 16 bits) and "secret" trainer ID (high 16 bits).
  • Page 2: Set status (SLP/PSN/BRN/FRZ/PAR/PSN2), Tameness (happiness?), PokéRUS.
  • Page 3: Set moveset, item and special ability.
  • Page 4: Set random values ("IVs") and stat EXP for HP, ATK, DEF. The resulting stats are shown below. The stat EXP cap is not enforced.
  • Page 5: Set random values and stat EXP for SPD, SP ATK, SP DEF.
  • Page 6: Set Cool, Beauty, Cute, Smart, Tough, Sheen.
Pressing Select here plays a sound effect for some reason.
Some information can't be set from this menu:
  • OT name is "Debug-G".
  • Encounter type is "fateful encounter".
However, using the "Edit your Pokémon" menu above changes them to your name and the current location.
Note that the Pokémon created this way will have the full moveset they normally would have at their level, unlike the Edit your PkMn menu.
See PkMn graphics
Lets you view Pokémon sprites and edit their palettes. Start switches normal and shiny palettes. Select plays their cry.
Battle for debug

Lets you start a battle with any settings. This menu doesn't enable the debug options like the test menu does (showing HP and editing movesets). Nothing appears to be saved (EXP gained, Pokémon caught etc are gone after the battle).
Full set of badges
Gives you all badges.
Hoenn National Dex
Adds all Hoenn Pokémon to Pokédex.
Set Ram berry
Displays a submenu: HP, PAR, SLP, PSN and a corrupted item. None seem to do anything.
See portraits
Lets you view information about trainers or something.
BGM ON/OFF
Turns music on/off. Takes effect next time music would change.
Size comparison

Displays size comparison of Pokémon and trainer. Up/down position the Pokémon, left/right scale it, select/start choose Pokémon. A switches to editing the trainer sprite.
Safari
Displays a menu that lets you edit safari game settings. The first option just seems to display corrupt text and set your step count to some odd value. The others set step and ball counts. Your current step count is shown below.
Does nothing if not in safari mode.
Rematch trainers
Displays 5 options: See trainers, Max num of steps, Clear num of steps, Flag all set, Flag all clear. Probably controls when trainers will call you.
Hall of fame
Runs the hall of fame registration sequence (which saves the game) and ending.
Mystery event
Lets you turn something on/off.
Legends records
Displays a submenu:
Confirmation
Displays some numbers and corrupted names. Up/down selects.
Max-1 set
Same as "Confirmation", except pressing A sets the displayed number to one less than its maximum.
Zero clear
Same as "Confirmation", except pressing A sets the displayed number to zero.
Weather events
Lets you turn something on/off.
Cell info.
Displays information about the tile you're facing.
Check PoKéRIEGEL
Displays some corrupted text and a number that can be adjusted. Regardless what number you select, it fills every slot in your PoKéRIEGELBOX with 30 black PoKéRIEGELs. The quantity doesn't seem to decrease when using one.
Effort values
Displays "effort values" (stat EXP) of your party. Left/right select a Pokémon. Second last row is total stat EXP. Last is happiness/"tameness".
Hoenn National Dex
Adds all Hoenn Pokémon to Pokédex.
See trainers

Lets you view trainer sprites and edit their palettes. This is the same menu used for viewing Pokémon sprites, so pressing Start tries to switch normal/shiny palette, but since trainers don't have shiny palettes it just corrupts them instead.
Berrie Info

Displays information about the berry/soil in front of you. Does nothing if you aren't facing one of these.
Battle Tower stages
Lets you edit some parameters related to the battle tower.
End sequence demo
Displays the ending.
Random number test

Lets you test random number generation.
Me-too BackupMan
Displays two options: "write to flash" and "read from flash".
PTIME
Lets you set your total play time counter.
MURAKAWA
Displays a message "Set FLASH ERR" and a yes/no prompt.
KINA(FONT)
Displays a test message.
Message Translations
  • Ja/Nein
    • Yes/No
  • PokéRIEGEL
    • Pokéblock
  • Es existiert kein Speicherstand. Uhrzeit kann nicht eingestellt werden.
    • There is no save point. Time can not be set.
  • Verbindungsfehler... Die Kabelverbindungen überprüfen und die Gerade aus-und wieder einschalten.
    • Connection error ... Check the cable connections and switch straight off and on.
  • Du kannst ohne MÜNZKORB nicht spielen.
    • You can not play without a Coin Case.
      • The Coin Case is item #260.
Most of the corrupted text could probably be read (in Japanese) by replacing the font with that of the Japanese ROM or reading tile numbers from VRAM to see what characters are supposed to appear.


I wonder what else we can do, as I'd like to insert the English text into the game and make a psuedo-English release.

Any rom links will be deleted by the mods!

Now, on to my point. I want to do a few things and make a patch for the game. Here is what I want to do:

1. Insert the English script over the German Script.
2. Translate all menus and correct the corrupted text.
3. Find any other things (More Menus or features) that may not be accessible at the time and try making them work.
4. Fix graphics to make it (more) as English as possible.
5. Repair broken functions and see what some functions do.

Just as a note, there are some functions here that don't do the same things on an emulator as they do on hardware. Such as this screen:

Option TAMADA
...when ran on hardware makes the BG (sprites and tiles) go black, and when you go to a menu that changes the screen and return to the game, it will look normal again.

To get it working on hardware, use this program (I'll post a how-to later, kay?) and flash it to a flashcard using your software of choice.

Gogogogo!
__________________

Pairs:
Kevin, Echidna
Follow me on Twitter! @TeamFail
Alt 1, リザードン
Miiverse
Pokémon Hackers Online
Alt 2: Jack Cayman



[04:20.39] <@GoGo> I WILL INSERT WITH PLEASURE
[04:20.45] <@GoGo> shut it Bela

[05:41.55] <Team_Fail> Blue Spider is interesting, but #MEHMasterRace
[05:42.20] <diegoisawesome> Team_Fail: Sounds like a bunch of unmotivated people that still want to try to take over the world
Reply With Quote
  #2    
Old January 30th, 2012, 11:34 AM
Icεy's Avatar
Icεy
PokeDimension Founder
 
Join Date: Jan 2012
Location: Europe
Gender: Male
Nature: Impish
This'll be fun to play around with
I could help you with translating German into English if theres a problem with that?
__________________


私はいつも彼のことを考えていないかどうかを確認するために私を見て
ROM Hackers Online
RHO Social / romhack.me
Alternative History Wiki
Reply With Quote
  #3    
Old January 30th, 2012, 02:08 PM
Team Fail's Avatar
Team Fail
The fine line between in|sanity
Community Supporter
 
Join Date: May 2009
Age: 19
Gender: Male
Nature: Brave
Quote:
Originally Posted by Icεy View Post
This'll be fun to play around with :)
I could help you with translating German into English if theres a problem with that?
I was thinking on copy/pasting the text from the English version. But I need to find a viable text editor that is compatible with it.
__________________

Pairs:
Kevin, Echidna
Follow me on Twitter! @TeamFail
Alt 1, リザードン
Miiverse
Pokémon Hackers Online
Alt 2: Jack Cayman



[04:20.39] <@GoGo> I WILL INSERT WITH PLEASURE
[04:20.45] <@GoGo> shut it Bela

[05:41.55] <Team_Fail> Blue Spider is interesting, but #MEHMasterRace
[05:42.20] <diegoisawesome> Team_Fail: Sounds like a bunch of unmotivated people that still want to try to take over the world
Reply With Quote
  #4    
Old January 30th, 2012, 03:54 PM
itari's Avatar
itari
Community Supporter
 
Join Date: Mar 2010
Location: 渦潮隠れの里
Age: 17
Gender: Female
Nature: Relaxed
Wow, that's really interesting. It will really help with research into how the game works and deals with the data we give.
__________________
Touhou Puppet Play: Sapphire

SubscriptAdvanced SongType Effectiveness EditorTilemap CreatorPython IPS Patcher
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
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
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 08:14 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.