supertux.git
10 years agoMoved Block code to block.cpp, was in the wrong file, i.e. bonus_block.cpp
Ingo Ruhnke [Sun, 17 Aug 2014 01:46:23 +0000 (03:46 +0200)]
Moved Block code to block.cpp, was in the wrong file, i.e. bonus_block.cpp

10 years agoMade conversion Vector -> Sizef explicit, just to be on the safe side
Ingo Ruhnke [Sun, 17 Aug 2014 01:45:44 +0000 (03:45 +0200)]
Made conversion Vector -> Sizef explicit, just to be on the safe side

10 years agoRemoved some superfluous Vector() calls, source object is already a Vector
Ingo Ruhnke [Sun, 17 Aug 2014 01:45:15 +0000 (03:45 +0200)]
Removed some superfluous Vector() calls, source object is already a Vector

10 years agoFixed incorrect size in Sprite::draw_part()
Ingo Ruhnke [Sun, 17 Aug 2014 01:44:24 +0000 (03:44 +0200)]
Fixed incorrect size in Sprite::draw_part()

This caused breaking blocks look weird

10 years agoRender SDL lightmaps at lower resolutions, as specified by LIGHTMAP_DIV
Ingo Ruhnke [Sun, 17 Aug 2014 01:09:35 +0000 (03:09 +0200)]
Render SDL lightmaps at lower resolutions, as specified by LIGHTMAP_DIV

10 years agoDecode letters from argv as UTF-8 in tools/font-generator.py
Ingo Ruhnke [Sun, 17 Aug 2014 00:14:57 +0000 (02:14 +0200)]
Decode letters from argv as UTF-8 in tools/font-generator.py

10 years agoMoved all duplicated drawing code from GLLightmap and GLRenderer into new GLPainter...
Ingo Ruhnke [Sat, 16 Aug 2014 20:43:40 +0000 (22:43 +0200)]
Moved all duplicated drawing code from GLLightmap and GLRenderer into new GLPainter class

10 years agoFixed hitboxes/hotspot for WorldMap Tux
Ingo Ruhnke [Sat, 16 Aug 2014 20:41:32 +0000 (22:41 +0200)]
Fixed hitboxes/hotspot for WorldMap Tux

10 years agoMerge branch 'feature/surface-scaling'
Ingo Ruhnke [Sat, 16 Aug 2014 19:56:08 +0000 (21:56 +0200)]
Merge branch 'feature/surface-scaling'

10 years agoReenabled TitleScreen border, looks a bit terrible in 1280x720, as it was designed...
Ingo Ruhnke [Sat, 16 Aug 2014 19:55:21 +0000 (21:55 +0200)]
Reenabled TitleScreen border, looks a bit terrible in 1280x720, as it was designed for 800x600

10 years agoChanged DrawingContext::draw_surface_part() to handle srcrect/dstrect, instead of...
Ingo Ruhnke [Sat, 16 Aug 2014 19:54:16 +0000 (21:54 +0200)]
Changed DrawingContext::draw_surface_part() to handle srcrect/dstrect, instead of just srcrect/dstpos, this allows surface scaling

10 years agoFixed code that broke due to changes to Rectf and Sizef
Ingo Ruhnke [Sat, 16 Aug 2014 19:52:34 +0000 (21:52 +0200)]
Fixed code that broke due to changes to Rectf and Sizef

10 years agoReturn size as Sizef instead of Vector in Rectf
Ingo Ruhnke [Sat, 16 Aug 2014 19:49:32 +0000 (21:49 +0200)]
Return size as Sizef instead of Vector in Rectf

10 years agoAdded conversion from and to Vector to Sizef
Ingo Ruhnke [Sat, 16 Aug 2014 19:49:12 +0000 (21:49 +0200)]
Added conversion from and to Vector to Sizef

10 years agoImproved markdown syntax so it's more readable on command line, fixes #1057
Ingo Ruhnke [Sat, 16 Aug 2014 19:47:14 +0000 (21:47 +0200)]
Improved markdown syntax so it's more readable on command line, fixes #1057

10 years agoMerge branch 'master' of https://code.google.com/p/supertux
Benjamin Leduc [Sat, 16 Aug 2014 03:01:20 +0000 (03:01 +0000)]
Merge branch 'master' of https://code.google.com/p/supertux

