Sonic and Sega Retro Message Board: Basic Questions & Answers thread - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
Loading News Feed...
 

Basic Questions & Answers thread NEWBIES: Start here!

#4321 User is offline redhotsonic 

Posted 19 August 2012 - 02:26 PM

  • Also known as RHS
  • Posts: 988
  • Joined: 31-January 05
  • Gender:Male
  • Location:United Kingdom
  • Project:Sonic 2 Recreation
  • Wiki edits:24

View PostChaoder, on 19 August 2012 - 01:49 PM, said:

View Postredhotsonic, on 17 August 2012 - 03:32 PM, said:

So for badniks, you can do something similar; after a hit, make the badnik invulnerable with a timer for a second or two, and subtract 1 from a unused RAM address (let's call it, BADNIKHIT), then repeat until BADNIKHIT reaches 0. Once it has, kill the badnik as usual.


Alright, I decided to try and apply this to Moto Bug for fun. I managed to get it to where Sonic could not kill him in one hit (by changing the ColType of Moto to the one GHZ Robotnik uses. I'm not sure that was the right way to go about it.) Though, after a hit, Sonic can longer interact with him. I tried looking at GHZ Robotnik to give Moto Bug similar hit-by-Sonic routines, but it seems like the branch stuff Robotnik uses (loc_1783C and similar stuff) can't be used by another object. However, Moto Bug would have to use new "loc"s for his branches, wouldn't he?




You'll have to make a new routine for the badnik. Using Eggman's code isn't going to work. Does Coltype stand for collision type? That shouldn't be changed.


Try this for testing purposes.

Use an unused RAM address for the badnik hits (a byte long will do). And another unsed ram address for the badnik timer (byte long again). Call these (badnikhit).w and (badniktimer).w


When the badnik is created, set the (badnikhit).w to 4. And (badniktimer).w to 0.


When you go to hit a badnik, it will jump to a routine somewhere to kill the badnik. At that routine, try adding this first:

Killbadnikroutine:
	tst.b	(badniktimer).w		; Is it 0?
	beq.s	+			; Yes?  skip then
	rts
+
	tst.b	(badnikhit).w		; Is it 0?
	beq.s	+			; Yes?  Kill badnik
	subq.b	#1,(badnikhit).w	; Subtract 1 from hit
	move.b	#$20,(badniktimer).w	; Start timer
	rts
+
;	etc


So when it goes to kill the badnik, unless the (badnikhit).w is 0, it will not kill the badnik. It will subtract 1 from it for the next hit. It will then start the timer, to make the badnik invulnerable for a short period.


Then, in the badnik's main code, try this:

	tst.b	(badniktimer).w		; Is it 0?
	beq.s	+			; Yes?  skip then
	subq.b	#1,(badniktimer).w	; Subtract 1 from from timer
+
;	etc


Unless timer is 0, it will keep counting it down. So now, when it does eventually reach 0, the badnik can be hit again.



After 4 hits, the badnik should then die.



This is all from the top of my head. You might want to tweak it. If this works, you will then want to get rid of using RAM addresses and use the badniks own SSTs, like instead of (badnikhit).w, use obj_off30(a0). The only problem is, all badniks will take the new killbadnik routine into account, and might use that particular offset for something different.



EDIT: Quoted previous post because of page-break. I have a habit of breaking pages recently.
This post has been edited by redhotsonic: 19 August 2012 - 02:32 PM

#4322 User is offline Truner 

Posted 19 August 2012 - 02:53 PM

  • Posts: 67
  • Joined: 01-May 08
  • Gender:Male
  • Location:Hungary
  • Project:Not presently
On the Sonic Retro wiki, is there an option to search for only completed hacks? I really don't feel like checking every single hack and see if it's completed or not if there's an option to do that with a function or something. Erazor and Megahack Ultra got me back in a Sonic hack mood, so I want to play everything that's not a demo.

#4323 User is offline dsrb 

Posted 19 August 2012 - 03:10 PM

  • Posts: 3083
  • Joined: 10-June 09
  • Gender:Male
  • Wiki edits:196
You might have gotten away with searching for whatever format the template uses (‘|status=completed', or whatever) were it not for the fact that the reality is more complex than a simple choice between ‘completed’ and ‘demo'. Plenty of hacks have seen stable releases but are not ‘completed’ in the sense that their development has ceased, so they'd be marked as ‘in progress'. By opposite reasoning, so might hacks that haven't had a stable release yet.

I suppose a good start towards making your request more feasible would be an additional field in the template for the release type: alpha, beta, stable, final, etc.

Of course, someone with better knowledge of teh wikimantics can maybe correct me on any of the above. But that's my presumption from what I've seen.

#4324 User is offline Truner 

Posted 19 August 2012 - 03:21 PM

  • Posts: 67
  • Joined: 01-May 08
  • Gender:Male
  • Location:Hungary
  • Project:Not presently
"final" seems like what I'm looking for. I'll try searching with it. If it doesn't work, I'll just manually check everything. Who knows, maybe I'll find some kind of gem. Thanks.

#4325 User is offline KingofHarts 

Posted 19 August 2012 - 06:38 PM

  • Resident windbag
  • Posts: 835
  • Joined: 07-August 10
  • Gender:Male
  • Location:China (NO, I'm not Chinese...)
  • Project:Triad, STE Engine, REV C hacks, SCHG
  • Wiki edits:1

View Postdsrb, on 19 August 2012 - 03:10 PM, said:

You might have gotten away with searching for whatever format the template uses (‘|status=completed', or whatever) were it not for the fact that the reality is more complex than a simple choice between ‘completed’ and ‘demo'. Plenty of hacks have seen stable releases but are not ‘completed’ in the sense that their development has ceased, so they'd be marked as ‘in progress'. By opposite reasoning, so might hacks that haven't had a stable release yet.

I suppose a good start towards making your request more feasible would be an additional field in the template for the release type: alpha, beta, stable, final, etc.

Of course, someone with better knowledge of teh wikimantics can maybe correct me on any of the above. But that's my presumption from what I've seen.


We had a topic on this in the Site Affairs forum a little while back, and it had gotten started on. Unfortunately, as all things seem to do... it never really got finished or followed through upon. If you guys have any suggestions as to what you'd like it to look like, exactly... I do some wiki work here and there. I can fix it up a bit when I have time.

#4326 User is offline BleuStar 

Posted 20 August 2012 - 01:29 PM

  • Posts: 20
  • Joined: 20-March 12
  • Gender:Male
  • Location:New Castle, Delaware
  • Project:Sonic The Hedgehog (RevBS) [!]
I haven't been able to come across the SS garbage bug, and it doesn't show up with the new configuration.

Thank you for the help!

#4327 User is offline DarkBones 

Posted 21 August 2012 - 08:02 PM

  • Posts: 20
  • Joined: 04-February 12
  • Gender:Male
Sorry if this is a bit of a n00by question, but I'm thinking of starting a little Sonic 1 hacking project. I was wondering if there was an easier to use program for editing Sonic's graphics. I've tried opening Sonic.bin up in my graphics editor, but Sonic's tiles are all over the place (as opposed to them being neatly arranged like I'm used to in graphics editing)! A quick Google search later, I found a program, but it only works for compiled ROMs. I need one that works for a split disassembly.

#4328 User is offline KingofHarts 

Posted 22 August 2012 - 01:36 AM

  • Resident windbag
  • Posts: 835
  • Joined: 07-August 10
  • Gender:Male
  • Location:China (NO, I'm not Chinese...)
  • Project:Triad, STE Engine, REV C hacks, SCHG
  • Wiki edits:1
I think you're in luck. I'm scouting members to test my WIP, Sonic Triad. It currently has a fully functional palette an tile editor, fully functional with compression support and multiple tools and features. UNFORTUNATLY no Mappings support yet.

I am able to use it no problem with art editing in my hack. I plan on adding more later.

I can give you an early copy of Triad to test out. Again, it's a very early build, but it works with, and it is specifically meant for, disassemblies.

#4329 User is offline TheInvisibleSun 

Posted 23 August 2012 - 12:28 PM

  • Fights in the Shade
  • Posts: 1027
  • Joined: 09-December 09
  • Gender:Male
  • Location:Buffalo, NY, USA
  • Project:Sonic 1 Color Contrast
For some reason, when I try to add code (as in, in addition to existing code) to any of the monitors in Sonic 1, it will not build. The rom also fails to build if I add code to the Goggles Monitor and any of the 'Invalid' Monitors (but not the "S" monitor). Does anyone know why this is happening?

#4330 User is offline Destructiox 

Posted 23 August 2012 - 03:23 PM

  • Masochistic Maniac, Raving Lunatic <3
  • Posts: 237
  • Joined: 04-September 08
  • Gender:Male
  • Location:East Midlands, England
  • Project:Sonic 1 Lunacy.
  • Wiki edits:45
Edit your build.bat in any text editor and add 'pause' to the end. (Without 's of course.)
This post has been edited by Destructiox: 23 August 2012 - 03:23 PM

#4331 User is offline TheInvisibleSun 

Posted 24 August 2012 - 03:18 PM

  • Fights in the Shade
  • Posts: 1027
  • Joined: 09-December 09
  • Gender:Male
  • Location:Buffalo, NY, USA
  • Project:Sonic 1 Color Contrast

View PostDestructiox, on 23 August 2012 - 03:23 PM, said:

Edit your build.bat in any text editor and add 'pause' to the end. (Without 's of course.)


What it told me after I did this was:

Reported Size: 100303C Reported Checksum:0
Size Applied: FFFFFFFF Checksum Applied: 0

Press any key to continue . . .

#4332 User is offline Jimmy Hedgehog 

Posted 24 August 2012 - 03:23 PM

  • Posts: 1055
  • Joined: 13-December 07
  • Gender:Male
  • Location:England - Slough
  • Project:RAoSTH (Sprite Comic)
  • Wiki edits:2
Any errors at all?

#4333 User is offline redhotsonic 

Posted 24 August 2012 - 03:42 PM

  • Also known as RHS
  • Posts: 988
  • Joined: 31-January 05
  • Gender:Male
  • Location:United Kingdom
  • Project:Sonic 2 Recreation
  • Wiki edits:24

View PostTheInvisibleSun, on 23 August 2012 - 12:28 PM, said:

For some reason, when I try to add code (as in, in addition to existing code) to any of the monitors in Sonic 1, it will not build. The rom also fails to build if I add code to the Goggles Monitor and any of the 'Invalid' Monitors (but not the "S" monitor). Does anyone know why this is happening?



You need to tell us why it didn't build. Whenever it doesn't build, it will tell you the errors. If it doesn't say anything, then it should create a new file called "errors.txt" or something like that.


Until then, we can't help.

#4334 User is offline TheInvisibleSun 

Posted 24 August 2012 - 03:54 PM

  • Fights in the Shade
  • Posts: 1027
  • Joined: 09-December 09
  • Gender:Male
  • Location:Buffalo, NY, USA
  • Project:Sonic 1 Color Contrast
This is what my error.txt said:



SN 68k version 2.53

C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INC\PALETTE POINTERS.ASM(31) : Warning : Size of pal_levels ($B) does not match ZoneCount ($7).
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\SONIC.ASM(3053) : Warning : Size of colpointers ($6) does not match ZoneCount ($7).
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INCOBJ\3A GOT THROUGH CARD.ASM(175) : Warning : Size of levelorder ($6) does not match ZoneCount ($7).
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\SONIC.ASM(6851) : Warning : Size of musiclist2 ($6) does not match ZoneCount ($7).
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INC\PATTERN LOAD CUES.ASM(23) : Warning : Size of plc_levels ($6) does not match ZoneCount ($7).
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INC\PATTERN LOAD CUES.ASM(36) : Warning : Size of plc_animals ($6) does not match ZoneCount ($7).
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\SONIC.ASM(9121) : Warning : Forward reference to redefinable symbol
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\SONIC.ASM(2313) : Warning : Forward reference to redefinable symbol
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\SONIC.ASM(2399) : Warning : Forward reference to redefinable symbol
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INCOBJ\89 ENDING SEQUENCE STH.ASM(37) : Error : Branch (32784 bytes) is out of range
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INCOBJ\59 SLZ ELEVATORS.ASM(10) : Warning : Forward reference to redefinable symbol
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INCOBJ\5A SLZ CIRCLING PLATFORM.ASM(10) : Warning : Forward reference to redefinable symbol
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INCOBJ\5B STAIRCASE.ASM(10) : Warning : Forward reference to redefinable symbol
C:\USERS\JAEONE\SAVED GAMES\HACKING\SONIC\MY HACKS\SONIC 1 CONTRAST - COPY\_INCOBJ\5E SEESAW.ASM(10) : Warning : Forward reference to redefinable symbol

Assembly completed.
1 error(s) from 52346 lines in 8.27 seconds


I put the "Error" in bold.

#4335 User is offline Jimmy Hedgehog 

Posted 24 August 2012 - 04:00 PM

  • Posts: 1055
  • Joined: 13-December 07
  • Gender:Male
  • Location:England - Slough
  • Project:RAoSTH (Sprite Comic)
  • Wiki edits:2
All of those warnings seem worrying too...but that's a branch error meaning a piece of code is just too far away for the branch (bsr.w etc) to reach. For help with that, Selbi had this guide (the out of range stuff is at the start): http://sonicresearch...p?showtopic=857

  • 311 Pages +
  • ◄ First
  • 287
  • 288
  • 289
  • 290
  • 291
  • Last ►
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users