Language…
12 users online:  bebn legg, bradcomp, DanMario24YT, DaveStateGaming, DimeR, GRIMMKIN,  idol, Metal-Yoshi94,  Sayuri,  Shoujo, signature_steve, steelsburg - Guests: 313 - Bots: 448
Users: 64,795 (2,372 active)
Latest user: mathew

Having Trouble with PIXI v1.1/Custom message box [SOLVED]

  • Pages:
  • 1
  • 2
Hello there! i'm having some problems with PIXI.. so
i did everything right (at least as some tutorials says)..
i've putted the CFG and ASM files in the "sprites" folders


And them i've changed the list.txt (wich btw, wasn't in the original .rar archieve, i had to create myself.. idk if that was supposed to happen)


well anyway.. here's how my list looks like


then i executed the "pixi.exe", drag my ROM in to it, and everything is working fine (as it says)


well.. then i went to the custom sprites window... and Ta-dah! nothing new..


CAN ANYONE PLSSS HELP ME?? #wario{:'(}
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
PIXI doesn't add sprites to that list automatically you need to do it manually if you want to use that custom list feature (Though I believe PIXI is supposed to do that automatically some day)
(Also, this custom list is actually just what it says, a custom list of sprites. You can put any sprite you want in there. Though yes, it's mostly used for custom sprites since the normal ones are available anyway)

To insert the sprite go into sprite editing mode (#lm{sp}) then press the insert key.
A window will pop up telling you to enter the sprite's number and other properties.
What you want to do is set "extra bits" to 2 (or 3 depending on if the extra bit actually does anything in that sprite) then set "Command" to the number you inserted the sprite in (For the message box you'd put 00 in there, for the phiranha you'd put 01 etc).
Setting the extra bit to 2 or higher tells the game that it should insert that sprite as a custom one and not a regular one. You will usually see a red X since it's an undefined sprite as far as Lunar Magic is concerned, it will still work in game though.
allright.. i pressed insert.
this window came up

in "command" should i put the function of the custom message box (B9 or something like that)
or the number of the .cfg in the list?
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
You'd put the number of the cfg file
For example, to insert the message box you'd put
Code
command: 00
extra bits: 2
in your case

For the phiranha you'd do
Code
command: 01
extra bits: 2

etc
The extension filed is a bit different. Only some sprites use it (The message box I believe uses it to determine it's message so if you set it to something that's not 0 it'll use that level's message)
well i wrote it as you said and putted it on screen 01


but it came just like Magikarp Splash..

"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
Well, the settings you gave it should place the sprite in the top left corner of screen 01 directly behind the "01: Exit to Level 106" text so try disabling that or making it transparent.
If it's not there I'm not sure what you did wrong.
my bad.. it was there... but now i have another problem, i pressed f4 to test the sprite and.. well..
the nintendo logo appears and then blackout...
shit if i corrupted the rom or something i will be really pissed of.. i worked like a monkey in this shiett hauhauh #wario{:'(}
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
1) Always make backups before using external tools (There's also LM's restore system you can use)
2) What patches do you have installed? Extended NMSTL would be the first to come to mind when it comes to incompatibility with PIXI.
how do i use the restore??
i didn't installed the NMSTL patch
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
"File > Restore > Restore ROM to previous state..."
Did PIXI work before inserting the sprites or did it already crash when applying PIXI first?
well.. pixi never worked for me prob. but i found where is the problem..
it seems is when i put a new external program..


when i restore to that point this message appears


and then the game sprites goes wild

"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
My guess: You either didn't reload the ROM properly before inserting the sprite or you didn't remove every single instance of that sprite.

You need to reload the ROM and remove every single instance of a sprite before inserting it with different extra property sizes otherwise Lunar Magic will corrupt the sprite data for that level thinking it's a different size than it actually is.


Though I believe this only affects that level and not other levels like the title screen.
it happens right after i apply the pixi "patch" i don't even insert the sprite.. what could it be?? i really need to apply this sprite..
i was trying to use it as a way to have multiple different text boxes in the same level.. is there any other alternative than PIXI to solve it??

HELP ME TheBlob-Kenobi, you're my only hope!!
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
Well, a list of patches would be helpful to get starting.