10 years agorestore mandarine specific symbols
Benjamin Leduc [Sat, 16 Aug 2014 02:59:57 +0000 (02:59 +0000)]
restore mandarine specific symbols

10 years agoPrevent menu calls while another menu is active
Ingo Ruhnke [Sat, 16 Aug 2014 01:12:22 +0000 (03:12 +0200)]
Prevent menu calls while another menu is active

10 years agoAdded WorldmapCheatMenu (grow/fire/snow/etc., mark levels as solved)
Ingo Ruhnke [Fri, 15 Aug 2014 20:44:50 +0000 (22:44 +0200)]
Added WorldmapCheatMenu (grow/fire/snow/etc., mark levels as solved)

10 years agoRemoved assert(active_item < int(items.size())); as that is no longer save to call...
Ingo Ruhnke [Fri, 15 Aug 2014 09:03:21 +0000 (11:03 +0200)]
Removed assert(active_item < int(items.size())); as that is no longer save to call due to Menu being potentially deleted at that point

10 years agoRemoved old Menu::check_menu() and replaced it with Menu::menu_action()
Ingo Ruhnke [Fri, 15 Aug 2014 08:17:37 +0000 (10:17 +0200)]
Removed old Menu::check_menu() and replaced it with Menu::menu_action()

10 years agoClear menu stack on MenuManager::set_menu() to avoid accidentally stacking menus
Ingo Ruhnke [Fri, 15 Aug 2014 08:07:26 +0000 (10:07 +0200)]
Clear menu stack on MenuManager::set_menu() to avoid accidentally stacking menus

10 years agoAdded simple cheat menu to grow/fire/ice/shrink/... Tux
Ingo Ruhnke [Fri, 15 Aug 2014 07:43:41 +0000 (09:43 +0200)]
Added simple cheat menu to grow/fire/ice/shrink/... Tux

10 years agoTranslations updates
Benjamin Leduc [Fri, 15 Aug 2014 00:07:47 +0000 (00:07 +0000)]
Translations updates

10 years agoTranslations updates
Benjamin Leduc [Thu, 14 Aug 2014 23:49:48 +0000 (23:49 +0000)]
Translations updates

10 years agoReintroduced load_worldmap(), load_level() and save_state(), as some addon levels...
Ingo Ruhnke [Thu, 14 Aug 2014 23:20:38 +0000 (01:20 +0200)]
Reintroduced load_worldmap(), load_level() and save_state(), as some addon levels are using them (untested)

10 years agoFixed compiler warning about missing return
Ingo Ruhnke [Thu, 14 Aug 2014 23:19:57 +0000 (01:19 +0200)]
Fixed compiler warning about missing return

10 years agoMerge branch 'master' of https://code.google.com/p/supertux
Benjamin Leduc [Thu, 14 Aug 2014 22:53:51 +0000 (22:53 +0000)]
Merge branch 'master' of https://code.google.com/p/supertux
Well
I work in same time than others :p

10 years agoImprove of chiness taiwan and mandarin font
Benjamin Leduc [Thu, 14 Aug 2014 22:51:30 +0000 (22:51 +0000)]
Improve of chiness taiwan and mandarin font

10 years agoRemove SDL 1.3 from TODO list (done with update to SDL 2.0)
Tobias Markus [Thu, 14 Aug 2014 22:04:54 +0000 (00:04 +0200)]
Remove SDL 1.3 from TODO list (done with update to SDL 2.0)

10 years agoRemoved unneeded code, sq_newslot() will override a given slot, a separate sq_deletes...
Ingo Ruhnke [Thu, 14 Aug 2014 05:18:59 +0000 (07:18 +0200)]
Removed unneeded code, sq_newslot() will override a given slot, a separate sq_deleteslot() isn't needed

10 years agoGenerator some new chinese fonts, just normal sized ones for now
Ingo Ruhnke [Thu, 14 Aug 2014 05:01:05 +0000 (07:01 +0200)]
Generator some new chinese fonts, just normal sized ones for now

Created with:

tools/font-generator.py --columns 32 --font-size 16  --glyph-width 20 --glyph-height 20 --shadow -o data/images/engine/fonts/zh/shadow.png \
  --letters-from-file data/fonts/zh-letters

