Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 86 by
farter...@gmail.com: Engine problems with rules of TGM
series, and probable reason imo
http://code.google.com/p/nullpomino/issues/detail?id=86
--- What steps will reproduce the problem?
1.use classic3 / standard-hard
2.play speed mania
3.play~play~play~
--- What is the expected output? What do you see instead?
sometimes IRS doesn't work!
although i'm one always killed by L/J Blocking of ARS..
this heppens to S/Z/T which can't be blocked on initial rotation (no so
easily at least), also all of standard-hard, not restricted to S/Z lower
corner blocking.
but this NEVER happened when i play original TGM series.
if i press a rotation key before the piece spawns, on the frame it spawns,
it hould launch IRS. not on high stack which may block IRS.
else if i press a rotation key after the piece spawns, it should rotate on
the land. not unable-to-kick places, i guarantee.
else if i press it just on the frame it spawns.. shouldn't IRS work for now?
--- What version of the product are you using? On what operating system?
tried on both v750 stable, v760d r905. win7 32bit, java 6u22 (well a bit
old but i don't think related to this problem).
--- Please provide any additional information below.
continuing progress above..
so i checked the code (GameEngine.java:2216~), got:
// rotation
boolean onGroundBeforeRotate = nowPieceObject.checkCollision(nowPieceX,
nowPieceY + 1, field);
int move = 0;
boolean rotated = false;
if(initialRotateDirection != 0) {
move = initialRotateDirection;
initialRotateLastDirection = initialRotateDirection;
initialRotateContinuousUse = true;
playSE("initialrotate");
} else if((statc[0] > 0) || (ruleopt.moveFirstFrame == true)) {
if((itemRollRollEnable) && (replayTimer % itemRollRollInterval == 0))
move = 1; // Roll Roll
// button input
if(ctrl.isPush(Controller.BUTTON_A) ||
ctrl.isPush(Controller.BUTTON_C)) move = -1;
else if(ctrl.isPush(Controller.BUTTON_B)) move = 1;
else if(ctrl.isPush(Controller.BUTTON_E)) move = 2;
if(move != 0) {
initialRotateLastDirection = move;
initialRotateContinuousUse = true;
}
}
//---
moveFirstFrame is false for TGM series. so, it doesn't seem to launch IRS
on this frame.
also, das charge on are last frame & das charge on first frame are both
false. 2 extra frames. might this also cause the DAS feeling too slow?
or when measuring DAS, it included these 2 frames delay, and being added
into DAS again when npm does simulation?
i'm wondering how speed/DAS/etc. tables of TGM series are measured, also
the rules of "allow * on specified one frame".
leaked version of TGM3 has fixed lag. if using high speed camera on real
machine, it's not easy to get game moving status of it.
sorry for bad chinglish, and please correct me if i'm understanding
something wrong.