v1.2.1 Release Candidate
Pre-release
Pre-release
Game Pencil Engine Changelog
Version 1.2.1[RELEASE CANDIDATE] Changelog
Sections are now alphabetized after "Engine Changes"
11 KEY changes made a multitude of other great changes...
[Critical Changes]
- Updated to SDL 2.0.7
- Fixed Scene Editor Critical Bug for Layer Panels
- Fixed Mouse X/Y bug caused by render phase in html5 runtime
- Fixed camera positioning bug in html5 runtime caused by render phase
- Split up "JS Compiler" settings from User Settings resource for potential enlargement and structure.
- Fixed bug where editor was unable to process at 60 fps and above.
- Sped up text editor to feel native thanks to the FPS bug fix.
- Game Controller input support added with up to 8 controllers allowed.
- GPE_Theme upgraded, minimalized and cleaned up
- Removed many un * necessary variables related to rendering and cameras.
[General Stabilization and Optimizations made.]
- Replaced support center popup with link to https://github.com/pawbyte/Game * Pencil * Engine/issues
- Corrected replace all bug of "adkb_dton" to "add_option"
- CONVERTED ALL .h and .cpp files to UTF * 8 format.
- Began adding basic translation support to gui elements( Not yet fully implemented )
[Engine changes]
- Html5 Export
- Added copy_rect() function to GPE_Rect class
- Corrected Mouse X/Y bug that set camera X/Y coordinates to 0,0 every frame
- Corrected Camera X/Y bug
- GPE_VERSION_NUMBER updated to 2
- GPE_VERSION_SUB_NUMBER updated to 0
- GPE_VERSION_UPDATE_NUMBER updated to 0
- GPE_VERSION_SUB_NUMBER updated to 0
- GPE_VERSION_UPDATE_NUMBER updated to 0
- GPR_MAJOR_VERSION updated to 2
- GPR_MINOR_VERSION updated to 0
- GPR_PATCHLEVEL updated to 0
- Only strict mode allowed
- Corrected rendableCameraCount increment typo.
- inits imageObj in GPE_GameSprite to IS_NULL;
- GPE_JSFile close_file function updated.
- Removed unreachable return in find_nearest_object function
- Commented out "find_newest_object" function implementation temporarily
- Removed unreachable code in "get_camera_mouse_x" and "get_camera_mouse_y" functions
- Processed "split_screen" function parameters from 1 * 8
- Removed unnecessary "this.fontFileName### [iRes] reference" variable from GPE_FontResource load_font function.
- Removed menuIcon variable from GPE_MainMenu.
- Removed duplicate "under_mouse" function for GPE_GameObject.
- Removed legacy "set_depth" function for GPE_GameObject.
- Fixed "get_path_original_size" function for GPE_GameObject.
- Fixed "get_path_size" function for GPE_GameObject.
- Removed typo of "33" nearby "get_direction" function.
- When debugging now has "### [DEBUG MODE]" in title * bar of HTML file
- Renamed "SuperSpatialPartition" class to "GPE_SuperSpatialPartition" for namespace reasons.
- Corrected update_size function in GPE_Rect class.
- Removed inputController variable from gpe. Users can either call gpe.check_keyboard(temporary compatibility until later version) or input.check_keyboard(actual class).
- Desktop Export
- No Changes
- Wii U Export
- No Changes
[C++ Changes in GPE_Engine folder / RUNTIME ]
- Created GPE_Editor_Init() and GPE_Editor_Quit() functions ( gpe_editor.h & gpe_editor.cpp )
- Created GPE_Init() and GPE_Quit() functions ( GPE_Engine.h & GPE_Engine.cpp )
- Input object now deleted on program close.
- Added GPE_Translator class( GPE_Translator.h and GPE_Translator.cpp )
- Added get_file_ext_last_dot for detection of files that have extra dots in them. ( GPE_Functions.h and GPE_Functions.cpp )
- Added GPE_Translator * mainTranslator to GPE_Shared_Resources.cpp and GPE_Shared_Resources.h
- Added render_only_text() function to GPE_Engine.cpp and GPE_Engine.h
- Modified all text * render functions to auto * translate when called.
- Initiates mainTranslator in bool init() in main.cpp .
- Renamed "userInput" global to simply "input" ( GPE_Input.h ).
- Added constants related to game controller input ( GPE_Input.h ).
- Added Game Controller class in GPE_Input.h and added array of them to input manager.
- Added CURRENT_RENDERER global variable in (GPE_Globals.h and GPE_Globals.cpp ).
- Added CURRENT_SCREEN_TEXTURE global variable in ( GPE_Globals.h and GPE_Globals.cpp ).
- Modified all render functions to be aware of CURRENT_RENDERER or the CURRENT_SCREEN_TEXTURE
- Modified all render functions to be aware of the current camera position
- Fixed bug where editor was unable to process at 60 fps and above. ( GPE_Input.cpp )
- Added set_name and get_name functions to GPE_InputManager_GameController class. ( GPE_Input.cpp )
- Added detect_controllers function to GPE_InputManager class. ( GPE_Input.cpp )
- Added all gamepad functions similar to its HTML5 runtime to GPE_InputManager class. ( GPE_Input.cpp )
- Fixed bug where set_fps was not resetting Timers. ( GPE_Timer.cpp )
- Added GPE_Translator class( GPE_Translator.h and GPE_Translator.cpp )
- Added get_file_ext_last_dot for detection of files that have extra dots in them. ( GPE_Functions.h and GPE_Functions.cpp )
- Created GPE_Runtime object and initialized it as GPE and gpe similar to JS * runtime.
- Geometry rendering taken from global function level and placed into GPE_Runtime object.
- Created GPE_Runtime object and initialized it as GPE and gpe similar to JS * runtime.
- Created GPE_MainGame object and initialized it as GPE and gpe similar to JS * runtime.
- Created GPE_GameObject object and initialized it as GPE and gpe similar to JS * runtime.
- Created GPE_SuperSpatialPartition object and initialized it as GPE and gpe similar to JS * runtime.
- Created GPE_SceneCamera object and initialized it as GPE and gpe similar to JS * runtime.
- Changed init function to GPE_Init() for namespace sake and is in engine level versus in main.cpp
- Removed unused constants/outdated ( GPE_Constants.h )
- Added IS_NULL to match JS * runtime. ( GPE_Constants.h )
- Removed loadedGPEFonts and other font related functions/variables from global level and placed inside of GPE_Runtime class. ( GPE_Engine.h and GPE_Engine.cpp )
- Renamed "RESOURCE_kb_AREA_HEIGHT" constant to "RESOURCE_AREA_HEIGHT". ( GPE_Constants.h )
- Renamed fpsTimer and capTimer variables to match "GPE_" namespace.
- Added destructor for GPE_Renderer class as well as moved global "windowIcon" variable to this class ( GPE_Renderer.h and GPE_Renderer.cpp )
- Created GPE_Shapes.h file headlined by GPE_Rect
- Expanded variables in ProgramState class and renamed to GPE_ProgramState.
- Moved GPE_PathPoint class to GPE_Engine.h
- Created get_name() function for GPE_GameObject class (GPE_Engine.h and GPE_Engine.cpp)
- Created global variable GPE_MAX_OBJECT_TYPES(GPE_Engine.h and GPE_Engine.cpp)
- Added Texture * Streaming flag to renderer for SDL platforms ( GPE_Renderer.cpp )
- Added set_blend_mode() function to GPE_Texture object with a choice of 4 constans starting with blend_mode_ ( GPE_Texture.h & GPE_Texture.cpp )
- Removed GPE_Texture* destination from parameters in GPE_Texture render functions ( GPE_Texture.h & GPE_Texture.cpp )
- Removed GPE_Texture* destination from parameters in GPE_Animation render functions ( GPE_Animation.h & GPE_Animation.cpp )
- Added get_mono_height function to GPE_Font class ( GPE_Engine.h & GPE_Engine.cpp )
- Removed constant MIN_WINDOW_WIDTH and MIN_WINDOW_HEIGHT from GPE_Renderer and added new function to set local variables in window sizing ( GPE_Renderer.h & GPE_Renderer.cpp )
- Toolbar pops up if no other key but ALT is released and no other keyboard key is pressed, down or released.
[C++ Changes in AOSGUI(name pending) folder]
- PGUI_PATCHLEVEL updated to 2;
- Renamed "barBox" variable to "elementBox" to make better sense.
- Added scale_width() and scale_height() to GPE_GeneralGuiElement base class.
- Changes to GPE_Theme class formerly known as GPE_Template
- GPE_Theme class renamed to GPE_Theme ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme now has list of colors, template name and templateName ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme add_color function### [OVERLOADED as well] added ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme change_color function added ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme find_color function added ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme load_theme function added( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme render_background function added( ambitious_gui_library.h and ambitious_gui_library.cpp )
- GPE_Theme save_theme_as function added( ambitious_gui_library.h and ambitious_gui_library.cpp )
- Removed (int xPos = 0, int yPos = 0,) from 1st two arguments for constructor for GPE_DropDown_Menu. ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- Replaced all render_new_text() with render_only_text() in text_editor.cpp ( Code/Custom text is not translated on the fly ).
- Modified all render functions to be aware of CURRENT_RENDERER or the CURRENT_SCREEN_TEXTURE
- Modified all render functions to be aware of the current camera position * TO DO( Translate read * only input in text_editor.cpp )
- Sped up text editor to feel native thanks to the FPS bug fix. ( text_editor.cpp )
- Changed comment line backtrace to 50 lines above minimum. ( text_editor.cpp )
- Show Short Project Names boolean added to Settings ( ambitious_gui_library.h and ambitious_gui_library.cpp )
- Renamed "load_fonts" to GPE_Load_Editor_Fonts()" ( "ambitious_gui_library.h and ambitious_gui_library.cpp )
- Changed debug information for when this function is called ( main.cpp )
- RESOURCE_TYPE_CLASS=10 and RESOURCE_TYPE_ACHIEVEMENT=17
- GPE_TextInputBasic set_name function no longer sets the label value when called.
- Modified GPE_ToolIconButton constructor for and renamed the 1st two parameters ### [ int buttonX, int buttonY ]. ( ambitious_gui_library.h & ambitious_gui_library.cpp )
- Corrected GPE_ToolIconButton's set_image() function.( ambitious_gui_library.cpp )
- Modified GPE_ToolIconButtonBar constructor for and renamed the 1st two parameters ### [ int buttonX, int buttonY ]. ( ambitious_gui_library.h & ambitious_gui_library.cpp )
- Modified GPE_ToolIconButtonBar now correctly updates its sub options x/y coordinates in the process_self function. ( ambitious_gui_library.cpp )
- Modified GPE_CheckBoxBasic box and mark shrunken. ( ambitious_gui_library.cpp )
- Modified GPE_SelectBoxBasic check * boxs and mark shrunken. ( ambitious_gui_library.cpp )
- Modified GPE_SelectBoxBasic texture resized and centered properly, text also centered properly. ( ambitious_gui_library.cpp )
- GPE_DropDown_Menu set_option( std::string newSelectedOptionName) function added ( ambitious_gui_library.cpp )
- Tool bar and pop up height reduced to 24px for better look.
- You now select GPE_Label_Image by using space or enter ( ambitious_gui_library.cpp )
- GPE_GuiElementRow updated for those wanting rows to have seperate alignments ( ambitious_gui_library.cpp & ambitious_gui_library.h )
- GPE_GuiElementList updated to make use of GPE_GuiElementRow with process_self and render_self functions updated. ( ambitious_gui_library.cpp & ambitious_gui_library.h )
- GPE_ScrollBar_XAxis and GPE_ScrollBar_YAxis are now children objects of GPE_GeneralGuiElement ( ambitious_gui_library.cpp & ambitious_gui_library.h )
- GPE_ScrollBar_XAxis and GPE_ScrollBar_YAxis now incldue bool autoCorrect in its public variables removing it as a paramter from process_self to be a proper child class( ambitious_gui_library.cpp & ambitious_gui_library.h )
- GPE_ScrollBar_YAxis render is fixed that had awkward mis * render of top * arrow where camera was involved.( ambitious_gui_library.cpp )
- Context Menu now resizes by default its top level.
[Animation Editor Changes]
- Mode 0 Changes
- Previewed collision shape now scales to zoomValue as well in render_self
- Added Zoom Level Text Checkbox
- Image dimensions text moved to be above max * dimensions text.
- Collision Dimensions are 1 line a piece to make up for smaller size of panel.
- Animation Speed slider added
- Previewed animation and collision shape is now centered
- Resized Collision Data fields to fit within editor panel in a more y * sensitive maner.
- Mode 1 Changes
- You can now scroll and zoom in/out of entire sprite texture.
- Checkbox added to preview sub * image numbers within their frames.
- Right click functionality added for quick * access to other changes.
- Other changes
- Commented out record_error("Beginning to Process Sprite Data...") on line 633
- Changed editor pane with to 256
[About Page Changes]
- Credits updated. Thanks Patreon backers!
[Audio Editor Changes]
- Tweaked design.
- Added Volume slider.
[Bottom Log/Search Panel]
- Default height shortened for maximum view space of editors.
[Class Editor Changes]
- NEW RESOURCE TYPE
- Exports .js files
- Exports meta data files
- Exports into project as just a "code dump"( not complicated at the moment)
[Code Editor Changes]
- Colors changed and some keywords and constant mis * matches fixed.
- Top button * bar shrunk
- Input cleared before return of GPE_Get_Color_PopUp function to avoid input problems.
[Compiler Tab / Section]
- Removed "useStrictMode" checkbox
[Examples Editors]
- Hello World Tutorial added
- flappy_crow updated.
- platformer example updated.
- super_crazy_battle_pong example updated.
[External Editors]
- Unchanged
[File Open/Save Menu]
- Unchanged
[Font Editor Changes]
- Unchanged
[Functon Editor Changes]
- Function code integrated into Search System.
[Help Page Changes]
- Tutorials URL updated.
[New Project Launcher Changes]
- Cancel button problem with cancel button still creating projects corrected.
- Added checkbox to replicate file name as Project Name
- Removed un * needed code borrowed from other pop up function.
- Renamed varaibles borrowed from Show_Tip_of_The_Day function.
- Added responsive design to pop up box.
[Object Editor Changes]
- Corrected segmentation fault causing bug in regards to editor mode.
[Path Editor Changes]
- Scene Previewer improved
- Point options box resized for maximum screen usage.
- Changed Radio button into checkbox and placed under scene previewer for maximum screen space coverage
- Save/Load changes slightly to handle new changes.
- Fixed scrolling bug where panel and scene would scroll at same time.
["Pawbituous Compiler" upgrades]
- Now processes custom classes(In early Beta)
- Handles debug mode by using "gpepower_strict_v1_1_4_debug.js"
- Now safety, non * strict mode removed
[Project Browser Changes]
- Added CTRL+T Shortcut to open up Project Browser
- Allow Examples Projects to appear in both Recent and Examples sections.
- Fixed laggy redraw issue.
[Project Folder Class Changes]
- Modified constructor to take in 2 new optional parameters( projectLanguageIn and createBlankScene)
- Added std::string projectLanguage to the class' private variables
- Added std::string get_project_language() to the class' public functions
- Added GPE_ResourceContainer * RESC_CLASES to public variables.
[Project Properties/Settings Changes]
- Padding increased.
- Margins increased.
[Scene Editor Changes]
- Fixed Panel bug in which Layer specific elements were not being processed and rendered.
- Corrected redraw problem for secondary layer when RedrawEveryFrame is disabled.
- Removed Comment Pane in favor or showing data inside of status bar to make more room on Y * axis for editing.
[Sprite Editor Changes]
- Renamed to Animation Editor for dynamic reasons.
[Syntax Highlighter Changes]
- Added layerBeingChanged as 1st parameter for set_background function
[Text/Code Editor Changes]
- Sped up arrow keys to remove unwanted delay time when typing.
- Padding improved to allow more lines in view now.
- Button bar resized to optimize spacage and use.
[Texture Editor Changes]
- Image dimensions text moved to be above max * dimensions text
- Also added "Image Size: " to front of dimension label
- Resized right panel to make more room for texture preview.
[Themes]
- No new themes added to this version.
- Text editor colors changed to be easier on the eyes.
- Image based backgrounds are now supported in the editor.
[Tilesheet Editor Changes]
- Image dimensions text moved to be above max * dimensions text
- Scaling/Zooming in the editor and it's previwer is now fully enabled. Perfection : * )
[User Settings Changes]
- JS compiler split into new resource type
- Frame Cap now shows FPS_RATIO into as label
- Split Advanced Components into new tab
- Added Input Delay fields into Advanced Tab
- Corrected "External Editors" section with bugged * padding issue
- Theme Editor and loader added with brand new "Themes tab".
[Video Editor Changes]
- Unchanged