Dev Master – Your source for game development

Yesterday’s ideas tomorrow!.

Holly West – Author of ‘Diary of Bedlam’

on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Mark J.
Derulo on.
Christian Smith on.
on.
Fyodor on.
on.
on.
on.
on.
Mick on.
on.
Lancechop on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Matt C.
on.
Bill on.
on.
on.
Erik on.
on.
on.
on.
Stan R.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
clabbers on.
on.
on.
on.
on.
on.
on.
on.
on.
Phil Ivey on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Patil S K on.
on.
on.
on.
Justin on.
Omar on.
danny on.
Marc on.
on.
on.
Ash on.
on.
EvaUnit02 on.
Shakor on.
Cindy on.
nielsbot on.
Miles3298 on.
on.
Smartie77 on.
Smartie77 on.
bholly on.
on.
on.
on.
on.
on.
Phillip on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Steven on.
on.
on.
on.
on.
on.
on.
on.
on.
Lee Rimar on.
on.
on.
on.
Krishna on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
jason on.
Brian on.
Brian on.
on.
on.
on.
on.
Zed Shaw on.
Andy on.
Andy on.
on.
Niner on.
Doug on.
on.
ggn on.
ggn on.
on.
on.
Bill on.
on.
on.
3m0k1D on.
on.
on.
on.
Bjrn on.
on.
Bjrn on.
on.
on.
on.
Ali on.
tony on.
on.
Gareth Lees on.
on.
Manu on.
Arul Inthirarajah on.
on.
on.
on.
Free Games Download on.
on.
on.
on.
on.
on.
Prev/Next Posts « | | » Saturday, September 1st, .

2007 at 10:22 am Compiling Ruby as a Visual Studio Solution

By Mick West (This is Ruby 1.8.6, for Ruby 1.9, .

See here) I decided to see what it would take to compile Ruby as a Visual Studio project

Now you could just include it as a makefile project, but I figure that doing this would give me a better understanding of exactly what is involved in a build of Ruby.
Essentially I would want something that would compile miniruby.exe, so I could then use that as a base for a stripped down version I can incorporate it into a full project.
Miniruby.exe is linked from main.obj (built from main.c).
dmydln.obj (built from dmydln.c).
msvcr80-ruby18-static.lib.
And the following windows system libraries oldnames.lib.
user32.lib.
advapi32.lib.
wsock32.lib.
So obviously the big one here is msvcr80-ruby18-static.lib, which is built from: array.obj bignum.obj class.obj compar.obj dir.obj dln.obj enum.obj error.obj eval.obj file.obj gc.obj hash.obj inits.obj io.obj marshal.obj math.obj numeric.obj object.obj pack.obj parse.obj process.obj prec.obj random.obj range.obj re.obj regex.obj ruby.obj signal.obj sprintf.obj st.obj string.obj struct.obj time.obj util.obj variable.obj version.obj acosh.obj crypt.obj erf.obj win32.obj dmyext.obj These are mostly the platform independent files that live in the root source folder, there are three files at the end (acosh.obj crypt.obj erf.obj) that live in the \missing folder.
Then there is win32.obj and dmyext.obj.
Win32.obj simply comes from compiling /win32/win32.c, and dmyext.obj is from dmyext.c, which again is in the root (not sure why it’s not in with the rest of them).
So, in theory I should simply be able to compile all the constituent files of msvcr80-ruby18-static.lib, and then link in main.obj, dmydln.obj and the four windows libs, and I’ll be set.
Using Ruby 1.8.6 source, in c:\ruby-src\ruby-1.8.6, I started out by: Create a Win32 console project, c:\ruby-src\mickruby.
Do not use precompiled header.
Add oldnames.lib;user32.lib;advapi32.lib;wsock32.lib to the additional dependancies in the project Drag into the project (or just add) all the .c files from c:\ruby-src\ruby-1.8.6, except for lex.c, and dmydln.c (dmydln.c, just sets a flag and includes dln.c, I’m unsure why the normal build seems to include both) Drag in (or just add) the extra files acosh.c, crypt.c and erf.c from c:\ruby-src\ruby-1.8.6\missing Drag in (or just add) win32.c from c:\ruby-src\ruby-1.8.6\win32 Add the include paths c:\ruby-src\ruby-1.8.6 and c:\ruby-src\ruby-1.8.6\missing You now need an appropriate config.h, which I temporarily copied from a “configured” \build directory, into the root source folder.

