Fixed icon sizes on Blacksmith crafting window and consumable crafting windows being too small. Added attribution for Animated Slime sprite. Release Build 8369.

mac-build
sigonasr2 8 months ago
parent 1742fa50eb
commit 97f6987028
  1. 3
      Adventures in Lestoria/BlacksmithCraftingWindow.cpp
  2. 5
      Adventures in Lestoria/ConsumableCraftingWindow.cpp
  3. 32
      Adventures in Lestoria/SettingsWindow.cpp
  4. 25
      Adventures in Lestoria/TODO.txt
  5. 2
      Adventures in Lestoria/Version.h
  6. 57
      Adventures in Lestoria/assets/config/credits.txt
  7. BIN
      x64/Release/Adventures in Lestoria.exe

@ -201,7 +201,8 @@ void Menu::InitializeBlacksmithCraftingWindow(){
#pragma region Inventory Description
float inventoryDescriptionWidth=blacksmithWindow->pos.x+blacksmithWindow->size.x-26-224;
blacksmithWindow->ADD("Item Description Outline",MenuLabel)(geom2d::rect<float>{{224,28},{inventoryDescriptionWidth,blacksmithWindow->size.y-44}},"",1,ComponentAttr::LEFT_ALIGN|ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND)END;
blacksmithWindow->ADD("Item Icon",MenuItemItemButton)(geom2d::rect<float>{{226+inventoryDescriptionWidth/2-24,30},{48,48}},Item::BLANK,DO_NOTHING,"","",IconButtonAttr::NOT_SELECTABLE)END;
blacksmithWindow->ADD("Item Icon",MenuItemItemButton)(geom2d::rect<float>{{226+inventoryDescriptionWidth/2-24,30},{48,48}},Item::BLANK,DO_NOTHING,"","",IconButtonAttr::NOT_SELECTABLE)END
->SetIconScale({2.f,2.f});
blacksmithWindow->ADD("Item Name Label",MenuLabel)(geom2d::rect<float>{{226,84},{inventoryDescriptionWidth-6,12}},"",0.75f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END;
blacksmithWindow->ADD("Item Description Label",MenuLabel)(geom2d::rect<float>{{226,94},{inventoryDescriptionWidth-6,blacksmithWindow->size.y-44-66}},"",0.5f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END;
#pragma endregion

@ -121,8 +121,9 @@ void Menu::InitializeConsumableCraftingWindow(){
#pragma region Inventory Description
float inventoryDescriptionWidth=consumableCraftingWindow->pos.x+consumableCraftingWindow->size.x-26-224;
consumableCraftingWindow->ADD("Item Description Outline",MenuLabel)(geom2d::rect<float>{{224,28},{inventoryDescriptionWidth,consumableCraftingWindow->size.y-44}},"",1,ComponentAttr::LEFT_ALIGN|ComponentAttr::OUTLINE|ComponentAttr::BACKGROUND)END;
consumableCraftingWindow->ADD("Item Icon",MenuItemItemButton)(geom2d::rect<float>{{226+inventoryDescriptionWidth/2-24,30},{48,48}},Item::BLANK,DO_NOTHING,"","",IconButtonAttr::NOT_SELECTABLE)END
->SetShowQuantity(false);
auto itemIconButton=consumableCraftingWindow->ADD("Item Icon",MenuItemItemButton)(geom2d::rect<float>{{226+inventoryDescriptionWidth/2-24,30},{48,48}},Item::BLANK,DO_NOTHING,"","",IconButtonAttr::NOT_SELECTABLE)END;
itemIconButton->SetShowQuantity(false);
itemIconButton->SetIconScale({2.f,2.f});
consumableCraftingWindow->ADD("Item Name Label",MenuLabel)(geom2d::rect<float>{{226,84},{inventoryDescriptionWidth-6,12}},"",0.75f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END;
consumableCraftingWindow->ADD("Item Description Label",MenuLabel)(geom2d::rect<float>{{226,94},{inventoryDescriptionWidth-6,consumableCraftingWindow->size.y-44-66}},"",0.5f,ComponentAttr::LEFT_ALIGN|ComponentAttr::SHADOW)END;
#pragma endregion

@ -58,19 +58,26 @@ INCLUDE_WINDOW_SIZE
using A=Attribute;
#define UNLOCK_ALL_BUTTON
#undef UNLOCK_ALL_BUTTON //Comment out to enable unlock all button.
void Menu::InitializeSettingsWindow(){
vf2d windowSize=WINDOW_SIZE-vf2d{28,28};
Menu*settingsWindow=CreateMenu(SETTINGS,CENTERED,windowSize);
settingsWindow->ADD("Unlock All Button",MenuComponent)(geom2d::rect<float>{{4,windowSize.y-20},{72,12}},"Unlock All",[](MenuFuncData data){
if(Menu::IsCurrentlyActive(SETTINGS)){
for(auto&cp:State_OverworldMap::connections){
Unlock::UnlockArea(cp.map);
#pragma region Unlock All Button
#ifdef UNLOCK_ALL_BUTTON
settingsWindow->ADD("Unlock All Button",MenuComponent)(geom2d::rect<float>{{4,windowSize.y-20},{72,12}},"Unlock All",[](MenuFuncData data){
if(Menu::IsCurrentlyActive(SETTINGS)){
for(auto&cp:State_OverworldMap::connections){
Unlock::UnlockArea(cp.map);
}
SoundEffect::PlaySFX("Buy Item",SoundEffect::CENTERED);
}
SoundEffect::PlaySFX("Buy Item",SoundEffect::CENTERED);
}
return true;
})END;
return true;
})END;
#endif
#pragma endregion
settingsWindow->ADD("Settings Label",MenuLabel)(geom2d::rect<float>{{4,4},vf2d{windowSize.x-8,24}},"Game Settings",2.f,ComponentAttr::BACKGROUND|ComponentAttr::OUTLINE|ComponentAttr::SHADOW)END;
@ -289,13 +296,6 @@ void Menu::InitializeSettingsWindow(){
.down="Go Back",}},
{"Go Back",{
.up="Controller Bindings Button",
.down="BGM Slider",
.left="Unlock All Button",
.right="Unlock All Button",}},
{"Unlock All Button",{
.up="Controller Bindings Button",
.down="BGM Slider",
.left="Go Back",
.right="Go Back",}},
.down="BGM Slider",}},
});
}

@ -16,33 +16,12 @@ Steam Rich Presence
Add in vsync system option
Remove Unlock All Button
Steam-specific Game Build
Fix scaling on some UI equip windows.
Your game uses the proper controller-specific glyphs when showing in-game input prompts.
The Steam Input configurator screen uses in-game actions that the player performs in your game, instead of keys or buttons.
You've published an official configuration for the controllers you support.
Your game doesn't restrict the user's ability to customize their controls. This means it allows any mix of mouse, keyboard, or gamepad input simultaneously.
When your game wants keyboard input (e.g. when naming avatars), you use the API to automatically bring up the text entry UI.
Your game has no launchers that require mouse or KB input - or even better, no launcher at all.
To ensure users have a good experience from the couch, we also recommend the following:
Make your UI readable from several feet away. Our rule of thumb: when your game is running at 1920x1080, your fonts should be a minimum of 24px in size.
Start your game in fullscreen by default when the user is running Steam Big Picture (the "SteamTenfoot" environment variable will be set)
For bonus points, at first launch detect the user's screen resolution and set your resolution to match it.
Implementing Steam Input API support
The implementation process is straightforward, and shouldn't take more than a few days of work. Four steps are involved:
In a text editor, create an in-game actions file, which tells Steam what in-game actions your players can bind to the controller.
In Steam, use the Steam Input configurator UI to create your default configuration.
In your game, use the Steam Input API to read actions from the controller, and to retrieve appropriate glyphs for display.
Update your game depot with the new binaries, and publish your configuration as the official config.
Make another actions config file for the main build
Sword attack should linger
Add game file debug logging
@ -50,4 +29,6 @@ Automatically pause if controller is disconnected (while using a controller)
PS5 LED color support
Manual Aim?
Make another actions config file for the main build (The app # is different)

@ -39,7 +39,7 @@ All rights reserved.
#define VERSION_MAJOR 1
#define VERSION_MINOR 0
#define VERSION_PATCH 0
#define VERSION_BUILD 8367
#define VERSION_BUILD 8369
#define stringify(a) stringify_(a)
#define stringify_(a) #a

@ -37,40 +37,37 @@ Credits
LINE[34]="Pokemon-based Nico Yazawa sprite that started it all..."
LINE[35]="DeviantArt: @kirbysmith"
LINE[36]=" "
LINE[37]="ERA OF FANTASY - GRASSLANDS"
LINE[38]="X: @Namatnieks"
LINE[39]=" "
LINE[40]="*** Minifantasy - Tiny Overworld v1.0 ***"
LINE[41]="Minifantasy is an original idea by Krishna Palacio"
LINE[42]=" "
LINE[43]="Public Domain Font Authors"
LINE[44]="c64esque by andraaspar"
LINE[45]="Habbo by Omni"
LINE[46]="Unknown by Anonymous"
LINE[47]=" "
LINE[48]="Nb Pixel Font Bundle"
LINE[49]="Nb Pixel Font Bundle 2"
LINE[50]=" "
LINE[51]=" "
LINE[52]="Game License"
LINE[53]="~~~~~~~~~~~~~~~~"
LINE[54]="License (OLC-3)"
LINE[55]="~~~~~~~~~~~~~~~"
LINE[56]=" "
LINE[57]="Copyright ` 2024 Sig Productions <niconiconii@lestoria.net>"
LINE[37]="Animated Slime by Calciumtrice - Creative Commons Attribution 3.0."
LINE[38]=" "
LINE[39]="ERA OF FANTASY - GRASSLANDS"
LINE[40]="X: @Namatnieks"
LINE[41]=" "
LINE[42]="*** Minifantasy - Tiny Overworld v1.0 ***"
LINE[43]="Minifantasy is an original idea by Krishna Palacio"
LINE[44]=" "
LINE[45]="Public Domain Font Authors"
LINE[46]="c64esque by andraaspar"
LINE[47]="Habbo by Omni"
LINE[48]="Unknown by Anonymous"
LINE[49]=" "
LINE[50]="Nb Pixel Font Bundle"
LINE[51]="Nb Pixel Font Bundle 2"
LINE[52]=" "
LINE[53]=" "
LINE[54]="Game License"
LINE[55]="~~~~~~~~~~~~~~~~"
LINE[56]="License (OLC-3)"
LINE[57]="~~~~~~~~~~~~~~~"
LINE[58]=" "
LINE[59]="Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:"
LINE[59]="Copyright ` 2024 Sig Productions <niconiconii@lestoria.net>"
LINE[60]=" "
LINE[61]="1. Redistributions or derivations of source code must retain the above copyright notice, this list of conditions and the following disclaimer."
LINE[61]="Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:"
LINE[62]=" "
LINE[63]="2. Redistributions or derivative works in binary form must reproduce the above copyright notice. This list of conditions and the following disclaimer must be reproduced in the documentation and/or other materials provided with the distribution."
LINE[63]="1. Redistributions or derivations of source code must retain the above copyright notice, this list of conditions and the following disclaimer."
LINE[64]=" "
LINE[65]="3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission."
LINE[65]="2. Redistributions or derivative works in binary form must reproduce the above copyright notice. This list of conditions and the following disclaimer must be reproduced in the documentation and/or other materials provided with the distribution."
LINE[66]=" "
LINE[67]="THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
LINE[67]="3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission."
LINE[68]=" "
LINE[69]=" "
LINE[70]=" "
LINE[71]=" "
LINE[72]=" "
LINE[69]="THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
}
Loading…
Cancel
Save