• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Go で書き直した Ikemen


Commit MetaInfo

Revisionf5d07ae083fa263693bf0e6887e3d09585eefed9 (tree)
Time2019-10-26 20:07:03
Authorneatunsou <sisiy4excite@gmai...>
Commiterneatunsou

Log Message

Afterimagetimeが働いてないミスを修正
Afterimageのtime周りのミスを修正
Helperのownpal=0のパレットを修正

Change Summary

Incremental Difference

--- a/script/select.lua
+++ b/script/select.lua
@@ -2540,9 +2540,12 @@ local txt_credits = main.f_createTextImg(
25402540 )
25412541
25422542 function select.f_continue()
2543+ main.f_resetBG(motif.continue_screen, motif.continuebgdef, motif.music.continue_bgm, motif.music.continue_bgm_loop, motif.music.continue_bgm_volume, motif.music.continue_bgm_loopstart, motif.music.continue_bgm_loopend)
2544+ animReset(motif.continue_screen.continue_anim_data)
2545+ animUpdate(motif.continue_screen.continue_anim_data)
25432546 continue = false
2544- playBGM(motif.music.continue_bgm, true, motif.music.continue_bgm_loop, motif.music.continue_bgm_volume, motif.music.continue_bgm_loopstart or "0", motif.music.continue_bgm_loopend or "0")
2545- --textImgSetText(txt_credits, text[1])
2547+ local text = main.f_extractText(motif.continue_screen.credits_text, main.credits)
2548+ textImgSetText(txt_credits, text[1])
25462549 main.f_cmdInput()
25472550 while true do
25482551 --draw clearcolor (disabled to not cover area)
--- a/src/bytecode.go
+++ b/src/bytecode.go
@@ -3182,6 +3182,7 @@ func (sc afterImageTime) Run(c *Char, _ []int32) bool {
31823182 switch id {
31833183 case afterImageTime_time:
31843184 crun.aimg.time = exp[0].evalI(c)
3185+ crun.aimg.timecount = 0
31853186 }
31863187 return true
31873188 })
--- a/src/char.go
+++ b/src/char.go
@@ -676,6 +676,7 @@ type AfterImage struct {
676676 imgidx int32
677677 restgap int32
678678 reccount int32
679+ timecount int32
679680 ignorehitpause bool
680681 }
681682
@@ -705,6 +706,7 @@ func (ai *AfterImage) clear() {
705706 ai.imgidx = 0
706707 ai.restgap = 0
707708 ai.reccount = 0
709+ ai.timecount = 0
708710 ai.ignorehitpause = true
709711 }
710712 func (ai *AfterImage) setPalColor(color int32) {
@@ -786,20 +788,21 @@ func (ai *AfterImage) recAfterImg(sd *SprData, hitpause bool) {
786788 ai.restgap = ai.timegap
787789 }
788790 ai.restgap--
791+ ai.timecount++
789792 }
790793 func (ai *AfterImage) recAndCue(sd *SprData, rec bool, hitpause bool) {
791- if ai.time == 0 || (ai.reccount*ai.timegap >= ai.timegap*ai.length+ai.time && ai.time > 0) ||
794+ if ai.time == 0 || (ai.timecount >= ai.timegap*ai.length+ai.time-1 && ai.time > 0) ||
792795 ai.timegap < 1 || ai.timegap > 32767 ||
793796 ai.framegap < 1 || ai.framegap > 32767 {
794797 ai.time = 0
795- ai.reccount, ai.timegap = 0, 0
798+ ai.reccount, ai.timecount, ai.timegap = 0, 0, 0
796799 return
797800 }
798801 end := Min(sys.afterImageMax,
799802 (Min(Min(ai.reccount, int32(len(ai.imgs))), ai.length)/ai.framegap)*ai.framegap)
800803 for i := ai.framegap; i <= end; i += ai.framegap {
801804 img := &ai.imgs[(ai.imgidx-i)&63]
802- if ai.time < 0 || (ai.reccount-i) < ai.time/ai.timegap {
805+ if ai.time < 0 || (ai.timecount/ai.timegap-i) < (ai.time-2)/ai.timegap+1 {
803806 ai.palfx[i/ai.framegap-1].remap = sd.fx.remap
804807 sys.sprites.add(&SprData{&img.anim, &ai.palfx[i/ai.framegap-1], img.pos,
805808 img.scl, ai.alpha, sd.priority - 2, img.angle, img.yangle, img.xangle, img.ascl,
@@ -1103,7 +1106,7 @@ type Projectile struct {
11031106 hits int32
11041107 misstime int32
11051108 priority int32
1106- priorityPoints int32
1109+ priorityPoints int32
11071110 sprpriority int32
11081111 edgebound int32
11091112 stagebound int32
@@ -1261,11 +1264,11 @@ func (p *Projectile) clsn(playerNo int) {
12611264 [...]float32{pr.pos[0] * pr.localscl, pr.pos[1] * pr.localscl}, pr.facing,
12621265 clsn2, [...]float32{p.clsnScale[0] * p.localscl, p.clsnScale[1] * p.localscl},
12631266 [...]float32{p.pos[0] * p.localscl, p.pos[1] * p.localscl}, p.facing) {
1264-
1267+
12651268 opp, pp := &sys.projs[i][j], p.priorityPoints
12661269 cancel(&p.priorityPoints, &p.hits, opp.priorityPoints)
12671270 cancel(&opp.priorityPoints, &opp.hits, pp)
1268-
1271+
12691272 if p.hits < 0 {
12701273 break
12711274 }
@@ -2942,11 +2945,13 @@ func (c *Char) helperInit(h *Char, st int32, pt PosType, x, y float32,
29422945 h.vel = [2]float32{}
29432946 if ownpal {
29442947 h.palfx = newPalFX()
2945- tmp := c.getPalfx().remap
2946- h.palfx.remap = make([]int, len(tmp))
2947- copy(h.palfx.remap, tmp)
2948- c.forceRemapPal(h.palfx, rp)
2948+ } else {
2949+ h.palfx = c.palfx
29492950 }
2951+ tmp := c.getPalfx().remap
2952+ h.palfx.remap = make([]int, len(tmp))
2953+ copy(h.palfx.remap, tmp)
2954+ c.forceRemapPal(h.palfx, rp)
29502955 if extmap {
29512956 for key, value := range c.mapArray {
29522957 h.mapArray[key] = value