Trending Games | World of Warcraft | Overwatch | Anthem | Entropia

    Facebook Twitter YouTube Twitch.tv YouTube.Gaming Discord
Register
Quick Game Jump
Members:3,835,954 Users Online:0
Games:948 

Show Blog

Link to this blogs RSS feed

IfThen Software

Development log for IfThen Software. IfThen Software is a family owned and operated indie game development company. http://www.ifthensoftware.net/

Author: InvisibleLf

Newsletter #50 - Debugged Lists

Posted by InvisibleLf Thursday October 15 2009 at 4:37PM
Login or Register to rate this blog post!


News

No news to report this week.


From the Programmer
Written by Invisible

I ran into a rather odd problem this week. I was creating the workbench for the rendering system, which seemed to be working fine... Until I ran it in debug mode and it crashed.

After poking around in the code for a bit, I found out that the crash was being caused by attempting to iterate through an std::list. However, I was unable to recreate the bug in a testbed project. Out of ideas, I was about to quit for the day when I had a sudden inspiration: The rendering system's workbench was being ran in debug mode, but the static libraries that it used were compiled in release mode. Sure enough, after using debug versions of the static libraries, the program ran perfectly fine.

Curious to know exactly what was causing the problem, I made a copy of the workbench and the libraries that it used and slowly stripped away code that wasn't affecting the crash. Here is the code that I was left with: http://codepad.org/ibTVTcOv

Line #29 interests me in particular. Since that if statement should never be entered, you would think that lstList->begin(); would have no affect on anything. However, if that is changed to lstList->size(); or simply removed, the problem does not occur. The only explanation I can think of is that std::list::begin() is inline, which must somehow escape the if statement or cause corruption of the code. A debug version of std::list is being placed into a release version on line #26, but since only a pointer is assigned, std::list should be none the wiser.


Artist's Easel
Written by GreyKnight

iScribble Sketches #8

(Click to enlarge)

(Click to enlarge)

 


Community Spotlight
Written by Invisible

Jaythemage has released another community spotlight video. Check it out here: http://www.youtube.com/watch?v=gniKypFQLUA

Newsletter #49 - Pumpkin Carving Contest

Posted by InvisibleLf Thursday October 8 2009 at 8:12PM
Login or Register to rate this blog post!


News

 We are hosting a pumpkin carving contest on the forums. One of the prizes is a beta invitation to the "Loradon 3.0" Preview, so be sure to check it out! For details, please read the forum thread here:
http://www.ifthensoftware.net/forums/index.php?showtopic=1646


From the Programmer
Written by Invisible

For the past week I have been cleaning up the rendering system. Because of this, I have needed to brush up on my Direct3D skills. If you are working with Direct3D9, I highly recommend this poster of the Direct3D9 graphics pipeline: http://www.geeks3d.com/20090714/direct3d-9-programming-graphics-pipeline-poster-and-free-pdf-book/ It also comes with a book, which may be of use to you. After painstakingly piecing together the many sheets of 8.5"x11" paper that the poster was printed across, it is now hanging on my wall in an easy to view location. It has really helped clear up some confusion with the order in which things are processed.

Renderables will be split into two categories: 2D and 3D. 2D renderables will be further categorized into graphic, line, rectangle, point, circle, curve, triangle, square and ellipse. It is the renderable's job to ensure that what it represents is rendered correctly. If the renderer is 3D based, and the renderable needs to render a circle, it will be rendered from many line segments. The rendering system may or may not support all of these features depending on the platform and available resources. If the platform is not well known before hand, the user should check the capabilities of the renderer before attempting to use it.


Artist's Easel
Written by GreyKnight

iScribble Sketches #7

(Click to enlarge)

(Click to enlarge)


Community Spotlight
Written by pifreak and Invisible

Jaythemage created a cool Community Spotlight Video.

This week in the Stick Adventures Online community, a player-held event has been announced by Miotatsu. The First Annual Crumpet Cup is going to be a PvP tournament, and the prize is a level 50 account!

Under the Mods section, we have a new one created by miotatsu titled "Remix Mod" and one by Jay titled "Invisibleman Mod". The remix mod is a combination of past mods of the game, and the Invisibleman mod features a floating hat and outlines for creatures. Jay made some other interesting mods, including the Zelda themed "A Stick to the Past" and the Final Fantasy themed "Final Fantasy VI Mod". SadisticusMaxim created a mod as well, titled "Pokemon Mod".

Over at the Loradon Online community, it appears Giygas is still working on the Loradon fangame "Loradon Legends". He has released a gameplay video to show what is done so far.

Newsletter #48 - Dwarf on a Motorbike

Posted by InvisibleLf Thursday October 1 2009 at 7:02PM
Login or Register to rate this blog post!


News

No news to report this week.


From the Programmer
Written by Invisible

There isn't much to report this week.


Artist's Easel
Written by GreyKnight

iScribble Sketches #6

(Click to enlarge)

(Click to enlarge)

 


Community Spotlight
Written by miotatsu and Invisible

This week we have some very exciting news from the community; InvaderKED has become a Half-Moderator and can help keep the chat clean in Stick Adventures Online by muting and un-muting players.

Miotatsu has made a Community Spotlight Video, and an XP-Tracking Tutorial.

And finally, InvaderKED and Jay have been advancing ranks in the Unoffical Top 10.