Fixes for pico mixes metadatas, fixes for christmas

This commit is contained in:
entar 2025-09-04 18:07:06 +07:00
parent 53105d1250
commit f16a2e5317
47 changed files with 121 additions and 79 deletions

View File

@ -185,8 +185,8 @@
0
],
"camera_position": [
-600,
-130
-1230,
-200
],
"sing_duration": 4,
"scale": 1

View File

@ -11,7 +11,7 @@
"opponent": "pico",
"instrumental": "erect"
},
"stage": "phillyTrainErect",
"stage": "phillyErect",
"noteStyle": "funkin",
"ratings": { "erect": 11, "nightmare": 12 },
"album": "volume3",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Blammed (Pico Mix)",
"songName": "Blammed Pico",
"artist": "Metaroom (feat. Saruky)",
"charter": "fabs + Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "phillyTrainErect",
"stage": "phillyErect",
"noteStyle": "funkin",
"ratings": { "easy": 3, "normal": 4, "hard": 5 },
"album": "volume4",

View File

@ -4,7 +4,7 @@
"artist": "Kawai Sprite",
"charter": "ninjamuffin99 + MtH",
"playData": {
"stage": "phillyTrain",
"stage": "philly",
"characters": {
"player": "bf",
"girlfriend": "gf",

View File

@ -11,7 +11,7 @@
"opponent": "dad",
"instrumental": "erect"
},
"stage": "mainStageErect",
"stage": "stageErect",
"noteStyle": "funkin",
"ratings": { "erect": 7, "nightmare": 8 },
"album": "volume3",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Bopeebo (Pico Mix)",
"songName": "Bopeebo Pico",
"artist": "ThatAndyGuy (feat. Saruky)",
"charter": "fabs + Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "mainStageErect",
"stage": "stageErect",
"noteStyle": "funkin",
"ratings": { "easy": 1, "normal": 2, "hard": 3 },
"album": "volume4",

View File

@ -19,7 +19,7 @@
"instrumental": "",
"altInstrumentals": ["pico"]
},
"stage": "mainStage",
"stage": "stage",
"noteStyle": "funkin",
"album": "volume1",
"previewStart": 0,

View File

@ -12,7 +12,7 @@
"instrumental": "erect",
"altInstrumentals": []
},
"stage": "mallXmasErect",
"stage": "mallErect",
"noteStyle": "funkin",
"ratings": { "erect": 7, "nightmare": 8 },
"album": "volume4",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Cocoa (Pico Mix)",
"songName": "Cocoa Pico",
"artist": "Six Impala (feat. Saruky)",
"charter": "fabs + Spazkid",
"playData": {
@ -13,7 +13,7 @@
"opponentVocals": ["parents-christmas"],
"playerVocals": ["pico-christmas"]
},
"stage": "mallXmasErect",
"stage": "mallErect",
"noteStyle": "funkin",
"album": "expansion2",
"ratings": { "easy": 2, "normal": 3, "hard": 4 },

View File

@ -5,7 +5,7 @@
"charter": "ninjamuffin99 + MtH",
"playData": {
"songVariations": ["erect", "pico"],
"stage": "mallXmas",
"stage": "mall",
"characters": {
"player": "bf-christmas",
"girlfriend": "gf-christmas",

View File

@ -12,7 +12,7 @@
"opponent": "dad",
"instrumental": "erect"
},
"stage": "mainStageErect",
"stage": "stageErect",
"noteStyle": "funkin",
"ratings": { "erect": 9, "nightmare": 10 },
"album": "volume3",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "DadBattle (Pico Mix)",
"songName": "DadBattle Pico",
"artist": "TeraVex (ft. Saruky)",
"charter": "fabs + Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "mainStageErect",
"stage": "stageErect",
"noteStyle": "funkin",
"ratings": { "easy": 3, "normal": 4, "hard": 5 },
"album": "volume4",

View File

@ -15,7 +15,7 @@
"opponent": "dad",
"altInstrumentals": ["pico"]
},
"stage": "mainStage",
"stage": "stage",
"noteStyle": "funkin",
"album": "volume1",
"previewStart": 0,

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Darnell (BF Mix)",
"songName": "Darnell (BF",
"artist": "Saruky",
"charter": "fabs + Spazkid",
"playData": {

View File

@ -11,7 +11,7 @@
"opponent": "parents-christmas",
"instrumental": "erect"
},
"stage": "mallXmasErect",
"stage": "mallErect",
"noteStyle": "funkin",
"ratings": { "erect": 6, "nightmare": 7 },
"album": "expansion1",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Eggnog (Pico Mix)",
"songName": "Eggnog Pico",
"artist": "Teravex (ft. Saruky)",
"charter": "fabs + Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "mallXmasErect",
"stage": "mallErect",
"noteStyle": "funkin",
"ratings": { "easy": 3, "normal": 4, "hard": 5 },
"album": "volume4",

