Beiträge von Chris

geschrieben am 25.07.2015 17:20:32 in Screenshots/Videos Thread - Zeige dein Zeug h(i)er!
( Link )
Gutes Level, das Spaß macht, flott und keinesfalls langweilig. Ich würde nur den Layer3-Vordergrund etwas schneller oder langsamer als Layer 1 scrollen lassen, jedenfall nicht genau gleich schnell. Und ich würde durchgehend den speziellen Waldboden verwenden, nicht zwischendurch den normalen Landboden. Ansonsten wie gesagt schönes Waldlevel mit guten Einfällen bezüglich dem Vorder- und Hintergrund.

Das mit der Layer-3-Exanimation wäre eine gute Idee. Ich konnte das zwar auch mal vor paar Jahren, hab aber leider wieder alles vergessen.
geschrieben am 01.08.2015 23:37:09 in DINGS - Irgendein Hack halt
( Link )
An sich ist das Level doch gar nicht schlecht. Das mit den Delphinen in der Lava ist ein guter Einfall. Ich würde aber weniger verschiedene Gegner nehmen und mich auf wenige spezialisieren (z. B. Schlossgegner raus).
geschrieben am 01.08.2015 23:48:25 in Lesbian Vampire Killer World 5000 - RELEASE!
( Link )
Ich finde auch, dass die Bilder - bis auf das erste Levelbild - vielversprechend und nach etwas Ernsthaftem (mehr als ein Jokehack) aussehen. Schöne Paletten in den letzten beiden Bildern!
geschrieben am 02.08.2015 17:33:50 in DINGS - Irgendein Hack halt
( Link )
Ich finde das Level sehr schön. Es sind viele gute Einfälle enthalten, vor allem bei den Stellen mit den Delphinen, Urchins und Torpedo-Teds. Gut gemacht!
Gibt es für den Glitch mit den Koopa-Panzern, die auf der Lava gleiten, nicht irgendeinen Fix (Patch oder Hex-Edit)? Mir ist, als hätte ich bei SMWC mal was dazu gelesen.
geschrieben am 02.08.2015 20:00:15 in DINGS - Irgendein Hack halt
( Link )
Zitat von Neidave:
Vielen Dank! Der Fix käme mir durchaus gelegen, weiß da vllt. jemand was näheres?

Versuch mal das hier: http://www.smwcentral.net/?p=section&a=details&id=4199
Habe ihn selbst aber noch nicht getestet.

Zur Overworld: Du hast recht, da könnte noch wesentlich mehr Deko rein. Sieht ziemlich leer aus. Das gilt auch für den blauen Hintergrund, HDMA ist hier sicherlich eine gute Idee.

Zitat von Neidave:
oh und gibt es vllt. ein Tutorial oder so zum ändern des "borders"?

Mit "border" meinst du alles außerhalb des Bildes? Das ist Layer 3 und kann mit Terra Stripe geändert werden. Ob es noch eine andere Änderungsmöglichkeit gibt, weiß ich nicht.
geschrieben am 05.08.2015 18:10:38 in Allgemeine SMW Hacking Fragen
( Link )
Eigenartig, ich hatte mit Asar-Patches noch keine Probleme. Den von dir genannten hatte ich aber noch nicht verwendet. Vielleicht liegt der Fehler auch nicht am Patch, sondern an deiner ROM. Vielleicht verträgt der Patch sich mit einem anderen, bereits installierten Patch nicht? Hast du den NMST-Patch mal an einem älteren Backup deiner ROM getestet?
Oder du probierst es mal mit der xkas-Version des Patches, auch wenn diese überholt sein mag und man Freespace festlegen muss. Aber besser als gar nichts.
geschrieben am 04.10.2015 17:10:15 in Allgemeine Hex- und ASM-Fragen
( Link )
Da ich nicht weiß, wie man einen Custom Sprite kurz nach seinem Tod wieder auf dem Bildschirm erscheinen lassen kann (z. B. Lakitu, Boss Bass), habe ich mich eines Custom Sprite Generators bedient und ihn entsprechend umfunktioniert. Hier der Code:
Code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; main sprite code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

EXTRA_BITS = $7FAB10
NEW_SPRITE_NUM = $7FAB9E

TBL_B2D0 dcb $FF,$FF
TBL_B2D2 dcb $00,$00
TBL_B2D4 dcb $F0,$F0

SPRITE_CODE_START JSR Count
BEQ RETURN
LDA $13
CMP #$4F

BCC RETURN
JSL $02A9DE
BMI RETURN
TYX

JSL $01ACF9 ; random value routine
AND #$01 ; 2 possible values
STA $00 ; store to scratch RAM

LDA $18B9 ; check if first extra bit is set
AND #$40
BNE SecondTable

PHY ; preserve Y register
LDY $00 ; load random value into Y
LDA Status1,y ; store sprite status
STA $14C8,x
LDA Sprites1,y ;
BRA SharedCode

SecondTable:

PHY ; preserve Y register
LDY $00 ; load random value into Y
LDA Status2,y ; store sprite status
STA $14C8,x
LDA Sprites2,y ;
BRA SharedCode

SharedCode:
PLY
STA NEW_SPRITE_NUM,x
JSL $07F7D2 ; reset sprite properties
JSL $0187A7 ; get table values for custom sprite
LDA #$08 ; mark as initialized
STA EXTRA_BITS,x

LDA #$1F
STA $D8,x
LDA $1D
ADC #$00
STA $14D4,x
LDA $148E
AND #$01
TAY
LDA TBL_B2D0,y
CLC
ADC $1A
STA $E4,x
LDA $1B
ADC TBL_B2D2,y
STA $14E0,x
LDA TBL_B2D4,y
STA $B6,x
RETURN RTS

Count: STZ TEMP ;TEMP will be the sprite counter
LDY #$00

LOOP
PHX
TYX ;Y into X
LDA $7FAB9E,x ;look into sprite type table for custom sprites
PLX


TYX ;Y->X, for long indexed


LDA $14C8,y ;load status
BEQ NOINCC ;if sprite is dead, don't increment

INC TEMP ;else increment
LDA TEMP ;compare TEMP to count

LDA NEW_SPRITE_NUM,x ;original sprite index
CMP #$93
BNE NOINCC

LDX $15E9 ;original sprite index
CMP #$01 ;if count is reached....
BCS RETURN2 ;just return

NOINCC
LDX $15E9 ;restore sprite index

INY ;advance index
CPY #$0C ;if some left to check...
BNE LOOP ;loop again

LDA #$01 ;Z = 0
RTS

RETURN2
LDA #$00 ;Z = 1
RTS


Dazu habe ich zwei Fragen:

Der Sprite taucht sofort nach seinem Ableben wieder auf. Wie kann ich einstellen, dass erst paar Sekunden bis zum erneuten Auftauchen vergehen?

Ich habe eine exakte y-Position festgelegt, in der der Sprite erscheinen soll:
Code
LDA #$FF
STA $D8,x
LDA $1D
ADC #$00
STA $14D4,x

#$FF ist bekanntermaßen die höchste Zahl. Je niedriger die Zahl ist, umso höher erscheint der Sprite auf dem Bildschirm. D. h., #$FF ist am tiefsten, was aber nicht die tiefstmögliche Position auf dem Bildschirm ist. Wie kriege ich die Sprite-Position noch niedriger als #$FF? Muss ich da irgendwas subtrahieren oder so?