This kind of assumes you were building Ruby from the command line

which involves running the batch file c:\ruby-src\ruby-1.8.6\win32\configure.bat from the build folder.
Or, more explictly: md c:\ruby-src\build then cd c:\ruby-src\build then c:\ruby-src\ruby-1.8.6\win32\configure.bat (you’ll need to type the full path).
This will create the file config.h in c:\ruby-src\build, and you can just copy it into c:\ruby-src\mickruby\ Change configuration\general\character set to “not set” Add the preprocessor definitions: RUBY_EXPORT.
_CRT_SECURE_NO_DEPRECATE.
_CRT_NONSTDC_NO_DEPRECATE.
In the project entry point file (mickruby.cpp), just comment out all the source code for now.
We want to use main.c as the project entry point for now.
(You could also obvious copy over the code from main.c into mickruby.cpp, and exclude main.c from the project.
At this point, I can build the project, with 0 errors, and 4735 warnings, and IT WORKS, in release mode I get a 659K executable (mickruby.exe) that runs ruby code.
The normal build gives me a 593K executable for miniruby.exe – probably a bunch of extra windows crap.
Or maybe some options are different.
If I turn off link-time code generation, and twiddle a few options, the executable goes down to 602,112.
Setting the optimizations as closely as possible to -O2b2xty-, gives us 598,016.
Close enough.
Adding all this to my procedural tree sample takes the release build from 104K to 452K – that’s with nothing being called.
If I add a call to ruby_init() in the initialization code, then it jumps up to 712K, which sounds exactly as would be expected from the above.
That’s a chunk of code, half a meg, but in the grand scheme of things games typically need 512MB to run (XBox 360 and PS3 both have 512MB, PCs have that as a minimum).

So while an extra 600K might have been crippling to a PS2 game

next-gen (which is really current-gen now) platforms are less impacted.
This entry is filed under , Ruby.

You can follow any responses to this entry through the RSS 2.0 feed

You can , or trackback from your own site.
5 Responses to “Compiling Ruby as a Visual Studio Solution” 1 says: October 1st, 2007 at 9:52 pm Having done a bit of Ruby work in the past, I must say that their C interface sucks.
The fact that the language isn’t even remotely 64 bit compatible (although 1.9/2.0 are “going to be”, I’ve yet to see them make progress on that front).
I do like the language though, .

It’s quite fun much like Python

2 says: October 2nd, 2007 at 7:42 am There’s some surprisingly hair-raising code under the hood with Ruby.
Like this in rb_call0 (called from method_call, so executed every time a Ruby object’s method is called) if ((++tick & 0xff) == 0) { CHECK_INTS; /* better than nothing */ stack_check(); rb_gc_finalize_deferred(); } “Better that nothing”.
Cowboys.
3 says: October 4th, 2007 at 3:15 pm The whole codebase is riddled with undefined behavior, and unfortunately that undefinedness does crop up when building it against platforms it wasn’t designed for (aka, GCC 3.x + 32 bit CPU).
4 kotiteatteri says: May 3rd, .

2009 at 11:42 pm Cool

I didn’t know you could do that with a Visual Studio 5 çelik kapı says: November 19th, 2009 at 8:31 am thankssssss Leave a Reply You must be logged in to post a comment.

Cowboy Programming is powered by | Using theme with a bit of +


Dev Master – Your source for game development

Yesterday’s ideas tomorrow!.

Holly West – Author of ‘Diary of Bedlam’

on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Mark J.
Derulo on.
Christian Smith on.
on.
Fyodor on.
on.
on.
on.
on.
Mick on.
on.
Lancechop on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Matt C.
on.
Bill on.
on.
on.
Erik on.
on.
on.
on.
Stan R.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
clabbers on.
on.
on.
on.
on.
on.
on.
on.
on.
Phil Ivey on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Patil S K on.
on.
on.
on.
Justin on.
Omar on.
danny on.
Marc on.
on.
on.
Ash on.
on.
EvaUnit02 on.
Shakor on.
Cindy on.
nielsbot on.
Miles3298 on.
on.
Smartie77 on.
Smartie77 on.
bholly on.
on.
on.
on.
on.
on.
Phillip on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
Steven on.
on.
on.
on.
on.
on.
on.
on.
on.
Lee Rimar on.
on.
on.
on.
Krishna on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
on.
jason on.
Brian on.
Brian on.
on.
on.
on.
on.
Zed Shaw on.
Andy on.
Andy on.
on.
Niner on.
Doug on.
on.
ggn on.
ggn on.
on.
on.
Bill on.
on.
on.
3m0k1D on.
on.
on.
on.
Bjrn on.
on.
Bjrn on.
on.
on.
on.
Ali on.
tony on.
on.
Gareth Lees on.
on.
Manu on.
Arul Inthirarajah on.
on.
on.
on.
Free Games Download on.
on.
on.
on.
on.
on.

Prev/Next Posts « | | » Friday

January 5th, 2007 at 11:35 am.
By Mick West Scott Bilas: GDC 2002 Presentation: A Data-Driven Game Object System Kyle Wilson: Game Object Structure: Inheritence vs Aggregation, 2002, This entry is filed under ,.
You can follow any responses to this entry through the feed.
You can , or from your own site.
120 Responses to “Evolve Your Hierarchy” says: March 7th, 2007 at 3:22 am says: April 29th, 2007 at 11:46 pm says: May 2nd, 2007 at 1:30 pm says: May 2nd, 2007 at 11:14 pm says: May 31st, 2007 at 1:32 pm says: June 9th, 2007 at 2:48 am Mark says: June 27th, 2007 at 4:01 pm says: July 10th, 2007 at 9:31 am says: August 7th, 2007 at 4:28 am It is open-source, and available at Archimedes says: September 29th, 2007 at 11:30 am says:.
Bjarne Rene says: February 6th, 2008 at 4:00 pm says: February 6th, 2008 at 5:01 pm SomeCoder says: March 31st, 2008 at 10:09 pm says: April 1st, 2008 at 7:37 am SomeCoder says: April 1st, 2008 at 7:42 am SomeCoder says: April 1st, 2008 at 5:48 pm Dmitry Tjurev says: April 8th, 2008 at 1:39 am says: April 9th, 2008 at 1:14 pm Dmitry Tjurev says: April 10th, 2008 at 3:11 am says: April 10th, 2008 at 6:27 am says: April 19th, 2008 at 6:08 pm.

] [2] Mick West: Evolve your Hierachy (sic!) [

] says: December 22nd, 2008 at 1:22 pm says: December 22nd, 2008 at 8:21 pm says: January 17th, 2009 at 7:22 am says: February 23rd, 2009 at 12:02 pm says: April 24th, 2009 at 7:10 pm says: June 7th, 2009 at 10:48 am Bjrn says: June 20th, 2009 at 9:19 am says: June 20th, 2009 at 10:03 am Bjrn says: June 20th, 2009 at 10:53 am says: June 20th, 2009 at 12:54 pm jason says: July 25th, 2009 at 1:25 pm.
says: July 25th, 2009 at 1:59 pm says: September 10th, 2009 at 1:22 pm says: September 10th, 2009 at 1:36 pm Ash says: September 28th, 2009 at 4:15 pm says: September 28th, 2009 at 4:25 pm Marc says: October 5th, 2009 at 11:09 am says: November 12th, 2009 at 8:04 pm says: January 5th, 2010 at 8:15 pm says: January 16th, 2010 at 5:24 am says: January 16th, 2010 at 12:01 pm [.
] [.
] says: January 18th, 2010 at 5:55 pm says: May 11th, 2010 at 7:49 am says: June 19th, 2010 at 8:44 am says: August 31st, 2010 at 7:10 am [.
] Evolve Your Hierarchy ( 2007 ) By Mick West [.
] says: September 11th, 2010 at 1:06 pm says: November 11th, 2010 at 4:53 pm says: December 29th, 2010 at 1:02 am says: January 9th, 2011 at 11:14 pm [.
] on January 10, .