tools/font-generator.py --columns 32 --font-size 16  --glyph-width 20 --glyph-height 20 --outline -o data/images/engine/fonts/zh/white.png \
  --letters-from-file data/fonts/zh-letters

10 years agoRemoved space from zh-white.stf letter list
Ingo Ruhnke [Thu, 14 Aug 2014 04:59:56 +0000 (06:59 +0200)]
Removed space from zh-white.stf letter list

10 years agoAdded lots of command line options to font-generator.py
Ingo Ruhnke [Thu, 14 Aug 2014 04:59:29 +0000 (06:59 +0200)]
Added lots of command line options to font-generator.py

10 years agoMerge branch 'feature/savegame'
Ingo Ruhnke [Thu, 14 Aug 2014 03:24:14 +0000 (05:24 +0200)]
Merge branch 'feature/savegame'

10 years agoFill the savegame with all levels from a levelset on start, so the ContribMenu shows...
Ingo Ruhnke [Thu, 14 Aug 2014 03:19:46 +0000 (05:19 +0200)]
Fill the savegame with all levels from a levelset on start, so the ContribMenu shows the correct number

10 years agoRemoved erroneous sq_pop(), in Squirrel3 sq_deleteslot() does always pop the argument...
Ingo Ruhnke [Thu, 14 Aug 2014 03:04:42 +0000 (05:04 +0200)]
Removed erroneous sq_pop(), in Squirrel3 sq_deleteslot() does always pop the argument, even on failure

10 years agoReplaced deprecated sq_createslot() with sq_newslot()
Ingo Ruhnke [Thu, 14 Aug 2014 02:57:29 +0000 (04:57 +0200)]
Replaced deprecated sq_createslot() with sq_newslot()

10 years agoRemoved useless comment
Ingo Ruhnke [Thu, 14 Aug 2014 02:57:07 +0000 (04:57 +0200)]
Removed useless comment

10 years agoHacked together basic support for Levelset saving
Ingo Ruhnke [Thu, 14 Aug 2014 02:32:34 +0000 (04:32 +0200)]
Hacked together basic support for Levelset saving

10 years agoRenamed GameManager::start_game() to GameManager::start_worldmap()
Ingo Ruhnke [Wed, 13 Aug 2014 21:35:20 +0000 (23:35 +0200)]
Renamed GameManager::start_game() to GameManager::start_worldmap()

10 years agoFixed state table creation issue on loading a savegame
Ingo Ruhnke [Wed, 13 Aug 2014 21:22:55 +0000 (23:22 +0200)]
Fixed state table creation issue on loading a savegame

10 years agoSome initial work on getting load/save working for Levelsets
Ingo Ruhnke [Wed, 13 Aug 2014 21:12:13 +0000 (23:12 +0200)]
Some initial work on getting load/save working for Levelsets

load() should work, save() not yet, as there is nobody updating the state after completing a level

10 years agoRenamed WorldState to Savegame and implemented basic load/save for Worldmaps and...
Ingo Ruhnke [Wed, 13 Aug 2014 19:50:47 +0000 (21:50 +0200)]
Renamed WorldState to Savegame and implemented basic load/save for Worldmaps and Levelsets

Levelsets themselves are still broken and don't display properly in the menu
Worlds without any savegame will be displayed with a *NEW*

10 years agoMoved Levelset into it's own class, pass WorldState around instead of PlayerState...
Ingo Ruhnke [Wed, 13 Aug 2014 05:26:41 +0000 (07:26 +0200)]
Moved Levelset into it's own class, pass WorldState around instead of PlayerState, removed .../world.nut support

Some code is currently disabled with "#ifdef GRUMBEL"

10 years agoRemoved load/save functions from scripting interface
Ingo Ruhnke [Wed, 13 Aug 2014 04:08:57 +0000 (06:08 +0200)]
Removed load/save functions from scripting interface

10 years agoRemoved "data/levels/world1/world.nut", as all the load/save it does should really...
Ingo Ruhnke [Wed, 13 Aug 2014 03:53:05 +0000 (05:53 +0200)]
Removed "data/levels/world1/world.nut", as all the load/save it does should really be on the C++ side

10 years agoFixed compiler warning in Squirrel
Ingo Ruhnke [Thu, 14 Aug 2014 00:43:26 +0000 (02:43 +0200)]
Fixed compiler warning in Squirrel

