The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.

Reply
 
Thread Tools
  #1    
Old October 9th, 2010, 12:22 PM
jota_rdk's Avatar
jota_rdk
Spanish hacker [Javi4315]
 
Join Date: Jul 2010
Location: Spain
Gender: Male
Nature: Timid
What is instant movecamera?


This type of script serves for make a movecamera instantly.

It is very useful for to make good scripts. And don't need know how make a simple movecamera with applymovement comand. I explain all you need know for make a instant movecamera script in this tutorial.

Before continue, I want give special thanks to R!cci.

And excuse me for my english


Could you put an example?


Sure. Here I put an example. Is a youtube video uploaded by me:







How I make a instant movecamera script?


This is the interesting part. First, you must know the commands that we will utilize. These are the next:
  • fadescreen 0xA
  • movesprite 0xA 0xB 0xC
  • Special 0xA
  • writebytetooffset 0xA 0x2025734/2025736
Now, I will write the script body:

Code:
 
org @start
[script before instant movecamera]
[instant movecamera 1]
[script into instant movecamera]
[instant movecamera 2]
[script after instant movecamera]
release
end
Why the colours? Because so you will understand better. I will put my script for you see how make a instant movecamera script:

If you don't know how to use movesprite comand, you should revise this spoiler:
Spoiler:
movesprite 0xA 0xB 0xC

Here, you must put the minisprite number in advance map. If you want that dissapear hero, you must put FF
Simbolize the x-axis
Simbolize the y.axis


Code:
 
org @start
lock
faceplayer
msgbox @text1
callstd 0x6
fadescreen 0x1 
special 0x113 (serves to separate the camera of the hero)
writebytetooffset 0x12 0x2025734 (will move camera instantly in the x-axis to her new position)
writebytetooffset 0xC 0x2025736 (will move camera instantly in the y-axis to her new position)
special 0x8E (will update the screen)
movesprite 0xFF 0x9 0x4 (You must move hero to his original position)
movesprite 0x1 0xA 0x4 (You must move all minisprites that appear in the screen to his originals positions)
fadescreen 0x0 
pause 0x40 (will stop the game during the time that you want)
msgbox @text2 (simple message)
callstd 0x6
fadescreen 0x1 
special 0x113 (You must write this command again)
writebytetooffset 0x9 0x2025734 (will move camera instantly in the x-axis to original position)
writebytetooffset 0x4 0x2025736 (will move camera instantly in the y-axis to original position)
special 0x8E (will update the screen)
movesprite 0xFF 0x9 0x4 (You must move hero to his original position again)
movesprite 0x1 0xA 0x4 (You must move all minisprites that appear in the screen to his originals positions again)
special 0x114 (Camera will join to hero movement)
fadescreen 0x0
msgbox @text3
callstd 0x6
release
end
 
#org @text1
= Excuse me.\nWhere is alex's house?
 
#org @text2
= This is alex's house.
 
#org @text3
= Ok. Thanks!


How I use a writebytetooffset comand?


writebytetooffset 0xA 0x2025734 / 2025736

Position coordinate
Simbolize the x-axis
Simbolize the y-axis

For example, if you want to move the camera to 0017 (x-axis) and 000C (y-axis) You must put:

writebytetooffset 0x17 0x2025734 (this is the x-axis)
writebytetooffset 0xC 0x2025736 (this is the y-axis)
(you don't forget of special 0x8E comand)


Tutorial by javi4315 (jota_rdk here xD)
Special thanks for R!cci

if you have any doubt tell me.

I hope you enjoy this tutorial

Greetings!
__________________
Pokémon Golden Legend // Pokémon Silver Legend


My tutorials:

__________________
My english is very bad, I know. Sorry! xD

Last edited by jota_rdk; October 10th, 2010 at 03:21 AM.
Reply With Quote
  #2    
Old October 10th, 2010, 09:17 PM
ดูดดื่ม's Avatar
ดูดดื่ม
Hello! Im from Thailand.
 
Join Date: May 2010
Gender: Male
thank you so much for sharing.
__________________
˙ƃuoɹʇs ʇou ɥsılƃuǝ ʎɯ 'ʎɹɹos ɯı
T-T
Reply With Quote
  #3    
Old October 10th, 2010, 10:31 PM
chriskid198's Avatar
chriskid198
Happy New Year!
 
Join Date: Jul 2010
Location: Australia
Age: 17
Gender: Male
Nature: Relaxed
That looks so cool, may use this in my hack...
Reply With Quote
  #4    
Old January 22nd, 2011, 04:31 AM
gamesharkhacker's Avatar
gamesharkhacker
SupremoHack Entertainment Inc.
 
Join Date: Jun 2009
Location: In a massive hole :)
Gender: Male
Nature: Careful
I inserted this into my Ruby ROM and all i get is "qAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFt
qAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFtqAFt"

I've checked over it and it still won't stop "qAFting"...
__________________
I'm BACK!!!!

GSH - Owner and Creator of
Pokemon PoisonedPyrite/ParalysisPyrite



GSH - Music creator/hacker of
Pokemon Morganite
Reply With Quote
  #5    
Old January 22nd, 2011, 12:11 PM
Shiny Quagsire's Avatar
Shiny Quagsire
どないやねん, ヤドン
 
Join Date: May 2009
Location: Hoenn Safari Zone
Age: 16
Gender: Male
Nature: Jolly
Quick question: Does this work for fire red?
__________________



Reply With Quote
  #6    
Old April 24th, 2011, 04:51 AM
TSK's Avatar
TSK
Feeling appreaciated =D
 
Join Date: Jun 2007
Gender:
Nature: Timid
Quote:
Originally Posted by shiny quagsire View Post
Quick question: Does this work for fire red?
(Sorry for the bump, I don't think my little addition deserves a thread of it's own.)

As it is describred in the OP this does not work for FR, mostly because the location where the coördinates are stored changes dynamically. I wrote a little ASM to fix that though:

Spoiler:
Code:
.text
.align 2
.thumb
.thumb_func
.global editcoords

main:
	push {r0-r2, lr}
		
	ldr r0, .POINTER
	ldr r1, [r0] 

	ldr r2, .VAR2
	ldrh r2, [r2]
	strh r2, [r1]

	add r1, r1, #0x2

	ldr r2, .VAR3
	ldrh r2, [r2]
	strh r2, [r1]

	pop {r0-r2, pc}


.align 2
.POINTER:
	.word 0x03005008
.VAR2:
	.word 0x020370BC
.VAR3:
	.word 0x020370BE


Usage of the above ASM is as follows:

Code:
setvar 0x8002 0xA
setvar 0x8003 0xB
callasm 0xLOCATION + 1
This will move the camera Coördinates to location (A, B).

Just use the above instead of the writebytetooffset commands in the OP and it will work for Fire Red.
__________________
SilverCurrent is on indefinite hiatus.
Reply With Quote
Reply
Quick Reply

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



All times are UTC -8. The time now is 06:43 AM.


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.