2011 by Rohin Knight I recently learnt about component based game engines at

But I was unsure how I should implement [.
] says: January 10th, 2011 at 5:03 pm says: January 20th, 2011 at 8:34 am says: February 18th, 2011 at 5:23 am Mick says: February 18th, 2011 at 8:24 am says: February 27th, 2011 at 7:56 pm says: March 10th, 2011 at 9:43 am says: March 16th, 2011 at 9:40 am says: March 18th, 2011 at 1:27 am says: April 1st, 2011 at 8:17 pm [.
] [.
] says: June 5th, 2011 at 7:02 am says: June 17th, 2011 at 8:37 am says: June 27th, 2011 at 5:16 pm says: July 1st, 2011 at 6:04 pm says: July 5th, 2011 at 7:23 pm [.
] I used as reference: [.
] says: July 10th, 2011 at 11:44 am says: July 17th, 2011 at 2:18 pm says: July 18th, 2011 at 2:02 pm says: August 11th, 2011 at 5:58 am says: September 23rd, 2011 at 8:53 am says: September 28th, 2011 at 6:49 am says: October 15th, 2011 at 1:44 pm says: November 2nd, 2011 at 8:23 pm says: November 13th, 2011 at 7:11 am [.

] Evolve your hierarchy – Cowboy Programming – [

] says: November 16th, 2011 at 2:42 am says: December 12th, 2011 at 12:49 am says: December 13th, 2011 at 7:47 am says: December 24th, 2011 at 6:19 am says: December 30th, 2011 at 5:06 am [.
] [.
] says: January 4th, 2012 at 3:34 am says: January 21st, 2012 at 3:03 am says: January 26th, 2012 at 10:20 pm [.
] [.
] says: January 31st, 2012 at 9:00 am [.
] It’s really easy to use, though it might be confusing at first because it’s a modular game engine that uses entities and components.
I suggest you read this article if you don’t have any experience with it: [.
] says: February 7th, 2012 at 3:00 pm says: February 8th, 2012 at 1:53 pm [.
] It’s really easy to use, though it might be confusing at first because it’s a modular game engine that uses entities and components.
I suggest you read this article if you don’t have any experience with it: [.
] says: February 18th, 2012 at 6:21 pm says: February 21st, 2012 at 9:06 pm says: February 29th, 2012 at 4:09 pm says: March 2nd, 2012 at 5:49 pm says: March 22nd, 2012 at 12:35 pm [.
] [.
] says: April 12th, 2012 at 12:39 am says: April 30th, 2012 at 12:32 pm says: May 24th, 2012 at 1:24 pm [.
] West.
Evolve Your Hierarchy.
, January [.
] says: May 27th, 2012 at 11:18 am [.
] West.
Evolve Your Hierarchy.
, January [.
] says: June 27th, 2012 at 6:43 am says: September 4th, 2012 at 5:57 pm Leave a Reply You must be to post a comment.

Cowboy Programming is powered by | Using theme with a bit of +


I found yoga as a way to heal.
Initially finding the time on my mat as a physical workout, it morphed into a practice that helped me to restore mentally and emotionally.
My life experiences and the resulting trauma opened space for yoga to take centerstage.
Because of the impact and transformation yoga had on me, I became a teacher to share this practice and the adoration I have.
I have studied with Jason Crandell, Janet Stone, and Judith Hansen Laster and have an alignment-focused approach in both vinyasa and restorative styles of yoga.
Outside of yoga, I have a huge fascination with language and hold a Master’s in Linguistics from the University of Hawai’i at Mānoa.
My life can be summarized into four words: yoga, language, cats, and carbs.
My classes encourage you to feel your body, with an emphasis on using your breath to feel every inch.
I believe in breaking down movements of the body so that students understand the asana fully: the function, the benefit, and how it can be sustainable for years to come.
As a bonus, you will also be exposed to my (bad) humor.
See you on the mat.

Connect with Jessica on her website

The post Jessica Seid appeared first on Satori Yoga Studio.
.