10 years agoFixed crash due to DrawingRequestData being cast to the wrong type
Ingo Ruhnke [Wed, 13 Aug 2014 17:18:38 +0000 (19:18 +0200)]
Fixed crash due to DrawingRequestData being cast to the wrong type

10 years agoRevert "Correctly scale ice border / frame to screen size, fixes bug #620"
Tobias Markus [Wed, 13 Aug 2014 16:32:05 +0000 (18:32 +0200)]
Revert "Correctly scale ice border / frame to screen size, fixes bug #620"

This reverts commit 3c0ed29ac3b6f8609f9735855cef14aa572d8a51.

Revert until problem with OpenGL renderer is fixed that distorts image.

10 years agoFix persistent memory leak in GameSession::get_demo_random_seed()
Tobias Markus [Wed, 13 Aug 2014 15:08:44 +0000 (17:08 +0200)]
Fix persistent memory leak in GameSession::get_demo_random_seed()

10 years agoCorrectly scale ice border / frame to screen size, fixes bug #620
Tobias Markus [Wed, 13 Aug 2014 13:18:56 +0000 (15:18 +0200)]
Correctly scale ice border / frame to screen size, fixes bug #620

10 years agoFix for SDL double-reporting display modes
Tobias Markus [Wed, 13 Aug 2014 12:29:13 +0000 (14:29 +0200)]
Fix for SDL double-reporting display modes

10 years agoUpdating comment to replace svnversion with git
Tobias Markus [Wed, 13 Aug 2014 01:05:29 +0000 (03:05 +0200)]
Updating comment to replace svnversion with git

10 years agoA few quick hacks to get the Squirrel debugger sqdbg to compile on Linux
Ingo Ruhnke [Wed, 13 Aug 2014 00:45:28 +0000 (02:45 +0200)]
A few quick hacks to get the Squirrel debugger sqdbg to compile on Linux

10 years agoAdded primitive font generator
Ingo Ruhnke [Tue, 12 Aug 2014 23:59:14 +0000 (01:59 +0200)]
Added primitive font generator

10 years agoFixes to sq_setprintfunc due to Squirrel API changes
Tobias Markus [Tue, 12 Aug 2014 23:50:32 +0000 (01:50 +0200)]
Fixes to sq_setprintfunc due to Squirrel API changes

10 years agoUpdate to Squirrel 3.0.6
Tobias Markus [Tue, 12 Aug 2014 23:44:17 +0000 (01:44 +0200)]
Update to Squirrel 3.0.6

10 years agoFixed SDL gradient renderer not drawing anything if top and bottom colors are the...
Ingo Ruhnke [Tue, 12 Aug 2014 23:20:00 +0000 (01:20 +0200)]
Fixed SDL gradient renderer not drawing anything if top and bottom colors are the same

Problem could be seen in "data/levels/world1/19 - Miyamoto Monument.stl"

10 years agoUse std::unique_ptr<> throughout the audio system
Ingo Ruhnke [Tue, 12 Aug 2014 23:11:48 +0000 (01:11 +0200)]
Use std::unique_ptr<> throughout the audio system

10 years agorestore mandarine specific symbols
Benjamin Leduc [Tue, 12 Aug 2014 22:53:05 +0000 (22:53 +0000)]
restore mandarine specific symbols

10 years agoBetter fix for crash when selecting back
Tobias Markus [Tue, 12 Aug 2014 22:36:04 +0000 (00:36 +0200)]
Better fix for crash when selecting back

10 years agoFixing a failing when there are no menu items
Tobias Markus [Tue, 12 Aug 2014 22:24:19 +0000 (00:24 +0200)]
Fixing a failing when there are no menu items

10 years agoPossibly fix problems with a git modification being stuck.
Tobias Markus [Tue, 12 Aug 2014 21:31:54 +0000 (23:31 +0200)]
Possibly fix problems with a git modification being stuck.

10 years agoRemoved trailing whitespace from all *.?pp files
Ingo Ruhnke [Tue, 12 Aug 2014 21:14:54 +0000 (23:14 +0200)]
Removed trailing whitespace from all *.?pp files

10 years agoMerge branch 'feature/memoryleaks'
Ingo Ruhnke [Tue, 12 Aug 2014 21:07:28 +0000 (23:07 +0200)]
Merge branch 'feature/memoryleaks'