View File

@ -4,7 +4,7 @@
"artist": "Kawai Sprite",
"charter": "ninjamuffin99 + MtH",
"playData": {
"stage": "mallXmas",
"stage": "mall",
"characters": {
"player": "bf-christmas",
"girlfriend": "gf-christmas",

View File

@ -11,7 +11,7 @@
"opponent": "dad",
"instrumental": "erect"
},
"stage": "mainStageErect",
"stage": "stageErect",
"noteStyle": "funkin",
"ratings": { "erect": 6, "nightmare": 7 },
"album": "volume3",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Fresh (Pico Mix)",
"songName": "Fresh Pico",
"artist": "Xploshi (ft. Saster)",
"charter": "fabs + Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "mainStageErect",
"stage": "stageErect",
"noteStyle": "funkin",
"ratings": { "easy": 2, "normal": 3, "hard": 4 },
"album": "volume4",

View File

@ -5,7 +5,7 @@
"charter": "ninjamuffin99 + MtH",
"playData": {
"album": "volume1",
"stage": "mainStage",
"stage": "stage",
"characters": {
"player": "bf",
"girlfriend": "gf",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Guns (Pico Mix)",
"songName": "Guns Pico",
"artist": "tsuyunoshi (ft. Saruky)",
"charter": "fabs + Spazkid",
"divisions": 96,
@ -18,7 +18,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "tankmanBattlefieldErect",
"stage": "tankErect",
"noteStyle": "funkin",
"ratings": { "easy": 3, "normal": 4, "hard": 5 },
"album": "volume4",

View File

@ -4,7 +4,7 @@
"artist": "Kawai Sprite",
"charter": "MtH",
"playData": {
"stage": "tankmanBattlefield",
"stage": "tank",
"songVariations": ["pico"],
"characters": {
"player": "bf",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Lit Up (BF Mix)",
"songName": "Lit Up (BF",
"artist": "Saruky",
"charter": "fabs + Spazkid",
"divisions": 96,

View File

@ -11,7 +11,7 @@
"opponent": "pico",
"instrumental": "erect"
},
"stage": "phillyTrainErect",
"stage": "phillyErect",
"noteStyle": "funkin",
"ratings": { "erect": 8, "nightmare": 9 },
"album": "volume3",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Philly Nice (Pico Mix)",
"songName": "Philly Nice Pico",
"artist": "tsuyunoshi (ft. Saruky)",
"charter": "Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "phillyTrainErect",
"stage": "phillyErect",
"noteStyle": "funkin",
"ratings": { "easy": 2, "normal": 3, "hard": 4 },
"album": "volume4",

View File

@ -4,7 +4,7 @@
"artist": "Kawai Sprite",
"charter": "ninjamuffin99 + MtH + Spazkid",
"playData": {
"stage": "phillyTrain",
"stage": "philly",
"characters": {
"player": "bf",
"girlfriend": "gf",

View File

@ -12,7 +12,7 @@
"instrumental": "erect",
"altInstrumentals": []
},
"stage": "phillyTrainErect",
"stage": "phillyErect",
"noteStyle": "funkin",
"ratings": { "erect": 9, "nightmare": 10 },
"album": "volume3",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Pico (Pico Mix)",
"songName": "Pico Pico",
"artist": "Metaroom (ft. Saster)",
"charter": "fabs",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "phillyTrainErect",
"stage": "phillyErect",
"noteStyle": "funkin",
"ratings": { "easy": 2, "normal": 3, "hard": 4 },
"album": "expansion2",

View File

@ -5,7 +5,7 @@
"charter": "ninjamuffin99 + MtH",
"playData": {
"album": "volume1",
"stage": "phillyTrain",
"stage": "philly",
"characters": { "player": "bf", "girlfriend": "gf", "opponent": "pico" },
"songVariations": ["erect", "pico"],
"difficulties": ["easy", "normal", "hard"],

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Roses (Pico Mix)",
"songName": "Roses Pico",
"artist": "Xploshi (ft. Saruky)",
"charter": "fabs + Spazkid",
"divisions": 96,

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Senpai (Pico Mix)",
"songName": "Senpai Pico",
"artist": "Tee Lopes (Feat. Saruky)",
"charter": "fabs + Spazkid",
"divisions": 96,

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "South (Pico Mix)",
"songName": "South Pico",
"artist": "Six Impala (feat. Saster)",
"charter": "fabs + Spazkid",
"playData": {

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Spookeez (Pico Mix)",
"songName": "Spookeez Pico",
"artist": "Six Impala (feat. Saster)",
"charter": "fabs + Spazkid",
"playData": {

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Stress (Pico Mix)",
"songName": "Stress Pico",
"artist": "Saruky",
"charter": "fabs + Spazkid",
"divisions": 96,
@ -11,13 +11,13 @@
"characters": {
"player": "pico-holding-nene",
"girlfriend": "otis-speaker",
"opponent": "tankman-bloody",
"opponent": "tankman",
"instrumental": "pico",
"altInstrumentals": [],
"opponentVocals": ["tankman"],
"playerVocals": ["pico"]
},
"stage": "tankmanBattlefieldErect",
"stage": "tankErect",
"noteStyle": "funkin",
"album": "expansion2",
"ratings": { "easy": 4, "normal": 5, "hard": 6 },

View File

@ -12,7 +12,7 @@
"instrumental": "",
"altInstrumentals": ["pico"]
},
"stage": "tankmanBattlefield",
"stage": "tank",
"songVariations": ["pico"],
"noteStyle": "funkin",
"ratings": { "easy": 3, "normal": 4, "hard": 5 },

View File

@ -5,7 +5,7 @@
"charter": "ninjamuffin99 + MtH",
"playData": {
"ratings": { "easy": 0, "normal": 0, "hard": 1 },
"stage": "mainStage",
"stage": "stage",
"characters": { "player": "bf", "opponent": "gf" },
"difficulties": ["easy", "normal", "hard"],
"noteStyle": "funkin",

View File

@ -12,7 +12,7 @@
"instrumental": "erect",
"altInstrumentals": []
},
"stage": "tankmanBattlefieldErect",
"stage": "tankErect",
"noteStyle": "funkin",
"ratings": { "erect": 8, "nightmare": 9 },
"album": "volume4",

View File

@ -1,6 +1,6 @@
{
"version": "2.2.4",
"songName": "Ugh (Pico Mix)",
"songName": "Ugh Pico",
"artist": "tsuyunoshi (ft. Saruky)",
"charter": "fabs + Spazkid",
"playData": {
@ -12,7 +12,7 @@
"instrumental": "pico",
"altInstrumentals": []
},
"stage": "tankmanBattlefieldErect",
"stage": "tankErect",
"noteStyle": "funkin",
"ratings": { "easy": 2, "normal": 3, "hard": 4 },
"album": "volume4",

View File

@ -13,7 +13,7 @@
"altInstrumentals": ["pico"]
},
"songVariations": ["erect", "pico"],
"stage": "tankmanBattlefield",
"stage": "tank",
"noteStyle": "funkin",
"ratings": { "easy": 2, "normal": 3, "hard": 4 },
"album": "volume2",

BIN
images/healthBar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

View File

@ -439,6 +439,7 @@ function module.drawUI()
if thing.isImage then
local cameraOffset = thing.ui and Vector2() or module.cameraPosition
local sizex, sizey = thing:getWidth(), thing:getHeight()
if type(thing.shader) == "string" and loadedShaders[thing.shader] then
love.graphics.setShader(loadedShaders[thing.shader])
elseif thing.shader then
@ -448,7 +449,9 @@ function module.drawUI()
end
love.graphics.draw(thing.image, thing.position.x + cameraOffset.x * thing.modifier + render.offset.x,
thing.position.y + cameraOffset.y * thing.modifier + render.offset.y, thing.rotation,
thing.resize.x * (thing.flipX and -1 or 1), thing.resize.y * (thing.flipY and -1 or 1))
thing.resize.x * (thing.flipX and -1 or 1), thing.resize.y * (thing.flipY and -1 or 1),
thing.anchor.x * sizex,
thing.anchor.y * sizey)
love.graphics.setShader(defaultShader)
elseif thing.isSprite then
local sprite = thing
@ -843,4 +846,4 @@ end
render.sprites = Sprites
render.sprite = Sprite
return module
return module

View File

@ -13,14 +13,14 @@ local dirs = {
return {
onCreate = function(song)
local bg = Image("images/mall/erect/bgWalls.png")
bg.position = Vector2(-700, -440)
bg.position = Vector2(-1000, -440)
bg.resize = Vector2(0.9, 0.9)
bg.modifier = 0.2
bg.layer = -10
upperBop = Sprite("sprites/mall/erect/upperBop.png", "sprites/mall/erect/upperBop.json")
upperBop:PlayAnimation("upperBop", 24, false)
upperBop.position = Vector2(-480, -40)
upperBop.position = Vector2(-480, -80)
upperBop.modifier = 0.33
upperBop.resize = Vector2(0.85, 0.85)
upperBop.layer = -9

View File

@ -32,7 +32,6 @@ function module.onCreate(song)
Trees.position = Vector2(-1800, -1500)
Trees.modifier = 1.1
Trees:Resize(8)
Trees:PlayAnimation("TREES", 24, true)
local Petals = Sprite("sprites/weeb/petals.png", "sprites/weeb/petals.xml")

View File

@ -1,3 +1,4 @@
---@type engine.module
local module = {}
--local skyScroll = {}
@ -45,4 +46,8 @@ function module.onCreate(song)
pikaPlat.modifier = 0
end
function module.onUpdate()
love.graphics.setDefaultFilter("nearest", "nearest", 0)
end
return module

View File

@ -8,7 +8,7 @@ local credits = {
icon = "images/credits/idk.png"
},
{
name = "MarkedAman \n(Assets, DadBattle MRK Mix)",
name = "MarkedAman \n(Assets, DadBattle MRK)",
icon = "images/credits/aman.png"
},
{

View File

@ -66,6 +66,36 @@ local covers = {
"Red"
}
local healthbarShader = [[
extern number opr;
extern number og;
extern number ob;
extern number pr;
extern number pg;
extern number pb;
extern number h;
vec4 effect( vec4 color, Image texture, vec2 texture_coords, vec2 screen_coords ){
vec4 pixel = Texel(texture, texture_coords);
if (pixel.r == 0) {
return pixel;
}
if (1 - texture_coords.x < h / 2) {
pixel.r = pr;
pixel.g = pg;
pixel.b = pb;
} else {
pixel.r = opr;
pixel.g = og;
pixel.b = ob;
}
return pixel;
}
]]
local function state(songName, songDifficulty, show)
---@type engine.state
local state = {} -- Returns needed functions for the state to work after loading it properly
@ -147,7 +177,6 @@ local function state(songName, songDifficulty, show)
local icons = {}
local data = love.filesystem.getSaveDirectory()
local ui = {
@ -180,6 +209,16 @@ local function state(songName, songDifficulty, show)
local opponentHoldCovers = {}
local splashes = {}
local shader = love.graphics.newShader(healthbarShader)
local healthBar = Image("images/healthBar.png")
healthBar.anchor = Vector2(0.5, 0.5)
healthBar.shader = shader
healthBar.position = Vector2(960, 50)
healthBar.ui = true
healthBar.resize = Vector2(1.5, 1.5)
healthBar.layer = 15
local keyBinds = {} -- loaded from settings.json, if anything's wrong then try rebinding in the menu
local offset = 0
@ -789,6 +828,8 @@ local function state(songName, songDifficulty, show)
end
end
shader:send("h", health)
if health <= 0 then
die()
elseif health > 2 then
@ -826,32 +867,15 @@ local function state(songName, songDifficulty, show)
-- HEALTH BAR
if playing and ui.health then
love.graphics.setColor(characters.dad and characters.dad.colors[1] / 255 or 0,
characters.dad and characters.dad.colors[2] / 255 or 1,
characters.dad and characters.dad.colors[1] / 255 or 0
)
love.graphics.rectangle("fill", 560 + render.offset.x, (settings.Downscroll and 30 or 960) + render.offset.y,
800, 30)
love.graphics.setColor(characters.bf.colors[1] / 255, characters.bf.colors[2] / 255,
characters.bf.colors[3] / 255)
love.graphics.rectangle("fill", (1360 - health * 400) + render.offset.x,
(settings.Downscroll and 30 or 960) + render.offset.y, health * 400, 30)
love.graphics.setColor(0, 0, 0)
love.graphics.rectangle("line", 560 + render.offset.x, (settings.Downscroll and 30 or 960) + render.offset.y,
800, 30)
love.graphics.setColor(1, 1, 1)
if ui.healthIcons then
love.graphics.draw(icons.bf.image, health > .2 and icons.bf.alive or icons.bf.dead,
(1510 - health * 400) + render.offset.x - (75 - 150 * iconZoom / 2),
(1110 - (health - 1) * 460) + render.offset.x - (75 - 150 * iconZoom / 2),
(settings.Downscroll and 0 or 930) + render.offset.y + (75 - 150 * iconZoom / 2), 0, -iconZoom,
iconZoom)
if characters.dad then
love.graphics.draw(icons.dad.image, health < 1.8 and icons.dad.alive or icons.dad.dead,
(1210 - health * 400) + render.offset.x + (75 - 150 * iconZoom / 2),
(810 - (health - 1) * 460) + render.offset.x + (75 - 150 * iconZoom / 2),
(settings.Downscroll and 0 or 930) + render.offset.y + (75 - 150 * iconZoom / 2),
0, iconZoom, iconZoom)
end
@ -939,6 +963,9 @@ local function state(songName, songDifficulty, show)
if not characters.bf.hasStagePosition then
characters.bf.stagePosition = Vector2(stage.boyfriend[1], stage.boyfriend[2])
end
shader:send("pr", characters.bf.colors[1] / 255)
shader:send("pg", characters.bf.colors[2] / 255)
shader:send("pb", characters.bf.colors[3] / 255)
local image = love.graphics.newImage(string.format("images/icons/icon-%s.png", characters.bf.icon))
icons.bf = {
@ -948,6 +975,10 @@ local function state(songName, songDifficulty, show)
150, 0, 150, 150, image)
}
shader:send("opr", 0)
shader:send("og", 0)
shader:send("ob", 0)
if metadata.playData.characters.opponent and metadata.playData.characters.opponent ~= "none" then -- you can have no player2 but always player1
characters.dad = Character(metadata.playData.characters.opponent)
characters.dad:PlayAnimation(characters.dad.animInfo.idle and "idle" or "danceLeft")
@ -964,6 +995,10 @@ local function state(songName, songDifficulty, show)
dead = love.graphics
.newQuad(150, 0, 150, 150, image)
}
shader:send("opr", characters.dad.colors[1] / 255)
shader:send("og", characters.dad.colors[2] / 255)
shader:send("ob", characters.dad.colors[3] / 255)
end
conductor.stepCrochet = conductor:calculateCrochet(metadata.timeChanges[1].bpm) / 4

View File

@ -52,7 +52,7 @@ return function()
if enteringLetter == 6 then
if enteredCode == "somari" then
state.changeState("playstate", "somari", "normal") --i dont think this can load erect sonds but idk
elseif eneteredCode == "grndad" then
elseif enteredCode == "grndad" then
ominousText = "Same umbrella, different vain."
else
letter1 = ""