From df53c3920023033fab905a92ff36e098e19cd7b9 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Mon, 14 Jul 2025 22:27:36 +0200 Subject: [PATCH] canvi de pc --- data/config/param_320x256.txt | 4 +- data/gfx/title/title_arcade_edition.png | Bin 1673 -> 1614 bytes data/gfx/title/title_bg_tile_v2.png | Bin 1299 -> 1323 bytes data/gfx/title/title_coffee.png | Bin 2166 -> 2191 bytes data/gfx/title/title_crisis.png | Bin 1950 -> 1943 bytes source/sections/intro.cpp | 67 ++++++++++++++++++------ source/sections/intro.h | 3 +- source/utils.h | 3 +- 8 files changed, 56 insertions(+), 21 deletions(-) diff --git a/data/config/param_320x256.txt b/data/config/param_320x256.txt index a841c74..a2c80ce 100644 --- a/data/config/param_320x256.txt +++ b/data/config/param_320x256.txt @@ -40,7 +40,7 @@ title.press_start_position 180 # Posición Y del texto "Press Start" title.title_duration 800 # Duración de la pantalla de título (frames) title.arcade_edition_position 123 # Posición Y del subtítulo "Arcade Edition" title.title_c_c_position 80 # Posición Y del título principal -title.bg_color 808080 # Color de fondo en la sección titulo +title.bg_color 988db3 # Color de fondo en la sección titulo ## --- BACKGROUND --- background.attenuate_color FFFFFF00 # Color de atenuación del fondo (RGBA hexadecimal) @@ -76,7 +76,7 @@ service_menu.bg_color 000F00F5 # Color de fondo del menú de servicio ( service_menu.drop_shadow false # ¿El menú de servicio tiene sombra? ## --- INTRO --- -intro.bg_color 00FFFF # Color de fondo de la intro +intro.bg_color dbdb82 # Color de fondo de la intro intro.card_color CBDBFC # Color de las tarjetas en la intro intro.shadow_color 00000080 # Color de la sombra de las tarjetas en la intro intro.text_distance_from_bottom 48 # Posicion del texto diff --git a/data/gfx/title/title_arcade_edition.png b/data/gfx/title/title_arcade_edition.png index bbf3d118f276aa7bfad950ace2fcf383f84a03c0..eff7668e942d021fdc1c62ec1162cf2317ac1a44 100644 GIT binary patch delta 1584 zcmV-02G9A44bBXZF@Fe2L_t(|ob6oejp8s6HVBC=VH=<)DhM?t70?q6YzfPs<$f%a zn+)@|69Jn~Iz=1X^YT1w$K0k6T+fFaeYZbeHuT+!6)UFLs*Rr?OUbcf#e3s=KHRuU zwPMAJN9?3v*&i>bQhuuw^jVjCD^|$ZmGZcp`}z8w{Js7Bcz<~J?0EORU+s$Foow+e z*ePv8DW$gvL?<;ni8aCDO$M4S&*Xg9^Wm1=&;ERUkGizbcd1p&Gpvp*8Q5Tgr5!V2 z-TgVx{t)9vUtDJ`(VfE||tM1y(Iu=)2TbAj*f%dkfh#88(qDch734f`TcU zC2?ldpal^}Pk-C{UC)OeS0|2t)D99IEPDo)Z5mXi)16M=LSHHm*SE!z)We7JleRC~ z7>+mYqsgEx^GswW79!hn#Eio%wf6%)njRVXy|Uqcmd-8U(HHmSWT;615k8tvT6#on zNoA-CCSWKD4~%HL6i^jew^Q0&dq04tj|W*DycL`D>3?vA!IdY%ch2vLt@d{<#%HD$IFI`V3^qb@p6(fmACx=e0`@fuCezU0}$i@nJF*e&s947Ev_<< zPDm~-IgBz#mTF{dkNIZxHPAI$l3Mm~*^46Le-8RxDWwyGNeKXVmIp`yg&`T<3Q7w? zRqUxA=zoN3;-Hv6C&TvhV=^(4BhoglUsksWTIp*+(%G_46g7dXA>#AwG7k)z&3r+0 zg`5sjIa)KMYh7H%Eqyh+G+ctQ_6S0xu|HnMwi|VP>^+H<82A6SW^&2Y_ zI2Tv)x%V8TzVtMWX}@Xhl!ukwJkO{O&VC)}Lw|J+AQVVg4qSC%IY$2lbn*1-ls1fs zBhrGm>>eV z%6|m!agcB&nd^)HraUMOqurIUIU3lAmL8lA7`TdR{Up0da%Vp%a<kTzh4(l8Tpx^~Bg}LV%-rgsc%FVh9bYq7E6jei%|9aqE4FU!;;m^>x~O za{8s&1b_3>5?yBQT95I}NrpxwL5&w(wSQ>!WVomhmh&0lGFPwB@MdbMA6_$O=|n4r z1&yBcv}gdhYA(r~(Wmto2fd*fJ`(j|N@G`w?PyB-xNoWnB!>*)B_7S9*YlzG=)uWs z1rn!EVnWz^k5PTIA8ql|3M6Z3>91^Df1EyDF~T^1+8kZpvUR0^oSZXk{nup zN6BP&4~=LQe&@<$*$88Dnunj#drfI8`)V13>&Kn8(bFYMhNvE19fUwqzlY2LuWchV zq^F>7&-Ja8JvB!2AI@()H1HO|8h<Xu4B2ZmM(5$VE<-W#e ztA~e%^rQ}+tVpF8Ro3Aw1Et|Xiwc;iNTnG1X86{Qv1}goVSwe!fb6Yt6Mxc&UDD^} ze!c2(tarkz=$rAM)_Yj-_e_{k=B7BMBhkPY4Ygm)dgQd)Tj;@{m1BjE#^>a-fWFP) z^`A@-d1zPvIM9Kil+xjAJpfKAEBLgrm0<7t8GN4Bv9fq|eKr4?>sC5I{GEP~@nFyx z%KsbHy+9vNRQShUK%<2oPJjL$$I9ptb=b76f;3dQjJaQWOw=Zm|I@^vFVY?>lM>Nx zA&sgs-1}%GaNm?cTIk{7^M~Nl*Sn%vXpGl?9&~fi7im8%^IDWb$5Md`!%djCO0bhX zLrGtQ$bsa3WR5YK|CqXEWa3UhJdSR`Lu2j@cMCmM#F4T4Qez@$N-00}A63jiqZZE~ i!(T+k?n{lCh5kR*^dAl3OT88V0000 delta 1643 zcmV-x29){E42cbpF@HlzL_t(|ob6maZt6e~UQi^`rppD8J4()y+aPX}v!tX$xj;Hv z(!{Tb#*Byg-!&pUf6|i`dv|tbcK-Hz>P0GiJ=V#*^eMo83z(=wRM6uyj+Km44U4 zWzdPYpTryGhiluSB=w9#$CH*XS|4s~+(zR;Eb~0bOe}b|Wr!Jrxz*Ya#?j=+@bBdf zx3gq!0gt@6EyqJm0EmpE*`y^$RF{;8DrbTLCFWru`hQ(=sBF~zEk94}H}BdH^IUVj zmX*Pqv2mNO+x9ra;LH;lcgpj`R_nW#V_5+`+HPp?%GJ@ z*Ou<4(eDsdJY(S!L@F;m&!`NZc3?0#;zy%x)R8bB5JeCB(@>7le_mNU?XZJrG^is1 zkF>7@tP^e=$-clwpp=ztL6ZaP)w0ncGlAz)1HkVwxQs&Eg2L!~Yqv%E4iQAFVI>;e zdw=fSOyl9w?ov|lXK^P}mR9iUwiJD544$|RmRDKVhqj% z9>`@Tc#oZgOUYbY{5Ktg($KzpBQ{3^E76jJlK}%~QLUY%HwoDTMNYSx&Mg`gIGbth zv~SmQcUfO@eYCmu@?ZrOFAeL7vDBCVLx1xyS;Is`5gJrM9XxRDFeFFf>V0XvNG6HO z>(M#g{nB)T&-}DNmzlfPeLQoLp%DpC!$nukTRjmj%7kTn8u-X{ZRnPwI7sbq&77qZ z%@`ImdeYOP0pPN^#B)ZT)_p8`aNZc95uLxMQfxz$zTL#46tk&kh(SQ zf#*W(U;Oo|$FLp=e?{Jm{j^@ginqq;&EYKYjc*S4qM`PSSr4Dq_ZD(cv@)#B*7%g; zOfBye@Y+wti9EEce;jDxcz^s@bltYc*Lnb)P?qy)eQO}y3f9KCXT!?kugk01&s4Y4 z0pjoUBLjnyB^uyRrCfy6cEU10_5vC$0~RfLAcmp1pe?i1As{Xb1K z`Wo#aGf5sDVN#0YHE)n_XD{{UV!kK~0w@8SRe002ovPDHLkV1f&(NRt2n diff --git a/data/gfx/title/title_bg_tile_v2.png b/data/gfx/title/title_bg_tile_v2.png index 885a6b694e020b633502f8c1d1113804791e83aa..8673a2a3239e755f1cea58be4bfa9861165e79ab 100644 GIT binary patch delta 908 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 delta 1757 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 iQge3Y5C9d6?aqHtX=lQCI%WC*0000 z&yZNUrwu2F9SWPx&h!Pf7wP}Yj!z66Y#itZa|}NC6SFfShNORp%kG?ouuorIofaC8 zPurpP@Hal~$K)d@1|JUKZ$e2M#dHah>d2+Az$l1-DzWWqZA;jg*%NNJ^Bf&SV(=wz z5Lr`@l%f=2pM(-mwonmx;c!0!07Unni9o4yZ?m05?qiXWtN;m=i4caioxI<4A7c7Y zkD(v(%&j-!Gpx3ig$ET+T#I6d3X-fwse5DScP&d3!T{Se6#s^tP1=D}O;THe^N`2~BoBh)MOUF?Y zA6}im4TE>4?S#zqY?fj+09YRv=VVhe}r7gsOc+FW;Rfev3E=VbL zXnVCQs|$Z?QC64#*_Cz4m7u1q{%xB;ZA#qFT0;yJ$&@wplBGn2(wm;QqO3ln6CK4c z>AB;#wYM||9m$l{hpc$(7eM@zu@q0TM#WW|vicUkl--gsm>{mKE~l>7bB7!EeVeoT zwd;bEy;A`qWY-09e`_Yvr zA6|U?t_FvYtg#(TH;FiEO0;3qi7J*)8biuBs#MmTew0=gUFB2yi3uMQD67;+HW(#o1E(ZsH}vg$DuC#w|w$eI6*JR9>m62bV`%3|R=9BH?RS*4PBtj@VNtTB2Q-=;SE4tctc)WlfQ27g?nV zo1)-cWR=dts2GJ!WoV7cN|P*^=#e?alseJUQyDI2sShG&c2gN*jXB7=1)}40}Fpu z5kyng`eHy-qpUHCKp%x@%6j`CTc{r;{l`yziZ(ksFRiXitC|aHsUlzpNvKH;sub%( zO)*dyR}ox`vP$^RC1lOYDj7#<|0#^`Ix1aJIh8fUZt8Yo>;uG&5;es@!73}Bd!;*W zSy?6auR&RnWRz%YR954o*t7p3D0zQXDNL0fy{HGxZH4&>?|8ecy=HYxkLVsP16JZH5TsZnJC9*G-O z8QW-AFP2!v&N|0Bd0w5?^b4>}5P`W?1!r^?g pjS5_>oUPE9O)=QO 255) + color.r = 0; + break; + + case SDLK_Z: + --color.r; + if (color.r < 0) + color.r =255; + break; + + case SDLK_S: + ++color.g; + break; + + case SDLK_X: + --color.g; + break; + + case SDLK_D: + ++color.b; + break; + + case SDLK_C: + --color.b; + break; + + default: + break; + } + tiled_bg_->setColor(color); + std::cout << (int)color.r << "," << (int)color.g << "," << (int)color.b << std::endl; + } + GlobalEvents::check(event); } } @@ -271,11 +311,8 @@ void Intro::render() { case IntroState::SCENES: { + renderTextRect(); renderSprites(); - static const float HEIGHT = Resource::get()->getText("04b_25_metal")->getCharacterSize(); - static SDL_FRect rect = {0.0f, param.game.height - param.intro.text_distance_from_bottom - HEIGHT, param.game.width, HEIGHT * 3}; - SDL_SetRenderDrawColor(Screen::get()->getRenderer(), param.intro.shadow_color.r, param.intro.shadow_color.g, param.intro.shadow_color.b, param.intro.shadow_color.a); - SDL_RenderFillRect(Screen::get()->getRenderer(), &rect); renderTexts(); break; } @@ -538,18 +575,6 @@ void Intro::updatePostState() { tiled_bg_->stopGracefully(); - /* - // Modifica el color del fondo hasta llegar a blanco - if (bg_color_.r <= 253 || bg_color_.g <= 253 || bg_color_.b <= 253) // Garantiza que no se exceda de 255 al incrementar de 2 en 2 - { - bg_color_ = bg_color_.lighten(2); - } - else - { - bg_color_ = Color(255, 255, 255); // Asegura que bg_color_ no exceda el límite máximo - } - */ - if (bg_color_.isEqualTo(param.title.bg_color)) { // Ya hemos llegado al color objetivo @@ -563,7 +588,7 @@ void Intro::updatePostState() } // Cambia de estado si el fondo se ha detenido y recuperado el color - if (tiled_bg_->isStopped() && bg_color_.r == 255 && bg_color_.g == 255 && bg_color_.b == 255) + if (tiled_bg_->isStopped() && bg_color_.isEqualTo(param.title.bg_color)) { post_state_ = IntroPostState::END; state_start_time_ = SDL_GetTicks(); @@ -584,3 +609,11 @@ void Intro::updatePostState() break; } } + +void Intro::renderTextRect() +{ + static const float HEIGHT = Resource::get()->getText("04b_25_metal")->getCharacterSize(); + static SDL_FRect rect = {0.0f, param.game.height - param.intro.text_distance_from_bottom - HEIGHT, param.game.width, HEIGHT * 3}; + SDL_SetRenderDrawColor(Screen::get()->getRenderer(), param.intro.shadow_color.r, param.intro.shadow_color.g, param.intro.shadow_color.b, param.intro.shadow_color.a); + SDL_RenderFillRect(Screen::get()->getRenderer(), &rect); +} \ No newline at end of file diff --git a/source/sections/intro.h b/source/sections/intro.h index f9aaf63..35db874 100644 --- a/source/sections/intro.h +++ b/source/sections/intro.h @@ -45,7 +45,7 @@ private: std::vector> shadow_sprites_; // Vector con los sprites inteligentes para las sombras std::vector> texts_; // Textos de la intro std::unique_ptr tiled_bg_; // Fondo en mosaico - //std::unique_ptr shadow_square_for_text_; // Sprite + // std::unique_ptr shadow_square_for_text_; // Sprite // --- Variables --- Uint64 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa @@ -67,5 +67,6 @@ private: void updateTexts(); // Actualiza los textos void renderSprites(); // Dibuja los sprites void renderTexts(); // Dibuja los textos + void renderTextRect(); // Dibuja el rectangulo de fondo del texto; void updatePostState(); // Actualiza el estado POST }; diff --git a/source/utils.h b/source/utils.h index f755cb7..c5e1a06 100644 --- a/source/utils.h +++ b/source/utils.h @@ -111,8 +111,9 @@ struct Color Uint8 newR = (std::abs(r - target.r) <= step) ? target.r : (r < target.r ? r + step : r - step); Uint8 newG = (std::abs(g - target.g) <= step) ? target.g : (g < target.g ? g + step : g - step); Uint8 newB = (std::abs(b - target.b) <= step) ? target.b : (b < target.b ? b + step : b - step); + Uint8 newA = (std::abs(a - target.a) <= step) ? target.a : (a < target.a ? a + step : a - step); - return Color(newR, newG, newB, a); + return Color(newR, newG, newB, newA); } };