You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Changed how setting curvy laser node widths work. Instead of directly setting the width, the functions will set the nodes' width scales.
Renamed ObjCrLaser_SetNodeWidth to ObjCrLaser_SetNodeWidthScale.
Renamed ObjCrLaser_GetNodeWidth to ObjCrLaser_GetNodeWidthScale.
Improved cross-compatibility between different movement types of the following functions:
ObjMove_SetSpeed
ObjMove_SetAngle
ObjMove_SetAcceleration
ObjMove_SetMaxSpeed
ObjMove_SetAngularVelocity
Swapped the "shot graphic ID" and "target ID" arguments in ObjMove_AddPatternA4.
Swapped the "max speed" and "angular velocity" arguments of the following functions:
CreateShotA2
ObjMove_AddPatternA2
ObjMove_AddPatternA3
ObjMove_AddPatternA4
TRANSFORM_ADDPATTERN_A2 in ObjPatternShot transforms
Completely removed shot scripts.
Moved SetShotDeleteEventEnable to the stage script.
Default values for all three delete events are true.
Furthermore, fixed EV_DELETE_SHOT_IMMEDIATE and EV_DELETE_SHOT_FADE not being notified properly.
Restructed event arguments of EV_DELETE_SHOT_TO_ITEM.
The third event argument; "player collision", has been removed.
Collision with the player will now trigger EV_DELETE_SHOT_IMMEDIATE instead of EV_DELETE_SHOT_TO_ITEM.
Increased the minimum width for straight and curve lasers, primarily for delay visibility purposes. (Thanks to Naudiz)
Allowed lasers to lose penetration (life) points. (Thanks to Naudiz)
Like with any shot object, this will only occur when a laser lacks spell resistance (which it has by default).
Removed #BGM.
Made it so that the window sizes list will be autogenerated instead of defaulting to [640x480, 800x600, 960x720, 1280x960] when window.size.list in th_dnh.def doesn't exist.
Size multipliers are [x1, x1.25, x1.5, x2], with screen.width and screen.height being the base resolution.
Made it so that the engine will check for the required .dll modules during initialization.
d3d9.dll
d3dx9_43.dll
d3dcompiler_43.dll
dinput8.dll
dsound.dll
In the event where the Direct3D device enters a lost state, the engine will now attempt to restore up to 60 times before throwing an error, rather than only once.
Removed ObjItem_SetAutoCollectEnable, and replaced it with ObjItem_SetAutoCollectEnableFlags.
Additions:
Added Interpolate_X_Array, Interpolate_X_Angle, and Interpolate_X_AngleR. (Thanks to Naudiz)
Added ObjShot_SetEnemyIntersectionInvalidFrame and ObjShot_SetPenetrateShotEnable. (Thanks to Naudiz)
Added SetShotTextureFilter, SetItemTextureFilter, ObjRender_SetTextureFilter, and ObjShot_SetAngleRounding. (Thanks to Naudiz)
Added SetEnemyAutoDeleteClip, ObjEnemy_SetAutoDelete, and ObjEnemy_SetDeleteFrame. (Thanks to NicholasLogan)
Added ObjMove_SetAngularAcceleration, ObjMove_SetAngularMaxVelocity, and ObjMove_AddPatternA5. (Thanks to NicholasLogan)
Added an overload to CreateShotA2, adding an angular velocity argument in between the acceleration and max speed ones. (Thanks to Naudiz)
Added ObjMove_GetMovementType. (Thanks to Naudiz)
Added constants:
MOVE_NONE
MOVE_ANGLE
MOVE_XY
MOVE_XY_ANGLE
MOVE_LINE
Added the C-movement type for ObjMove. (Thanks to Naudiz)
CreateShotC1
CreateShotC2
CreateShotOC1
ObjMove_AddPatternC1
ObjMove_AddPatternC2
ObjMove_AddPatternC3
Added AddPattern functions for line-movement. (Thanks to Naudiz)
ObjMove_AddPatternD1 (AddPattern version of ObjMove_SetDestAtSpeed)
ObjMove_AddPatternD2 (AddPattern version of ObjMove_SetDestAtFrame)
ObjMove_AddPatternD3 (AddPattern version of ObjMove_SetDestAtWeight)
Added ObjMove_CancelMovement.
Added new transformations to pattern shot objects. (Thanks to Naudiz)
TRANSFORM_ADDPATTERN_C1
TRANSFORM_ADDPATTERN_C2
Added psrand.
Added array overloads to the following functions:
ObjSprite2D_SetSourceRect
ObjSprite2D_SetDestRect
ObjSpriteList2D_SetSourceRect
ObjSpriteList2D_SetDestRect
ObjSprite3D_SetSourceRect
ObjSprite3D_SetDestRect
ObjSprite3D_SetSourceDestRect
Added support for hexadecimal numbers in text color tags.
"[f tc=0xffffff]" is equivalent to "[f tc=(255,255,255)]".
Added GetWorkingDirectory.
Added an option to allow the engine to keep running while the window is unfocused. (Thanks to Naudiz)
Added SetEnableUnfocusedProcessing and IsWindowFocused.
Added the property "unfocused.processing" to th_dnh.def.
Added EV_APP_LOSE_FOCUS and EV_APP_RESTORE_FOCUS.
Added exponent format for numbers.
"5.462e3" or "-231.9e-2" are now valid numbers.
Added ObjItem_SetAutoCollectEnableFlags.
ITEM_AUTOCOLLECT_PLAYER_SCOPE
ITEM_AUTOCOLLECT_COLLECT_ALL
ITEM_AUTOCOLLECT_POC_LINE
ITEM_AUTOCOLLECT_COLLECT_CIRCLE
ITEM_AUTOCOLLECT_ALL
Added an overload to atoi.
Added SetScore, SetGraze, and SetPoint.
Bug fixes:
Fixed .dat archives not working.
Fixed incorrect null checks, resulting in the game crashing when trying to operate on a null value.
For example, using Obj_GetValue on a non-existent key will yield a null value.
Fixed a crash bug which may sometimes happen when trying to parse a script file that ends with a line comment.
Fixed ObjMove_AddPatternXX's shot graphic change not working with loose and curvy lasers.
Fixed SetShotIntersectionCircle/Line not registering intersection, despite showing up in intersection visualization.