10 years agoFixed memory leaks in TileManager
Ingo Ruhnke [Tue, 12 Aug 2014 21:04:57 +0000 (23:04 +0200)]
Fixed memory leaks in TileManager

10 years agoDelete dictionary_manager at the end of Main::run()
Ingo Ruhnke [Tue, 12 Aug 2014 20:50:45 +0000 (22:50 +0200)]
Delete dictionary_manager at the end of Main::run()

10 years agoFixed memory leak in ObjectFactory
Ingo Ruhnke [Tue, 12 Aug 2014 20:35:27 +0000 (22:35 +0200)]
Fixed memory leak in ObjectFactory

10 years agoFixed memory leak in TextureManager, surfaces didn't get SDL_FreeSurface()'ed
Ingo Ruhnke [Tue, 12 Aug 2014 20:27:03 +0000 (22:27 +0200)]
Fixed memory leak in TextureManager, surfaces didn't get SDL_FreeSurface()'ed

10 years agoMoved some declarations from drawing_requests.hpp to drawing_context.hpp to reduce...
Ingo Ruhnke [Tue, 12 Aug 2014 20:16:02 +0000 (22:16 +0200)]
Moved some declarations from drawing_requests.hpp to drawing_context.hpp to reduce include dependencies

10 years agoFixed memory leak in DrawingContext
Ingo Ruhnke [Tue, 12 Aug 2014 19:55:43 +0000 (21:55 +0200)]
Fixed memory leak in DrawingContext

DrawingContext was using placement-new to create objects, but not
manually calling the destructors on them, thus leaking memory when the
object in question itself allocated memory, i.e. std::strings in
TextRequest.

10 years agoAdded missing include to CommandLineArguments
Ingo Ruhnke [Tue, 12 Aug 2014 20:42:10 +0000 (22:42 +0200)]
Added missing include to CommandLineArguments

10 years agoChanged order of initialisation, so that tinygettext comes sooner, should allow trans...
Ingo Ruhnke [Tue, 12 Aug 2014 09:25:54 +0000 (11:25 +0200)]
Changed order of initialisation, so that tinygettext comes sooner, should allow translating --help messages, fixes #923

10 years agoAdded missing includes to Squirrel and SuperTux to make -DENABLE_SQDBG=ON compile...
Ingo Ruhnke [Tue, 12 Aug 2014 08:49:54 +0000 (10:49 +0200)]
Added missing includes to Squirrel and SuperTux to make -DENABLE_SQDBG=ON compile, fixes #575

10 years agoMerge branch 'feature/screenmanager'
Ingo Ruhnke [Tue, 12 Aug 2014 08:38:36 +0000 (10:38 +0200)]
Merge branch 'feature/screenmanager'

10 years agoRewrote ScreenManager push/pop handling again, should now be able to handle multiple...
Ingo Ruhnke [Tue, 12 Aug 2014 08:12:57 +0000 (10:12 +0200)]
Rewrote ScreenManager push/pop handling again, should now be able to handle multiple push/pops in a row more gracefully

10 years agoRewrote logic of ScreenManager to handle ScreenManager::quit() better and not have...
Ingo Ruhnke [Tue, 12 Aug 2014 03:22:57 +0000 (05:22 +0200)]
Rewrote logic of ScreenManager to handle ScreenManager::quit() better and not have dangling current_screen pointers around

10 years agoMinor cleanup in ScreenManager
Ingo Ruhnke [Tue, 12 Aug 2014 02:22:06 +0000 (04:22 +0200)]
Minor cleanup in ScreenManager

10 years agoMoved some joystick related messages into log_debug, added help message for manual...
Ingo Ruhnke [Tue, 12 Aug 2014 08:32:14 +0000 (10:32 +0200)]
Moved some joystick related messages into log_debug, added help message for manual joystick configuration

10 years agoTurned DrawingEffect into a proper bitset, used to be a mix of enum/bitset before...
Ingo Ruhnke [Mon, 11 Aug 2014 22:46:45 +0000 (00:46 +0200)]
Turned DrawingEffect into a proper bitset, used to be a mix of enum/bitset before. Fixes #569

10 years agoGutted SDLSurfaceData, as it doesn't really need to do anything at the moment
Ingo Ruhnke [Mon, 11 Aug 2014 22:39:02 +0000 (00:39 +0200)]
Gutted SDLSurfaceData, as it doesn't really need to do anything at the moment

