geschrieben am 26.04.2011 19:18:26
Hey Leute. Mir war eigentlich von vornherein klar dass ich für meinen neuen Custom Boss wieder eure Hilfe brauche. Allerdings hab ich nicht damit gerechnet, dass so schnell was nicht klappt.
Die asm-Datei kann von SpriteTool nämlich gar nicht geöffnet werden (couldn't open boss4.asm). TempLog:
Code
65816 Tricks Assembler Version 1.11 (C)opyright 1994 1000 Miles [Tricks]
Internet: norman_yen@idream.tfbbs.wimsey.com, IRC: minus
Memory available: 2147483647
Starting address defined as $97B767
Pass 1
Pass 2
Pass 3
Source code assembled.
[$97B767-$97BA7D]
Lines=536
Statements=454
Symbols=79
Errors=0
Noch eine Frage:
Ich benutze ja den Ultimate Noob Boss von Iceguy und mein Boss soll 3 verschiedene normale Sprites generieren. Hier:
Code!NormalSprite = $02 ; Normal sprite to generate (if generating one).
!CustomSprite = $00 ; Custom sprite to generate.
; NOTE: Generating a custom sprite that doesn't exist will (probably) result in a crash.
!Gravity = $10 ; Does your boss float in the air?
; If so, leave it as 00. Otherwise, this is the gravity for the sprite.
; Suggested value: any value from 00-50.
; 10 = low gravity.
; 50 = high gravity.
!Ledges = $01 ; Does your sprite stay on ledges?
; 00 -> No, 01 -> Yes.
SPRITE_TO_GEN: ; For generating a random sprite, write the sprites here. Table must be 3 bytes!
db $E2,$06,$38 ; Irgendwelche Sprites
Muss ich oben bei !NormalSprite ein $02 lassen, wenn ich bei SPRITE_TO_GEN meine gewünschten Sprites reinschreibe?
Und muss ich dann unten bei den States "JSR GenNSprite" dazunehmen?
DANKE
RTS
Exits done: 42,
Overworld: 80%
To do list: Castle #5... fast fertig... Danach gibts endlich die Demo
geschrieben am 26.04.2011 19:26:22
Zitat von exit1337: Muss das Vollzitat sein? Nein. ~WYE
Nope, brauchst normalsprite net. Tricks Assembler, also im .cfg Xkas for Assmeble.
geschrieben am 27.04.2011 12:44:04
Konnte den Sprite jetzt improtieren. Ja, ich hatte was falsches in der .cfg Datei stehen. Das mit den Sprites klappt auch!
Eine weitere Frage:
Wie mache ich es, dass Mario getroffen wird, wenn er einen normalen Jump auf den Boss macht, aber der Boss getroffen wird, wenn Mario einen
Spin-Jump macht?
Bei JSR JumpHurt wird der Boss ja bei einem normalen Jump getroffen..
Exits done: 42,
Overworld: 80%
To do list: Castle #5... fast fertig... Danach gibts endlich die Demo
geschrieben am 27.04.2011 13:15:07
Vielleicht könntest du $140D irgendwie verwenden und bei JumpHurt einfügen. Das ist die Adresse, die abprüft, ob Mario einen Spinjump macht.
-Das quadratische Rad neu erfinden-
Mit
das quadratische Rad neu erfinden (englisch
Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.
-Slowsort-
Slowsort (von engl.
slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip
Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf
Teile und herrsche) arbeitet.
geschrieben am 27.04.2011 13:18:08
Okay, ich werds ausprobieren. Kann dieser Custom Boss wirklich keine 45-Grad Ledges hinunterlaufen? o_O..
Edit: Und wahrscheinlich die letzte Frage:
Wie kann ich die Geschwindigkeit einstellen, mit der der Boss Sprites spawnt?
Hier ist der originale RandomSprite (Generator) Code:
CodeRandSpr:
LDA $13
AND #$7F
BNE Fail
LDA $15A0,x
ORA $186C,x
ORA $15D0,x
BNE Fail
JSL $02A9DE
BMI Fail
LDA #$09
STA $1DFC
LDA #!INITSTAT
STA $14C8,y
PHX
LDA #$02
JSL RANDOM
TAX
LDA SPRITE_TO_GEN,x
PLX
STA $009E,y
LDA $E4,x
STA $00E4,y
LDA $14E0,x
STA $14E0,y
LDA $D8,x
SEC
SBC #$01
STA $00D8,y
LDA $14D4,x
SBC #$00
STA $14D4,y
PHX
TYX
JSL $07F7D2
PLX
Fail: RTS
RANDOM:
PHX
PHP
SEP #$30
PHA
JSL $01ACF9
PLX
CPX #$FF
BNE NORMALRT
LDA $148B
BRA ENDRANDOM
NORMALRT:
INX
LDA $148B
STA $4202
STX $4203
NOP #4
LDA $4217
ENDRANDOM:
PLP
PLX
RTL
Exits done: 42,
Overworld: 80%
To do list: Castle #5... fast fertig... Danach gibts endlich die Demo
geschrieben am 27.04.2011 14:45:56
Ich schätze mal, dass es direkt das erste "AND #'$7F" ist. Ausgeschrieben wäre das ja "AND #%01111111". Jede 1 weniger würde die Spawnzeit halbieren, jede 1 mehr verdoppeln. Also "AND #%11111111" wäre doppelte Zeit, "AND #%00111111" halbe Zeit. Falls das stimmt, müsstest du diesen Teil des Codes umschreiben, um genauere Zeiten einstellen zu können.
-Das quadratische Rad neu erfinden-
Mit
das quadratische Rad neu erfinden (englisch
Reinventing the square wheel) bezeichnet man die Bereitstellung einer schlechten Lösung, wenn eine gute Lösung bereits existiert.
-Slowsort-
Slowsort (von engl.
slow: langsam) ist ein langsamer, rekursiver Sortieralgorithmus, der nach dem Prinzip
Vervielfache und kapituliere (engl. Multiply and surrender, eine Parodie auf
Teile und herrsche) arbeitet.
geschrieben am 27.04.2011 15:17:52
Sehr schön
Mit 3F hat es super geklappt, danke :>
Exits done: 42,
Overworld: 80%
To do list: Castle #5... fast fertig... Danach gibts endlich die Demo