From 1b1b1641ffff7130ec60f0bb1e7e28a644b9290f Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 7 Jul 2021 23:13:31 +0900 Subject: [PATCH] enabling sprite glow again (dunno why it was disabled tho) --- .../basegame/sprites/taimu_glow.properties | 2 +- .../sprites/test_sprite_glow.properties | 37 +++++++++++++++++++ .../sprites/test_werebeast/taimuglow_head.tga | 2 +- .../gameactors/PlayerBuilderSigrid.kt | 2 +- .../gameactors/PlayerBuilderTestSubject1.kt | 4 +- .../gameactors/PlayerBuilderWerebeastTest.kt | 4 +- .../sprites/npc_template_humanoid_savage.kra | 4 +- 7 files changed, 46 insertions(+), 9 deletions(-) create mode 100644 assets/mods/basegame/sprites/test_sprite_glow.properties diff --git a/assets/mods/basegame/sprites/taimu_glow.properties b/assets/mods/basegame/sprites/taimu_glow.properties index eacc02c06..fc450b9a4 100644 --- a/assets/mods/basegame/sprites/taimu_glow.properties +++ b/assets/mods/basegame/sprites/taimu_glow.properties @@ -1,5 +1,5 @@ # complete file name is: SPRITESHEET + bodypart name + EXTENSION -SPRITESHEET=mods/basegame/sprites/test_werebeast/taimu_ +SPRITESHEET=mods/basegame/sprites/test_werebeast/taimuglow_ EXTENSION=.tga # defines frame size and origin point. Origin point is given as: (originx, size.y - 1) # ORIGINY is deduced from the sprite size as shown in above; you only need to set ORIGINX diff --git a/assets/mods/basegame/sprites/test_sprite_glow.properties b/assets/mods/basegame/sprites/test_sprite_glow.properties new file mode 100644 index 000000000..af5005693 --- /dev/null +++ b/assets/mods/basegame/sprites/test_sprite_glow.properties @@ -0,0 +1,37 @@ +# complete file name is: SPRITESHEET + bodypart name + EXTENSION +SPRITESHEET=mods/basegame/sprites/sprite_assembler_test_assets/testglow_ +EXTENSION=.tga +# defines frame size and origin point. Origin point is given as: (originx, size.y - 1) +# ORIGINY is deduced from the sprite size as shown in above; you only need to set ORIGINX +CONFIG=SIZE 48,56;ORIGINX 29 + +# note to self: don't implement skeleton hierarchy: there's too many exceptions +# besides, you have "ALL" key. + +! a skeleton also defines what body parts (images) be used. +! you can also write multiline text using reverse solidus; this is a feature of .properties +! skeleton joints are ordered: foremost-drawn object comes first, which means lowermost object IN THIS LIST +! are painted first, and any object that comes before it will paint over it. In other words, this list is +! first reversed then being iterated. +! Joints' original point is defined in the document sprite_joints.psd. It also has visual representations. +# TODO right now accessory points are explicitly defined. Should they be injected in run-time? In that case, certain names (e.g. headgear, held_item) will act as an anchor. +SKELETON_STAND=HEADGEAR 0,32;HAIR_FORE 0,32;\ + ARM_REST_RIGHT -7,23;HAND_REST_RIGHT -6,11;HELD_ITEM -6,11;\ + HAIR 0,32;HEAD 0,32;\ + UPPER_TORSO 0,23;LOWER_TORSO 0,15;\ + FOOT_RIGHT -2,2;LEG_REST_RIGHT -2,7;\ + FOOT_LEFT 2,2;LEG_REST_LEFT 2,7;\ + ARM_REST_LEFT 5,24;HAND_REST_LEFT 6,12;\ + TAIL0 0,13 + +# skeleton_stand is used for testing purpose +ANIM_RUN=DELAY 0.15;ROW 2;SKELETON SKELETON_STAND +ANIM_RUN_1=LEG_REST_RIGHT 1,1;FOOT_RIGHT 1,1;LEG_REST_LEFT -1,0;FOOT_LEFT -1,0 +ANIM_RUN_2=ALL 0,1;LEG_REST_RIGHT 0,-1;FOOT_RIGHT 0,-1;LEG_REST_LEFT 0,1;FOOT_LEFT 0,1 +ANIM_RUN_3=LEG_REST_RIGHT -1,0;FOOT_RIGHT -1,0;LEG_REST_LEFT 1,1;FOOT_LEFT 1,1 +ANIM_RUN_4=ALL 0,1;LEG_REST_RIGHT 0,1;FOOT_RIGHT 0,1;LEG_REST_LEFT 0,-1;FOOT_LEFT 0,-1 + +ANIM_IDLE=DELAY 2;ROW 1;SKELETON SKELETON_STAND +ANIM_IDLE_1= +! ANIM_IDLE_1 will not make any transformation +ANIM_IDLE_2=UPPER_TORSO 0,-1;HEAD 0,-1;HAIR 0,-1;HELD_ITEM 0,-1;ARM_REST_LEFT 0,-1;ARM_REST_RIGHT 0,-1;HAND_REST_LEFT 0,-1;HAND_REST_RIGHT 0,-1;HAIR_FORE 0,-1;HEADGEAR 0,-1 diff --git a/assets/mods/basegame/sprites/test_werebeast/taimuglow_head.tga b/assets/mods/basegame/sprites/test_werebeast/taimuglow_head.tga index da6bfae2c..65eaf4d42 100644 --- a/assets/mods/basegame/sprites/test_werebeast/taimuglow_head.tga +++ b/assets/mods/basegame/sprites/test_werebeast/taimuglow_head.tga @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5005cdd2c9d8511d9f856375c91d8a64b2393ad763e2a0608006d67030ebfb1d +oid sha256:9c078641d30b60ae989e3234ff9d6852ad70296d4cd48b3ed46b7c68b0773d39 size 1866 diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderSigrid.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderSigrid.kt index 7c076fed7..46d75b73b 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderSigrid.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderSigrid.kt @@ -16,7 +16,7 @@ object PlayerBuilderSigrid { operator fun invoke(): IngamePlayer { val p = IngamePlayer("lol", "lol_glow", - 9223372036854775807L) // XD - p.referenceID = 0x51621D // the only constant of this procedural universe + //p.referenceID = 0x51621D // the only constant of this procedural universe p.makeNewSprite(TextureRegionPack(ModMgr.getGdxFile("basegame", "sprites/test_player.tga"), 28, 51)) diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderTestSubject1.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderTestSubject1.kt index 99e61027f..90393e477 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderTestSubject1.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderTestSubject1.kt @@ -12,7 +12,7 @@ object PlayerBuilderTestSubject1 { operator fun invoke(): IngamePlayer { val p: IngamePlayer = IngamePlayer( ModMgr.getPath("basegame", "sprites/test_sprite.properties"), - null,//ModMgr.getPath("basegame", "sprites/test_sprite_glow.properties"), + ModMgr.getPath("basegame", "sprites/test_sprite_glow.properties"), -589141658L // random value thrown ) InjectCreatureRaw(p.actorValue, "basegame", "CreatureHuman.json") @@ -29,7 +29,7 @@ object PlayerBuilderTestSubject1 { p.sprite!!.setRowsAndFrames(2, 4)*/ p.sprite = SpriteAnimation(p) - //p.spriteGlow = SpriteAnimation(p) + p.spriteGlow = SpriteAnimation(p) p.reassembleSprite(p.sprite!!, p.spriteGlow) p.setHitboxDimension(15, p.actorValue.getAsInt(AVKey.BASEHEIGHT) ?: ActorHumanoid.BASE_HEIGHT, 21, 0) diff --git a/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderWerebeastTest.kt b/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderWerebeastTest.kt index d2bee6606..58fdfd23d 100644 --- a/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderWerebeastTest.kt +++ b/src/net/torvald/terrarum/modulebasegame/gameactors/PlayerBuilderWerebeastTest.kt @@ -35,7 +35,7 @@ object PlayerBuilderWerebeastTest { p.actorValue[AVKey.__PLAYER_QUICKSLOTSEL] = 0 p.actorValue[AVKey.__ACTION_TIMER] = 0.0 p.actorValue[AVKey.ACTION_INTERVAL] = ActorHumanoid.BASE_ACTION_INTERVAL - p.actorValue[AVKey.NAME] = "Test Subject 1" + p.actorValue[AVKey.NAME] = "Taimu" /*p.makeNewSprite(TextureRegionPack(ModMgr.getGdxFile("basegame", "sprites/npc_template_anim_prototype.tga"), 48, 52)) @@ -43,7 +43,7 @@ object PlayerBuilderWerebeastTest { p.sprite!!.setRowsAndFrames(2, 4)*/ p.sprite = SpriteAnimation(p) - //p.spriteGlow = SpriteAnimation(p) + p.spriteGlow = SpriteAnimation(p) p.reassembleSprite(p.sprite!!, p.spriteGlow) p.setHitboxDimension(28, p.actorValue.getAsInt(AVKey.BASEHEIGHT) ?: ActorHumanoid.BASE_HEIGHT, 24, 0) diff --git a/work_files/graphics/sprites/npc_template_humanoid_savage.kra b/work_files/graphics/sprites/npc_template_humanoid_savage.kra index c166984c7..332366290 100644 --- a/work_files/graphics/sprites/npc_template_humanoid_savage.kra +++ b/work_files/graphics/sprites/npc_template_humanoid_savage.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ce2bc486eaed1c2f36989ed25c588cd15bba57ba1ae632fc1735d40a4bee2c8 -size 314194 +oid sha256:40a94ca1e4ed280ed3b9b50ff00e1753c1d191e8b45cfc96e438686f34c8650e +size 310407