Also, try replacing cluster.asm (in pixi's asm folder) with this version and see if it fixes the crash
nope... same blackout heheheh

and patches i just have the vwfdialogues.asm
and one called LevelNum.asm
Code
org $05D8B9
autoclean JSL LevelNum

freecode

LevelNum:
	LDA $0E
	STA $010B
	; Restore old code.
	ASL
	CLC
	RTL


for blocks i have a Teleport_Door.asm and i guess that is it
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
A list of patches would help. Does PIXI work on a clean rom for you?

edit: Good thing I never reload the page after leaving the reply window open for half an hour


...Anyway, levelnum is basically already included in PIXI so maybe that's where the issue is.

edit2:
Try
Code
org $05D8B9+3 : CLC

and see if that fixes the issue
i've updated the line you gave me and then.. black out as well... this time i didn't even used PIXI.. just applying the LevelNum Patch with the updated line it crashed#wario{:'(}..
"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
That code is supposed to fix the pixi crash. Of course it wouldn't work if you haven't used pixi first.
Also, you only want to apply that line of code if you have installed LevelNum.asm and after that PIXI.

That patch is the same as adding a new line with [CLC] after the [JSR LevelNum] in pixis main.asm so might want to try adding that in there
Allright, i'll try that as soon as i get home..
I'll edit this post with the results

Edit 01: I did change the main.asm line.. but still didn't worked


Edit 02: i've also tried to use a clear rom and PIXI crashed it as well.. maybe the code of message_box is glitchy?


Edit 03: Even that might be a bug in the message_box code.. i've tried to install only the "sideways_piranha.cfg" and still crashes. (both clear and patched ROM's). maybe the problem is with PIXI?








Message_Box.asm
Code
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; Message Box, by imamelia
;
; This sprite acts like the message box, or Info Box,  in SMW (sprite B9), but you can
; customize which message from which level to play, or you can make it display a VWF
; message from RPG Hacker's patch.  Setting the level number for the regular message
; to #$60 or higher or the VWF message number to #$2AAA or higher will prevent the
; sprite from displaying a message at all.
;
; Extra bytes: 1 or 2
;
; For the vanilla message version:
;
; Extra byte 1:
;
; Bits 0-6: Level number from which to display a message.  ($13BF format)
; Bit 7: Message number to display (1 or 2).
;
; For the VWF message version:
;
; Bits 0-7: Low byte of message number.
;
; Extra byte 2:
;
; Bits 0-5: High byte of message number.
; Bits 6-7: Unused.
;
; Extra property bytes:
;
; If bit 0 of the extra property byte 1 is clear, the sprite will use the original
; message system and one extra byte.  If bit 0 of the extra property byte 1 is set,
; the sprite wiill use the VWF message system and two extra bytes.
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; defines
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

!VWFState = $702000

!Tilemap = $C0

TileDispY:
	db $00,$FC,$F9,$F8,$F8,$F9,$FC,$00,$00

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; init routine and main routine wrapper
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

print "MAIN ",pc
	PHB
	PHK
	PLB
	JSR SpriteMainRt
	PLB
print "INIT ",pc
	RTL

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; main routine
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SpriteMainRt:
	JSR SubGFX
	JSL $01B44F|!BankB
	LDA #$03
	%SubOffScreen()
	LDA $1558,x
	CMP #$01
	BNE ReturnMain
	LDA #$22
	STA $1DFC
	STZ $1558,x
	STZ $C2,x
	JMP DisplayMessage
ReturnMain:
	RTS

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; graphics routine
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SubGFX:
	%GetDrawInfo()
	LDA $00
	STA $0300,y
	PHY
	LDA $1558,x
	LSR
	TAY
	LDA $01
	CLC
	ADC TileDispY,y
	PLY
	STA $0301,y
	LDA #!Tilemap
	STA $0302,y
	LDA $15F6,x
	ORA $64
	STA $0303,y
	LDY #$02
	LDA #$00
	JSL $01B7B3|!BankB
	RTS

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;
; message routine
;
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DisplayMessage:
	LDA $151C,x
	BEQ .NoCloseMessage
	LDA $1504,x
	STA $13BF
	STZ $151C,x
.NoCloseMessage
	LDA $7FAB28,x
	AND #$01
	BNE .DisplayVWF
	LDA $13BF
	STA $1504,x
	LDA $7FAB40,x
	AND #$7F
	CMP #$60
	BCS .Return
	STA $13BF
	LDA $7FAB40,x
	ROL #2
	AND #$01
	INC
	STA $1426
	INC $151C,x
.Return
	SEP #$20
	RTS
.DisplayVWF
	LDA $7FAB40,x
	XBA
	LDA $7FAB4C,x
	REP #$20
	AND #$3FFF
	CMP #$2AAA
	BCS .Return
	STA !VWFState+1
	SEP #$20
	LDA !VWFState
	BNE .Return
	LDA #$01
	STA !VWFState
	RTS





Message_Box.cfg
Code
01
B9
00 0C 36 A2 19 40
00 00
message_box.asm
01:01

"The right man in the wrong place can make all the difference in the world." G-Man, Half-Life 2
1) If you haven't already remove the cluster.asm I posted since it doesn't seem to be the cause and I don't know what it does if you use it outside of what it is supposed to fix.

2) Did you try applying an unedited version of PIXI on an unedited SMW ROM without inserting any sprites at all? And if so, does it still crash the game?

3) Where exactly does it crash? Still after the "Nintendo Presents"? After the intro? Or maybe if you enter the level?
  • Pages:
  • 1
  • 2