Sonic and Sega Retro Message Board: Esrael Assembler Editor v0.09 - Beta - Sonic and Sega Retro Message Board

Jump to content

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

Esrael Assembler Editor v0.09 - Beta

#1 User is offline Esrael 

  Posted 27 April 2009 - 08:45 PM

  • Posts: 169
  • Joined: 24-July 03
  • Gender:Male
  • Location:Brazil, São Paulo, Guarulhos
  • Project:Esrael Neto Assembler Editor / Sonic 2 Delta
Whats New?

- Tile Editor now supports compressed tiles in Kosinski and Nemesis format.
- Now you can edit up to 64 tiles in Editor.
- Drag / Drop operation added from Editor to Browser.

Level Tile Editor.
- Automatic function added for blocks 16x16 (one button select and other draw).

Other improvements and Bug Fixes.

Edit: -> Download E.N.A.E v0.09 Beta

Bugs. Please Comments.
This post has been edited by Esrael: 27 April 2009 - 10:18 PM

#2 User is offline Master3k 

Posted 29 April 2009 - 07:57 AM

  • Yeah, bye.
  • Posts: 278
  • Joined: 25-July 07
  • Gender:Male
  • Wiki edits:27
Why no comments? :U
Anyway, nice job. Are you using ASM68K on this version? Older ones used SNASM68K as internal compiler.

#3 User is offline Endri 

Posted 29 April 2009 - 08:51 AM

  • Officer I don't have my drivers license with me. Can I give you something else?
  • Posts: 1757
  • Joined: 18-November 08
  • Gender:Male
  • Location:São Paulo, Brazil
  • Project:Something special...
  • Wiki edits:7
Oh God! Brazilian attack, oh!

Now, seriously, I'm trying this right now. Awesome job! I'm pretty much using it in my hack. Thanks!

#4 User is offline Esrael 

Posted 29 April 2009 - 10:17 AM

  • Posts: 169
  • Joined: 24-July 03
  • Gender:Male
  • Location:Brazil, São Paulo, Guarulhos
  • Project:Esrael Neto Assembler Editor / Sonic 2 Delta

View PostMaster3k, on Apr 29 2009, 07:57 AM, said:

Why no comments? :U
Anyway, nice job. Are you using ASM68K on this version? Older ones used SNASM68K as internal compiler.


The program uses Internal Compiler Based in AS, but you can set AS, ASM68K or Snasm68K as external compiler in Menu Tools -> Editor Options -> Miscellaneous....

#5 User is offline Spanner 

Posted 29 April 2009 - 10:27 AM

  • I used to go by SOTI too...
  • Posts: 2659
  • Joined: 02-June 07
  • Gender:Male
  • Location:United Kingdom
  • Project:Sonic the Hedgehog Hacking Contest, Other Stuff
  • Wiki edits:2,193
Interesting. Is there any way possible a collision converter could be made from Sonic 1 to Sonic 2? I've been working on porting Sonic 1 levels to Sonic 2 using your program and I find working with collision to be a pain.

#6 User is offline Esrael 

Posted 29 April 2009 - 06:48 PM

  • Posts: 169
  • Joined: 24-July 03
  • Gender:Male
  • Location:Brazil, São Paulo, Guarulhos
  • Project:Esrael Neto Assembler Editor / Sonic 2 Delta

View PostSOTI, on Apr 29 2009, 10:27 AM, said:

Interesting. Is there any way possible a collision converter could be made from Sonic 1 to Sonic 2? I've been working on porting Sonic 1 levels to Sonic 2 using your program and I find working with collision to be a pain.


Not all Sonic 1 Angles are in Sonic 2, but you can use Collision Array, Angle and Curve data from Sonic 1 and Add some checks in your code and the game will work with both formats.

Some code of Sonic 2 Delta:

				lea	 (AngleMap), A2	; Offset_0x02D1EA
;--------------------------------------------------------------------------------   
				cmpi.b  #$10, ($FFFFFE10).w ; Sonic 1 Levels above $10
				bhi.s   AM_S1_01			 ; Sonic 1 Collision Support 
				cmpi.b  #$05, ($FFFFFE10).w ; Sonic 1 - Green Hill 
				bne.s   Not_AM_01			; Sonic 1 Collision Support 
AM_S1_01:									; Sonic 1 Collision Support
				lea	 (AngleMap_S1), A2	; Sonic 1 Collision Support  
Not_AM_01:								; Sonic 1 Collision Support
;-------------------------------------------------------------------------------- 


........

AngleMap:; Offset_0x02D1EA:   
				incbin  'data\all\anglemap.dat' 
Colision_Array_1:; Offset_0x02D2EA: 
				incbin  'data\all\c_array1.dat' 
Colision_Array_2:; Offset_0x02E2EA: 
				incbin  'data\all\c_array2.dat' 
AngleMap_S1:; Offset_0x02D1EA:  
				incbin  'data\all\anglemap.s1' 
Colision_Array_S1_1:; Offset_0x02D2EA: 
				incbin  'data\all\c_array1.s1' 