10 years agoMerge branch 'feature/savegame'
Ingo Ruhnke [Mon, 11 Aug 2014 22:22:12 +0000 (00:22 +0200)]
Merge branch 'feature/savegame'

10 years agoMoved some state handling code into WorldState, sort of, most of it still just goes...
Ingo Ruhnke [Mon, 11 Aug 2014 03:10:07 +0000 (05:10 +0200)]
Moved some state handling code into WorldState, sort of, most of it still just goes into the global Squirrel VM

10 years agoMoved TitleScreen::get_level_name() into GameManager, not a great place either, but...
Ingo Ruhnke [Mon, 11 Aug 2014 03:08:50 +0000 (05:08 +0200)]
Moved TitleScreen::get_level_name() into GameManager, not a great place either, but a little better

10 years agoFurther filename untangling in World class
Ingo Ruhnke [Sun, 10 Aug 2014 21:54:23 +0000 (23:54 +0200)]
Further filename untangling in World class

10 years agoAdded FileSystem::join("dir", "file") -> "dir/file"
Ingo Ruhnke [Sun, 10 Aug 2014 21:52:16 +0000 (23:52 +0200)]
Added FileSystem::join("dir", "file") -> "dir/file"

10 years agoCleaned up the file handling in World, Worlds are now loaded by directory name instea...
Ingo Ruhnke [Sun, 10 Aug 2014 21:43:52 +0000 (23:43 +0200)]
Cleaned up the file handling in World, Worlds are now loaded by directory name instead of ".../info" filename

10 years agoMoved savegame name generation into World class and made it automatic, moved folder...
Ingo Ruhnke [Sun, 10 Aug 2014 21:25:05 +0000 (23:25 +0200)]
Moved savegame name generation into World class and made it automatic, moved folder creation into World::save_state()

10 years agoOnly clear Currenton pointer when the object is the one holding it
Ingo Ruhnke [Sun, 10 Aug 2014 21:23:18 +0000 (23:23 +0200)]
Only clear Currenton pointer when the object is the one holding it

10 years agoMinor cleanup in World, replaced global scripting::global_vm with local variable vm
Ingo Ruhnke [Sun, 10 Aug 2014 20:59:23 +0000 (22:59 +0200)]
Minor cleanup in World, replaced global scripting::global_vm with local variable vm

10 years agoMoved World loading into a factory method World::load()
Ingo Ruhnke [Sun, 10 Aug 2014 20:52:49 +0000 (22:52 +0200)]
Moved World loading into a factory method World::load()

10 years agoAdded some m_ prefixes and made variables private in World
Ingo Ruhnke [Sun, 10 Aug 2014 20:31:55 +0000 (22:31 +0200)]
Added some m_ prefixes and made variables private in World

10 years agoDisabled -Wabi in CMakeLists.txt
Ingo Ruhnke [Sun, 10 Aug 2014 19:35:48 +0000 (21:35 +0200)]
Disabled -Wabi in CMakeLists.txt

10 years agoCleaned up the World class a bit
Ingo Ruhnke [Sun, 10 Aug 2014 16:31:27 +0000 (18:31 +0200)]
Cleaned up the World class a bit

10 years agoMerge branch 'feature/argparse'
Ingo Ruhnke [Mon, 11 Aug 2014 22:20:46 +0000 (00:20 +0200)]
Merge branch 'feature/argparse'

10 years agoAdded --debug and --verbose command line arguments
Ingo Ruhnke [Mon, 11 Aug 2014 22:12:46 +0000 (00:12 +0200)]
Added --debug and --verbose command line arguments

10 years agoFixed compiler warnings due to new loglevel aware log macro
Ingo Ruhnke [Mon, 11 Aug 2014 21:53:48 +0000 (23:53 +0200)]
Fixed compiler warnings due to new loglevel aware log macro

10 years agoAdded support for different log levels
Ingo Ruhnke [Mon, 11 Aug 2014 21:53:14 +0000 (23:53 +0200)]
Added support for different log levels

10 years agoAdded another note about comments to CODINGSTYLE
Ingo Ruhnke [Mon, 11 Aug 2014 21:41:04 +0000 (23:41 +0200)]
Added another note about comments to CODINGSTYLE