Colision_Array_S1_2:; Offset_0x02E2EA: 
				incbin  'data\all\c_array2.s1'


Hint: Change some patterns in 256x256 (editing to appear four 128x128) before converting Sonic 1 Levels to 128x128 and you will get all tiles ported like I do in Sonic 2 Delta. ex: Labyrinth in Sonic 2 Delta. The program will check if 128x128 has already converted ex: Chunk 256x256 Id "$00 has four 128x128 chunks equals and only the first one will be in converted other will be discarded. The compare method is not only visual the program will compare 16x16 property too in 256x256.
This post has been edited by Esrael: 29 April 2009 - 06:50 PM

#7 User is offline Spanner 

Posted 04 May 2009 - 07:26 AM

  • I used to go by SOTI too...
  • Posts: 2659
  • Joined: 02-June 07
  • Gender:Male
  • Location:United Kingdom
  • Project:Sonic the Hedgehog Hacking Contest, Other Stuff
  • Wiki edits:2,193
Thanks for that information, I applied your system with a few changes (thanks to snkenjoi and Malevolence for suggesting how to make my crappy code a bit better):
Syntax Highlighted Code: ASM
        [color= #adadad; font-style: italic;]; other code above	[/color]
[color= #00bfff;]lea[/color] (ColCurveMap_S2).[color= #00bfff;]l[/color],a2
[color= #00bfff;]cmpi[/color].[color= #00bfff;]b[/color] [color= #ff0000;]#[/color][color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]1[/color][/color], ([color= #ff0000;]$[/color][color= #ff0000;]FFFFFE10[/color]).[color= #00bfff;]w[/color] [color= #adadad; font-style: italic;]; is it SLZ[/color]
[color= #00bfff;]beq[/color].[color= #00bfff;]s[/color] S1AM_Setup1
[color= #00bfff;]bra[/color].[color= #00bfff;]s[/color] S2AM_Setup1
[color= #00bfff;]rts[/color]
[color= #adadad; font-style: italic;]; ---------------------------------------- [/color]
S1AM_Setup1: [color= #adadad; font-style: italic;]; Sonic 1 Angle Map[/color]
[color= #00bfff;]lea[/color] (ColCurveMap_S1).[color= #00bfff;]l[/color],a2
[color= #adadad; font-style: italic;]; --------------------------------------- [/color]
S2AM_Setup1: [color= #adadad; font-style: italic;]; Sonic 2 Angle Map[/color]
[color= #adadad; font-style: italic;]; rest of code[/color]

The collision array uses a similar code as well.
Here's how it is right now:
Posted Image
I don't know what the problem is but I guess it's because Sonic 1's collision data needs to be modified further in order to get a perfect port, either that or the S2 disasm hates how the collision is only one file instead of two. Thanks for your help anyway
This post has been edited by SOTI: 04 May 2009 - 07:28 AM

#8 User is offline Esrael 

Posted 07 May 2009 - 10:25 PM

  • Posts: 169
  • Joined: 24-July 03
  • Gender:Male
  • Location:Brazil, São Paulo, Guarulhos
  • Project:Esrael Neto Assembler Editor / Sonic 2 Delta
QUOTE (SOTI @ May 4 2009, 07:26 AM) [post="305752"]Posted Image
I don't know what the problem is but I guess it's because Sonic 1's collision data needs to be modified further in order to get a perfect port, either that or the S2 disasm hates how the collision is only one file instead of two. Thanks for your help anyway[/quote]


If you are using Sonic 2 Nemesis disassembly. You can apply the following changes to get 2 colisions working.


(Some code from unreleased Delta IV where All Sonic 1 Levels Start from $10)
		lea	(ColCurveMap).l,a2
;------------------------------------------------------------------------
		cmpi.b  #$10, (Level_Id).w	 ; All Sonic 1 Levels above $0F
				blt.s   Not_S1J_AngleMap_00	;			  
				lea	 (S1J_AngleMap), A2	 ; 
Not_S1J_AngleMap_00:
;------------------------------------------------------------------------
  ...............


;------------------------------------------------------------------------	

		lea	(ColArray).l,a2	 ; Sonic 2 First Colision
;------------------------------------------------------------------------		
			cmpi.b  #$10, (Level_Id).w		; All Sonic 1 Levels above $0F
				blt.s   Not_S1J_CArray_1_00	   ;				
				lea	 (S1J_Colision_Array_1), A2; 
Not_S1J_CArray_1_00:  
;------------------------------------------------------------------------	
			   ..........


		lea	(ColArray+$1000).l,a2	 ; All of +$1000 is the Second Colision
;------------------------------------------------------------------------		
			cmpi.b  #$10, (Level_Id).w		; All Sonic 1 Levels above $0F
				blt.s   Not_S1J_CArray_2_00	   ;				
				lea	 (S1J_Colision_Array_2), A2; 
Not_S1J_CArray_2_00:  
;------------------------------------------------------------------------
  ...................


Page 1 of 1
    Locked
    Locked Forum

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