From: kthakore Date: Wed, 1 Sep 2010 19:29:12 +0000 (+0000) Subject: Updated X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=sdlgit%2FSDL-Site.git;a=commitdiff_plain;h=a05e5d4499fb58198e463162d0385e8a156e1f03 Updated --- diff --git a/pages/blog-0000.html-inc b/pages/blog-0000.html-inc index ffb9963..bd5aba4 100644 --- a/pages/blog-0000.html-inc +++ b/pages/blog-0000.html-inc @@ -1,2 +1,2 @@

Articles

-
Introducing SDLx::Controller::Object, with our good friend Mario!
Friday, 20 August 2010
Tags: [Demo] [Perl] [Physics] [SDL]
Hi Folks
This past week I have been working on making interfacing physics with SDL rendering a lot easier. The idea was to provide the user a callback to describe the acceleration of their object in the X, Y axis and Rotation. Using this idea I have completed a preliminary work for SDLx::Controller::Object. The demo below shows an example that was made with it. The SDLx* code is available at http://github.com/kthakore/SDL_perl and demo code is available at http://github.com/kthakore/scroller .
Mario Demo using SDL Perl from SDLPerl on Vimeo .
[more]


SDL 2.511 + Using SDL for quick visualizations
Monday, 09 August 2010
Tags: [Perl] [SDL]
SDL Perl 2.511 is showing great promises. The initial tests show a great deal of stability. http://search.cpan.org/~kthakore/SDL-2.511/
 Moreover we are seeing more varied users of SDL Perl.
John.O Writes:

This is for a tool that we'll be providing our dealers... it measures cellular modem signal strengths out in the middle of nowhere, so dealers can evaluate if our products will work in customers' fields. And of course, I'm using Perl/SDL for the graphics... C gets on my nerves.
Our company is http://smartfield.com .
John O.



[more]


Perl+SDL 3D Rendering
Saturday, 31 July 2010
Tags: [Perl] [SDL] [Showcase]
Recently we have done a lot of work on the next release of SDL Perl. But it all pays off when I see users do cool things as one of the users has done below. Talon^++! This project is a great example for people wanting to learn 3D from scratch.
--yapgh
This was a project to test how well Perl+SDL performs and does not use OpenGL at all. This is all perl and SDL, with the help of libsdl_gfx for SDL::GFX::Primitives. Texture mapping doesn't use SDL::GFX::Primitives because textured_polygon just takes a surface, tiles it, and clips out the polygon, which doesn't look 3D at all.
[more]


SDL 2.503 Released!
Thursday, 22 July 2010
Tags: [Perl] [Releases] [SDL]
SDL 2.503 has been released on to CPAN. The changes are mostly in the new features added to SDLx::* layer. However as our continuing attempt to improve cross platform support we have some low level fixes.
Most interstingly we have begun work on SDLx::Sprite::Animated. Although, volatile, this addition will be highly anticipated. We look forward for more work on it soon. Additionally are the changes in SDLx::Surface. SDLx::Surface is an attempt to provide gfx, pixels, video and low level surface functions in a combined and simpler interface.
Since SDLx::Sprite and SDLx::App depends on SDLx::Surface, new features will be propagated and the magic amplified! These are exciting times for SDL in Perl. So come join us for great justice on #sdl irc.perl.org or sdl-devel@perl.org .
[more]


Huge World Maps in less then 100 lines
Friday, 16 July 2010
Tags: [Example] [Perl] [SDL] [Syntax]

Hello folks,
Recently we have been working on making the Perl syntax sugar for SDL in the form of SDLx. So far we have got the SDLx::Surface and SDLx::Sprite (garu++) done. So the first thing we did was throw together a quick Zelda map walker. As you can see above.  The code is at  http://gist.github.com/478440 . The SDL code that this depends on will be SDL 2.503 soonish . We are in the process of cleaning up some more SDLx and Alien::SDL bugs. After that SDLx::App will be overhauled to make this sort of thing even easier. Finally living up to our goal of  'Simple Games Easy. Complex Games Possible.' 
UPDATE: with some help, and newcomer jtpalmer's help we have added Link
 

--caio yapgh


[more]


The Build Process of SDL Perl
Wednesday, 07 July 2010
Tags: [Building] [Perl] [SDL]
A while ago I had a long chat with mst on why SDL uses Module::Build rather then Make. I told him it is a simple matter of code inertia. The existing Module::Build system has worked well for us so far. Never the less, he convinced me that switching to Make will improve debugging the Build system. But to be able to switch we will need to completely replace the Build system. I am not prepared to do that so I will just present the requirements so mst or someone else can at least attempt to switch.
The Build Process
Alien::SDL
[more]


SDL RC 2.5 decides to play with PDL
Tuesday, 29 June 2010
Tags: [PDL] [Perl] [SDL]
PDL provides great number crunching capabilities to Perl and SDL provides game-developer quality real-time bitmapping and sound.
You can use PDL and SDL together to create real-time,
responsive animations and simulations.
[more]


Providing direct memory access to SDL_Surface's pixels
Wednesday, 23 June 2010
Tags: [Pack] [Perl] [SDL] [Surface] [XS]
In an attempt to make pixel access easier on SDL_Surface pixels. I have started work on SDLx::Surface . So far I have only start on the 32 bpp surfaces.
The general idea is to make Pointer Values (PV) of each pixel in the surface and place them into a 2D matrix. First I make pointer values like this:
SV * get_pixel32 ( SDL_Surface * surface , int x , int y )
[more]


SDLpp.pl: Packaging SDL Scripts Alpha
Friday, 14 May 2010
Tags: [Packaging] [Perl] [SDL]
After a lot of patches and head scratching I have an alpha version of SDLpp.pl . The purpose of SDLpp.pl is to allow SDL perl developers to package their game for end users.
Here is the shooter.pl packaged up:

[more]


Getting people to use SDL Perl: Docs, API, and Distribution
Friday, 07 May 2010
Tags: [API] [Design] [Docs] [Perl] [SDL]
The road so far
Things have been busy but fruitful. Our two core modules are getting to be a bit more stable. Alien::SDL 1.405 is behaving well. This foundational stability will start to show results in SDL too I believe. Most excitingly the main developer of frozen-bubble is reviewing our Games::FrozenBubble port to CPAN. All good and well, but to keep this project going we need to improve.
Getting people to use SDL Perl
After a long chat with a new SDL user on #sdl today, I realize we still have some way to go. Currently it seems we are lacking in a few areas. We can definitely use some feedback and help in these areas.
Tutorials/Documentation

We have more docs now on http://sdl.perl.org but they suck
What type of tutorials do you think will be good for beginners?
A project start to finish?
Individual tutorials for various topics?
What needs to go in SDL::CookBook?

API sweetness
SDL Perl depends on distinct C libraries
This makes naming conventions, data formats different the SDL:: namespaces
How do people design this stuff?
We are hackers and we just go do stuff but I think this needs some prior thought
Any takers?

Distribution
If SDL scripts can be packaged up simply for game developers to distribute their games it will be a big plus
One way is a Wx::Perl::Packer clone
Another is a CPAN/Steam clone that game devs can upload games too and people can point and click download games? 
If anyone wants to help in these areas please talk to us on sdl-devel@perl.org. 


[more]


Games::FrozenBubble: It is a start!
Monday, 12 April 2010
Tags: [Frozen Bubble] [Perl] [SDL]
We released a playable (client) frozen bubble on CPAN . There is more work to be done but it is a great start! It currently works on Windows and Linux.



[more]


Release SDL 2.4: Frozen-Bubble begins to go to CPAN
Tuesday, 06 April 2010
Tags: [Frozen Bubble] [Perl] [SDL]

SDL 2.4 is released!
After 8 months of work this picture begins to sum it up:
[more]


A summer of possibilities (SDL_perl and GSOC 2010 )
Tuesday, 30 March 2010
Tags: [GSOC] [Perl] [SDL]
GSOC 2010
As many of the readers must know The Perl Foundation has been accepted for the GSOC 2010 program. There are several SDL_perl mentors involved in it too. Right now we are accepting student applications.
Process to Apply
[more]


SDL Perl Showcase
Friday, 12 March 2010
Tags: [EyeCandy] [Perl] [SDL Perl] [Showcase]

SDL_Mixer and Effects

[more]


Eye Candy
Wednesday, 24 February 2010
Tags: [SDL Perl EyeCandy]

clang
With each imperfect hit
[more]


New build system! Needs testing!
Thursday, 18 February 2010
Tags: [Building] [Releases] [SDL]



[more]


Quick Game for Toronto Perl Mongers
Thursday, 11 February 2010
Tags: [Game] [SDL] [TPM]

Beep ... Boop

[more]


SDL_perl 2.3_5 is out!
Monday, 01 February 2010
Tags: [Releases] [SDL]
We keep on rolling,
rolling,
waiting on the world to turn.
[more]


Threaded XS callback finally gets solved.
Wednesday, 06 January 2010
Tags: [Perl] [SDL] [Updates] [XS]

Dragged down from the lofty isles,
into the guts and gore of the monster,
[more]


SDL Alpha 2: A sneak preview
Sunday, 06 December 2009
Tags: [Perl] [Releases] [SDL]
Pretty or Ugly,
Code is Code
New or Old,
[more]


Developer Release of SDL 2.3_1
Monday, 30 November 2009
Tags: [Perl] [Releases] [SDL]

The city of Rome was built,
with the first brick.
[more]


SDL Perl Documentation: Reviewers need
Thursday, 26 November 2009
Tags: [Docs] [Perl] [SDL]

The written word,
survives;
[more]


Migrating Sol's Tutorial of SDL to SDL_Perl
Sunday, 15 November 2009
Tags: [Example] [Perl] [SDL]
If I have seen further it is only by standing on the shoulders of giants. --Newton


[more]


Once in a while .... (set_event_filter)
Friday, 13 November 2009
Tags: [Perl] [SDL] [XS]

Once in a while
Things just work!
[more]


Hello Mouse? An Example of the New Event Code
Wednesday, 11 November 2009
Tags: [Perl] [SDL] [Sneak Preview]
Any code that is not marketed is dead code
--mst

[more]


+
SDL 2.512 released - Layers Support added
Tuesday, 31 August 2010
Tags: [EyeCandy] [Game] [Releases] [SDL]
The new release of SDL adds Layer support, which means that rendering surfaces by layers is a lot easier. SDL 2.512 has several other changes too. An experimental physics interface and minor fixes. Have a look at the CHANGELOG.
Here is an implementation of the new Layer stuff. Solitaire .

[more]


Introducing SDLx::Controller::Object, with our good friend Mario!
Friday, 20 August 2010
Tags: [Demo] [Perl] [Physics] [SDL]
Hi Folks
This past week I have been working on making interfacing physics with SDL rendering a lot easier. The idea was to provide the user a callback to describe the acceleration of their object in the X, Y axis and Rotation. Using this idea I have completed a preliminary work for SDLx::Controller::Object. The demo below shows an example that was made with it. The SDLx* code is available at http://github.com/kthakore/SDL_perl and demo code is available at http://github.com/kthakore/scroller .
Mario Demo using SDL Perl from SDLPerl on Vimeo .
[more]


SDL 2.511 + Using SDL for quick visualizations
Monday, 09 August 2010
Tags: [Perl] [SDL]
SDL Perl 2.511 is showing great promises. The initial tests show a great deal of stability. http://search.cpan.org/~kthakore/SDL-2.511/
 Moreover we are seeing more varied users of SDL Perl.
John.O Writes:

This is for a tool that we'll be providing our dealers... it measures cellular modem signal strengths out in the middle of nowhere, so dealers can evaluate if our products will work in customers' fields. And of course, I'm using Perl/SDL for the graphics... C gets on my nerves.
Our company is http://smartfield.com .
John O.



[more]


Perl+SDL 3D Rendering
Saturday, 31 July 2010
Tags: [Perl] [SDL] [Showcase]
Recently we have done a lot of work on the next release of SDL Perl. But it all pays off when I see users do cool things as one of the users has done below. Talon^++! This project is a great example for people wanting to learn 3D from scratch.
--yapgh
This was a project to test how well Perl+SDL performs and does not use OpenGL at all. This is all perl and SDL, with the help of libsdl_gfx for SDL::GFX::Primitives. Texture mapping doesn't use SDL::GFX::Primitives because textured_polygon just takes a surface, tiles it, and clips out the polygon, which doesn't look 3D at all.
[more]


SDL 2.503 Released!
Thursday, 22 July 2010
Tags: [Perl] [Releases] [SDL]
SDL 2.503 has been released on to CPAN. The changes are mostly in the new features added to SDLx::* layer. However as our continuing attempt to improve cross platform support we have some low level fixes.
Most interstingly we have begun work on SDLx::Sprite::Animated. Although, volatile, this addition will be highly anticipated. We look forward for more work on it soon. Additionally are the changes in SDLx::Surface. SDLx::Surface is an attempt to provide gfx, pixels, video and low level surface functions in a combined and simpler interface.
Since SDLx::Sprite and SDLx::App depends on SDLx::Surface, new features will be propagated and the magic amplified! These are exciting times for SDL in Perl. So come join us for great justice on #sdl irc.perl.org or sdl-devel@perl.org .
[more]


Huge World Maps in less then 100 lines
Friday, 16 July 2010
Tags: [Example] [Perl] [SDL] [Syntax]

Hello folks,
Recently we have been working on making the Perl syntax sugar for SDL in the form of SDLx. So far we have got the SDLx::Surface and SDLx::Sprite (garu++) done. So the first thing we did was throw together a quick Zelda map walker. As you can see above.  The code is at  http://gist.github.com/478440 . The SDL code that this depends on will be SDL 2.503 soonish . We are in the process of cleaning up some more SDLx and Alien::SDL bugs. After that SDLx::App will be overhauled to make this sort of thing even easier. Finally living up to our goal of  'Simple Games Easy. Complex Games Possible.' 
UPDATE: with some help, and newcomer jtpalmer's help we have added Link
 

--caio yapgh


[more]


The Build Process of SDL Perl
Wednesday, 07 July 2010
Tags: [Building] [Perl] [SDL]
A while ago I had a long chat with mst on why SDL uses Module::Build rather then Make. I told him it is a simple matter of code inertia. The existing Module::Build system has worked well for us so far. Never the less, he convinced me that switching to Make will improve debugging the Build system. But to be able to switch we will need to completely replace the Build system. I am not prepared to do that so I will just present the requirements so mst or someone else can at least attempt to switch.
The Build Process
Alien::SDL
[more]


SDL RC 2.5 decides to play with PDL
Tuesday, 29 June 2010
Tags: [PDL] [Perl] [SDL]
PDL provides great number crunching capabilities to Perl and SDL provides game-developer quality real-time bitmapping and sound.
You can use PDL and SDL together to create real-time,
responsive animations and simulations.
[more]


Providing direct memory access to SDL_Surface's pixels
Wednesday, 23 June 2010
Tags: [Pack] [Perl] [SDL] [Surface] [XS]
In an attempt to make pixel access easier on SDL_Surface pixels. I have started work on SDLx::Surface . So far I have only start on the 32 bpp surfaces.
The general idea is to make Pointer Values (PV) of each pixel in the surface and place them into a 2D matrix. First I make pointer values like this:
SV * get_pixel32 ( SDL_Surface * surface , int x , int y )
[more]


SDLpp.pl: Packaging SDL Scripts Alpha
Friday, 14 May 2010
Tags: [Packaging] [Perl] [SDL]
After a lot of patches and head scratching I have an alpha version of SDLpp.pl . The purpose of SDLpp.pl is to allow SDL perl developers to package their game for end users.
Here is the shooter.pl packaged up:

[more]


Getting people to use SDL Perl: Docs, API, and Distribution
Friday, 07 May 2010
Tags: [API] [Design] [Docs] [Perl] [SDL]
The road so far
Things have been busy but fruitful. Our two core modules are getting to be a bit more stable. Alien::SDL 1.405 is behaving well. This foundational stability will start to show results in SDL too I believe. Most excitingly the main developer of frozen-bubble is reviewing our Games::FrozenBubble port to CPAN. All good and well, but to keep this project going we need to improve.
Getting people to use SDL Perl
After a long chat with a new SDL user on #sdl today, I realize we still have some way to go. Currently it seems we are lacking in a few areas. We can definitely use some feedback and help in these areas.
Tutorials/Documentation

We have more docs now on http://sdl.perl.org but they suck
What type of tutorials do you think will be good for beginners?
A project start to finish?
Individual tutorials for various topics?
What needs to go in SDL::CookBook?

API sweetness
SDL Perl depends on distinct C libraries
This makes naming conventions, data formats different the SDL:: namespaces
How do people design this stuff?
We are hackers and we just go do stuff but I think this needs some prior thought
Any takers?

Distribution
If SDL scripts can be packaged up simply for game developers to distribute their games it will be a big plus
One way is a Wx::Perl::Packer clone
Another is a CPAN/Steam clone that game devs can upload games too and people can point and click download games? 
If anyone wants to help in these areas please talk to us on sdl-devel@perl.org. 


[more]


Games::FrozenBubble: It is a start!
Monday, 12 April 2010
Tags: [Frozen Bubble] [Perl] [SDL]
We released a playable (client) frozen bubble on CPAN . There is more work to be done but it is a great start! It currently works on Windows and Linux.



[more]


Release SDL 2.4: Frozen-Bubble begins to go to CPAN
Tuesday, 06 April 2010
Tags: [Frozen Bubble] [Perl] [SDL]

SDL 2.4 is released!
After 8 months of work this picture begins to sum it up:
[more]


A summer of possibilities (SDL_perl and GSOC 2010 )
Tuesday, 30 March 2010
Tags: [GSOC] [Perl] [SDL]
GSOC 2010
As many of the readers must know The Perl Foundation has been accepted for the GSOC 2010 program. There are several SDL_perl mentors involved in it too. Right now we are accepting student applications.
Process to Apply
[more]


SDL Perl Showcase
Friday, 12 March 2010
Tags: [EyeCandy] [Perl] [SDL Perl] [Showcase]

SDL_Mixer and Effects

[more]


Eye Candy
Wednesday, 24 February 2010
Tags: [SDL Perl EyeCandy]

clang
With each imperfect hit
[more]


New build system! Needs testing!
Thursday, 18 February 2010
Tags: [Building] [Releases] [SDL]



[more]


Quick Game for Toronto Perl Mongers
Thursday, 11 February 2010
Tags: [Game] [SDL] [TPM]

Beep ... Boop

[more]


SDL_perl 2.3_5 is out!
Monday, 01 February 2010
Tags: [Releases] [SDL]
We keep on rolling,
rolling,
waiting on the world to turn.
[more]


Threaded XS callback finally gets solved.
Wednesday, 06 January 2010
Tags: [Perl] [SDL] [Updates] [XS]

Dragged down from the lofty isles,
into the guts and gore of the monster,
[more]


SDL Alpha 2: A sneak preview
Sunday, 06 December 2009
Tags: [Perl] [Releases] [SDL]
Pretty or Ugly,
Code is Code
New or Old,
[more]


Developer Release of SDL 2.3_1
Monday, 30 November 2009
Tags: [Perl] [Releases] [SDL]

The city of Rome was built,
with the first brick.
[more]


SDL Perl Documentation: Reviewers need
Thursday, 26 November 2009
Tags: [Docs] [Perl] [SDL]

The written word,
survives;
[more]


Migrating Sol's Tutorial of SDL to SDL_Perl
Sunday, 15 November 2009
Tags: [Example] [Perl] [SDL]
If I have seen further it is only by standing on the shoulders of giants. --Newton


[more]


Once in a while .... (set_event_filter)
Friday, 13 November 2009
Tags: [Perl] [SDL] [XS]

Once in a while
Things just work!
[more]


diff --git a/pages/blog-0001.html-inc b/pages/blog-0001.html-inc index f5164b6..c077315 100644 --- a/pages/blog-0001.html-inc +++ b/pages/blog-0001.html-inc @@ -1,12 +1,14 @@

-Introducing SDLx::Controller::Object, with our good friend Mario! +SDL 2.512 released - Layers Support added

- Hi Folks
+The new release of SDL adds Layer support, which means that rendering surfaces by layers is a lot easier. SDL 2.512 has several other changes too. An experimental physics interface and minor fixes. Have a look at the CHANGELOG.

-This past week I have been working on making interfacing physics with SDL rendering a lot easier. The idea was to provide the user a callback to describe the acceleration of their object in the X, Y axis and Rotation. Using this idea I have completed a preliminary work for SDLx::Controller::Object. The demo below shows an example that was made with it. The SDLx* code is available at http://github.com/kthakore/SDL_perl and demo code is available at http://github.com/kthakore/scroller.

-
Mario Demo using SDL Perl from SDLPerl on Vimeo. -


-

\ No newline at end of file +Here is an implementation of the new Layer stuff. Solitaire.
+
+
+
+


+

\ No newline at end of file diff --git a/pages/blog-0002.html-inc b/pages/blog-0002.html-inc index 33ffb48..f5164b6 100644 --- a/pages/blog-0002.html-inc +++ b/pages/blog-0002.html-inc @@ -1,20 +1,12 @@

-SDL 2.511 + Using SDL for quick visualizations +Introducing SDLx::Controller::Object, with our good friend Mario!

-SDL Perl 2.511 is showing great promises. The initial tests show a great deal of stability. http://search.cpan.org/~kthakore/SDL-2.511/
+ Hi Folks

- Moreover we are seeing more varied users of SDL Perl.
+This past week I have been working on making interfacing physics with SDL rendering a lot easier. The idea was to provide the user a callback to describe the acceleration of their object in the X, Y axis and Rotation. Using this idea I have completed a preliminary work for SDLx::Controller::Object. The demo below shows an example that was made with it. The SDLx* code is available at http://github.com/kthakore/SDL_perl and demo code is available at http://github.com/kthakore/scroller.

-John.O Writes:
-

-This is for a tool that we'll be providing our dealers... it measures cellular modem signal strengths out in the middle of nowhere, so dealers can evaluate if our products will work in customers' fields. And of course, I'm using Perl/SDL for the graphics... C gets on my nerves.
-
-Our company is http://smartfield.com.
-
-John O.
-
-
-


-

\ No newline at end of file +
Mario Demo using SDL Perl from SDLPerl on Vimeo.
+


+

\ No newline at end of file diff --git a/pages/blog-0003.html-inc b/pages/blog-0003.html-inc index 21af3c6..33ffb48 100644 --- a/pages/blog-0003.html-inc +++ b/pages/blog-0003.html-inc @@ -1,38 +1,20 @@

-Perl+SDL 3D Rendering +SDL 2.511 + Using SDL for quick visualizations

-Recently we have done a lot of work on the next release of SDL Perl. But it all pays off when I see users do cool things as one of the users has done below. Talon^++! This project is a great example for people wanting to learn 3D from scratch.
+SDL Perl 2.511 is showing great promises. The initial tests show a great deal of stability. http://search.cpan.org/~kthakore/SDL-2.511/

---yapgh
+ Moreover we are seeing more varied users of SDL Perl.

-
This was a project to test how well Perl+SDL performs and does not use OpenGL at all. This is all perl and SDL, with the help of libsdl_gfx for SDL::GFX::Primitives. Texture mapping doesn't use SDL::GFX::Primitives because textured_polygon just takes a surface, tiles it, and clips out the polygon, which doesn't look 3D at all.
+John.O Writes:
+

+This is for a tool that we'll be providing our dealers... it measures cellular modem signal strengths out in the middle of nowhere, so dealers can evaluate if our products will work in customers' fields. And of course, I'm using Perl/SDL for the graphics... C gets on my nerves.

-Below are some screen shots of this little toy in action. If you'd like to try it yourself, you can download the entire project here. You can rotate the objects with the mouse, or keyboard arrows. Also press shift to toggle shading and space to switch objects.
+Our company is http://smartfield.com.

-NOTE: the project is compressed in the .tgz format, if you are a windows user, you may need a tool like 7zip to extract the contents.
+John O.

-
Standard Cube:
-

-

Standard Cube with Pseudo Shading:
-
-

-

Standard Diamond:
-
-

-

Standard Diamond with Pseudo Shading:
-
-

-

Textured Cube:
-
-

-

Perspectively Correct Textured Cube:
-
-

-

Perspectively Correct Textured Cube with shading:
-
-

-
-


-

\ No newline at end of file +
+


+

\ No newline at end of file diff --git a/pages/blog-0004.html-inc b/pages/blog-0004.html-inc index b877a58..21af3c6 100644 --- a/pages/blog-0004.html-inc +++ b/pages/blog-0004.html-inc @@ -1,13 +1,38 @@

-SDL 2.503 Released! +Perl+SDL 3D Rendering

-

SDL 2.503 has been released on to CPAN. The changes are mostly in the new features added to SDLx::* layer. However as our continuing attempt to improve cross platform support we have some low level fixes.


-

Most interstingly we have begun work on SDLx::Sprite::Animated. Although, volatile, this addition will be highly anticipated. We look forward for more work on it soon. Additionally are the changes in SDLx::Surface. SDLx::Surface is an attempt to provide gfx, pixels, video and low level surface functions in a combined and simpler interface.


-

Since SDLx::Sprite and SDLx::App depends on SDLx::Surface, new features will be propagated and the magic amplified! These are exciting times for SDL in Perl. So come join us for great justice on #sdl irc.perl.org or sdl-devel@perl.org.


-The detailed changelog are provided at CPAN.
-
-Kartik Thakore -


-

\ No newline at end of file +Recently we have done a lot of work on the next release of SDL Perl. But it all pays off when I see users do cool things as one of the users has done below. Talon^++! This project is a great example for people wanting to learn 3D from scratch.
+
+--yapgh
+
+
This was a project to test how well Perl+SDL performs and does not use OpenGL at all. This is all perl and SDL, with the help of libsdl_gfx for SDL::GFX::Primitives. Texture mapping doesn't use SDL::GFX::Primitives because textured_polygon just takes a surface, tiles it, and clips out the polygon, which doesn't look 3D at all.
+
+Below are some screen shots of this little toy in action. If you'd like to try it yourself, you can download the entire project here. You can rotate the objects with the mouse, or keyboard arrows. Also press shift to toggle shading and space to switch objects.
+
+NOTE: the project is compressed in the .tgz format, if you are a windows user, you may need a tool like 7zip to extract the contents.
+
+
Standard Cube:
+

+

Standard Cube with Pseudo Shading:
+
+

+

Standard Diamond:
+
+

+

Standard Diamond with Pseudo Shading:
+
+

+

Textured Cube:
+
+

+

Perspectively Correct Textured Cube:
+
+

+

Perspectively Correct Textured Cube with shading:
+
+

+
+


+

\ No newline at end of file diff --git a/pages/blog-0005.html-inc b/pages/blog-0005.html-inc index b1abc1d..b877a58 100644 --- a/pages/blog-0005.html-inc +++ b/pages/blog-0005.html-inc @@ -1,23 +1,13 @@

-Huge World Maps in less then 100 lines +SDL 2.503 Released!

-

-Hello folks,
-
-Recently we have been working on making the Perl syntax sugar for SDL in the form of SDLx. So far we have got the SDLx::Surface and SDLx::Sprite (garu++) done. So the first thing we did was throw together a quick Zelda map walker. As you can see above.  The code is at http://gist.github.com/478440. The SDL code that this depends on will be SDL 2.503 soonish . We are in the process of cleaning up some more SDLx and Alien::SDL bugs. After that SDLx::App will be overhauled to make this sort of thing even easier. Finally living up to our goal of  'Simple Games Easy. Complex Games Possible.' 
-
-
-UPDATE: with some help, and newcomer jtpalmer's help we have added Link
- 
-
-

-
-
-
-

-
---caio yapgh -


-

\ No newline at end of file +

SDL 2.503 has been released on to CPAN. The changes are mostly in the new features added to SDLx::* layer. However as our continuing attempt to improve cross platform support we have some low level fixes.


+

Most interstingly we have begun work on SDLx::Sprite::Animated. Although, volatile, this addition will be highly anticipated. We look forward for more work on it soon. Additionally are the changes in SDLx::Surface. SDLx::Surface is an attempt to provide gfx, pixels, video and low level surface functions in a combined and simpler interface.


+

Since SDLx::Sprite and SDLx::App depends on SDLx::Surface, new features will be propagated and the magic amplified! These are exciting times for SDL in Perl. So come join us for great justice on #sdl irc.perl.org or sdl-devel@perl.org.


+The detailed changelog are provided at CPAN.
+
+Kartik Thakore
+


+

\ No newline at end of file diff --git a/pages/blog-0006.html-inc b/pages/blog-0006.html-inc index 4c366da..b1abc1d 100644 --- a/pages/blog-0006.html-inc +++ b/pages/blog-0006.html-inc @@ -1,26 +1,23 @@

-The Build Process of SDL Perl +Huge World Maps in less then 100 lines

-

A while ago I had a long chat with mst on why SDL uses Module::Build rather then Make. I told him it is a simple matter of code inertia. The existing Module::Build system has worked well for us so far. Never the less, he convinced me that switching to Make will improve debugging the Build system. But to be able to switch we will need to completely replace the Build system. I am not prepared to do that so I will just present the requirements so mst or someone else can at least attempt to switch.


+

+Hello folks,

-

The Build Process


- Alien::SDL
+Recently we have been working on making the Perl syntax sugar for SDL in the form of SDLx. So far we have got the SDLx::Surface and SDLx::Sprite (garu++) done. So the first thing we did was throw together a quick Zelda map walker. As you can see above.  The code is at http://gist.github.com/478440. The SDL code that this depends on will be SDL 2.503 soonish . We are in the process of cleaning up some more SDLx and Alien::SDL bugs. After that SDLx::App will be overhauled to make this sort of thing even easier. Finally living up to our goal of  'Simple Games Easy. Complex Games Possible.' 

-

SDL Perl depends on a few C libraries for a complete install. This is handled by Alien::SDL. First we look for existing SDL libraries and dependencies by doing a File::Find for headers. If these headers are found we present and option for the user to use those. We then store these locations in Alien::SDL->config options 'cflags', 'prefix' and 'libs'. If we do not have libraries available even for a minimum SDL installed ( SDL.h is not found). We provide several platform specific options.


-

For windows we have a simpler process. We download prebuilt binaries ( and checksum ) based on the user's selection and just copy them in to the right location. Again the 'prefix', 'cflags', and 'libs' is saved in Alien::SDL->config.


-

For *nix/MacOSX we download sources and attempt to compile them. To be able to do this we download several other dependencies like libpng, jpeg and pango. You can see how we do this using hashes here. During the compile process we also apply patches as needed for the sources. Once this is done we can head to SDL Build.PL


- SDL Perl dependency resolution

-SDL's Build is responsible for linking the right libraries to the correct XS. If libraries are missing it will disable the component (not put it in SDL->config).
+UPDATE: with some help, and newcomer jtpalmer's help we have added Link
+ 

-

For example to build Image.xs we require libsdl, libsdl_image and lib[jpg|png|tiff]. So we would check for these headers in the prefix provided by Alien::SDL->config. If they are not provided we will disable the SDL::Image module.


-

More over the availability of each library is specified as a -DMACRO to the gcc compiler. This way we can prevent XS failures due to missing libraries using #DEFINES. Here the SDL_image macro is defined and used. The availability of the module is then available from SDL::Config->has()
+


+

- Conclusion
-

This is a high level overview of our Build process, because frankly I hate traumatizing my brain with this again. Credits have to go to FROGGS and kmx for helping with this Build scheme. Hopefully my post have helped people at the very least appreciate the problem scope of this Build system. That said I believe a fresh written build system, with these requirements in mind, will be more then welcome.
-

-


-

\ No newline at end of file +

+
+--caio yapgh
+


+

\ No newline at end of file diff --git a/pages/blog-0007.html-inc b/pages/blog-0007.html-inc index 706ea53..4c366da 100644 --- a/pages/blog-0007.html-inc +++ b/pages/blog-0007.html-inc @@ -1,77 +1,26 @@

-SDL RC 2.5 decides to play with PDL +The Build Process of SDL Perl

-PDL provides great number crunching capabilities to Perl and SDL provides game-developer quality real-time bitmapping and sound.
-You can use PDL and SDL together to create real-time,
-responsive animations and simulations.
-In this section we will go through the pleasures and pitfalls of working with both powerhouse libraries.
-- David Mertnes
+

A while ago I had a long chat with mst on why SDL uses Module::Build rather then Make. I told him it is a simple matter of code inertia. The existing Module::Build system has worked well for us so far. Never the less, he convinced me that switching to Make will improve debugging the Build system. But to be able to switch we will need to completely replace the Build system. I am not prepared to do that so I will just present the requirements so mst or someone else can at least attempt to switch.



+

The Build Process


+ Alien::SDL

-

Creating a SDL Surface piddle


-PDL's core type is a piddle.
-Once a piddle is provided to PDL it can go do a numerous amounts of things.
-Please see the example in 'examples/cookbook/pdl.pl' in github.
+

SDL Perl depends on a few C libraries for a complete install. This is handled by Alien::SDL. First we look for existing SDL libraries and dependencies by doing a File::Find for headers. If these headers are found we present and option for the user to use those. We then store these locations in Alien::SDL->config options 'cflags', 'prefix' and 'libs'. If we do not have libraries available even for a minimum SDL installed ( SDL.h is not found). We provide several platform specific options.


+

For windows we have a simpler process. We download prebuilt binaries ( and checksum ) based on the user's selection and just copy them in to the right location. Again the 'prefix', 'cflags', and 'libs' is saved in Alien::SDL->config.


+

For *nix/MacOSX we download sources and attempt to compile them. To be able to do this we download several other dependencies like libpng, jpeg and pango. You can see how we do this using hashes here. During the compile process we also apply patches as needed for the sources. Once this is done we can head to SDL Build.PL


+ SDL Perl dependency resolution

-

Creating a simple piddle


-First lets get the right modules.
+SDL's Build is responsible for linking the right libraries to the correct XS. If libraries are missing it will disable the component (not put it in SDL->config).

-
  use PDL;
-  use SDL::Rect;
-  use SDL::Video;
-  use SDL::Surface;
-  use SDL::PixelFormat;
-

-Suppose you want a surface of size (200,400) and 32 bit (RGBA).
+

For example to build Image.xs we require libsdl, libsdl_image and lib[jpg|png|tiff]. So we would check for these headers in the prefix provided by Alien::SDL->config. If they are not provided we will disable the SDL::Image module.


+

More over the availability of each library is specified as a -DMACRO to the gcc compiler. This way we can prevent XS failures due to missing libraries using #DEFINES. Here the SDL_image macro is defined and used. The availability of the module is then available from SDL::Config->has()

-

my ( $bytes_per_pixel, $width, $height ) = ( 4, 200, 400 );
-

-Define the $width, $height and $bytes_per_pixel. Your $bytes_per_pixel is the number of bits (in this case 32) divided by 8 bits per byte. Therefore for our 32 bpp we have 4 Bpp;

-
my $piddle  = zeros( byte, $bytes_per_pixel, $width, $height );
-

-Create a normal $piddle with zeros, byte format and the Bpp x width x height dimensions.
-
-
my $pointer = $piddle->get_dataref();
-

-Here is where we get the acutal data the piddle is pointing to. We will have SDL create a new surface from this function.
-
-
my $surface = SDL::Surface->new_from( $pointer, $width, $height, 32,
-        $width * $bytes_per_pixel );
-

-Using the same dimensions we create the surface using SDL::Surface->new_form(). The $width * $Bpp is the scanline (pitch) of the surface in bytes.
-
-
warn "Made surface of $width, $height and ". $surface->format->BytesPerPixel;
-   return ( $piddle, $surface );
-

-Finally make sure that the surface acutally has the correct dimensions we gave.
-
-NOTE: $surface->format->BytesPerPixel must return 1,2,3,4. !!
-
-Now you can blit and use the surface as needed; and do PDL operations as required.
-
-

Operating on the Surface safely


-To make sure SDL is in sync with the data. You must call SDL::Video::lock before doing PDL operations on the piddle.
-
-
SDL::Video::lock_surface($surface);
- 
-    $piddle ( :, 0 : rand(400), 0 : rand(200) ) .=   pdl( rand(225), rand(225), rand(255), 255 );
-

-After that you can unlock the surface to blit.
-
-
SDL::Video::unlock_surface($surface);
-

-

Errors due to BPP at blitting


-When blitting the new surface check for the return value to see if there has been a problem.
-
-
my $b = SDL::Video::blit_surface(
-        $surface,  SDL::Rect->new( 0, 0, $surface->w, $surface->h ),
-        $app, SDL::Rect->new(  ( $app->w - $surface->w ) / 2, ( $app->h - $surface->h ) / 2, $app->w, $app->h )
-       );
- 
-    die "Could not blit: " . SDL::get_error() if ( $b == -1 );
-

-If the error message is 'Blit combination not supported' that means that the BPP is incorrect or incosistent with the dimensions. After that a simple update_rect will so your new surface on the screen. -


-

\ No newline at end of file + Conclusion
+

This is a high level overview of our Build process, because frankly I hate traumatizing my brain with this again. Credits have to go to FROGGS and kmx for helping with this Build scheme. Hopefully my post have helped people at the very least appreciate the problem scope of this Build system. That said I believe a fresh written build system, with these requirements in mind, will be more then welcome.
+

+


+

\ No newline at end of file diff --git a/pages/blog-0008.html-inc b/pages/blog-0008.html-inc index 2e202e7..706ea53 100644 --- a/pages/blog-0008.html-inc +++ b/pages/blog-0008.html-inc @@ -1,81 +1,77 @@

-Providing direct memory access to SDL_Surface's pixels +SDL RC 2.5 decides to play with PDL

-

In an attempt to make pixel access easier on SDL_Surface pixels. I have started work on SDLx::Surface. So far I have only start on the 32 bpp surfaces.


-

The general idea is to make Pointer Values (PV) of each pixel in the surface and place them into a 2D matrix. First I make pointer values like this:


-
SV * get_pixel32 (SDL_Surface *surface, int x, int y)
-{
- //Convert the pixels to 32 bit 
- Uint32 *pixels = (Uint32 *)surface->pixels; 
-
- //Get the requested pixel  
- Uint32* u_ptr =  pixels + ( y * surface->w ) + x ; 
-
-        SV* sv = newSVpv("a",1); //Make a temp SV* value on the go
-        SvCUR_set(sv, sizeof(Uint32)); //Specify the new CUR length
- SvLEN_set(sv, sizeof(Uint32)); //Specify the LEN length
-        SvPV_set(sv,(char*)u_ptr); // set the actual pixel's pointer as the memory space to use
-
- return sv; //make a modifiable reference using u_ptr's place as the memory :)
-
-}
+PDL provides great number crunching capabilities to Perl and SDL provides game-developer quality real-time bitmapping and sound.
+You can use PDL and SDL together to create real-time,
+responsive animations and simulations.
+In this section we will go through the pleasures and pitfalls of working with both powerhouse libraries.
-- David Mertnes
+
+
+

Creating a SDL Surface piddle


+PDL's core type is a piddle.
+Once a piddle is provided to PDL it can go do a numerous amounts of things.
+Please see the example in 'examples/cookbook/pdl.pl' in github.
+
+

Creating a simple piddle


+First lets get the right modules.
+
+
  use PDL;
+  use SDL::Rect;
+  use SDL::Video;
+  use SDL::Surface;
+  use SDL::PixelFormat;
 

-

Next I loop through all the pixels and put them in a 2D array format, shown below:

AV * construct_p_matrix ( SDL_Surface *surface )
-{
-    AV * matrix = newAV();
-     int i, j;
-     for(  i =0 ; i < surface->w; i++)
-      {
-        AV * matrix_row = newAV();
-        for( j =0 ; j < surface->h; j++)
-        {
-           av_push(matrix_row, get_pixel32(surface, i,j) );
-        }
-        av_push(matrix, newRV_noinc((SV*) matrix_row) );
-      }
-
- return matrix;
-}
+Suppose you want a surface of size (200,400) and 32 bit (RGBA).
+
+
my ( $bytes_per_pixel, $width, $height ) = ( 4, 200, 400 );
 

-

You can see the complete here.


-

In Perl I can do a get access on this pixel using:


+Define the $width, $height and $bytes_per_pixel. Your $bytes_per_pixel is the number of bits (in this case 32) divided by 8 bits per byte. Therefore for our 32 bpp we have 4 Bpp;

-
my $surf32_matrix = SDLx::Surface::pixel_array($screen_surface);
-   print unpack 'b*', $surf32_matrix->[0][0]; # pixel value at x = 0 and y =0
-#OUTPUT:
-# 11111111000000000000000000000000
+
my $piddle  = zeros( byte, $bytes_per_pixel, $width, $height );
 

-

The structure of the PV is using Devel::Peek is :


-
print Dump $surf32_matrix->[0][0];
-#OUTPUT:
-#SV = PV(0xed0dbc) at 0xeb5344
-#  REFCNT = 1
-#  FLAGS = (POK,pPOK)
-#  PV = 0x9e04ac "\0\0\377\0"
-#  CUR = 4
-#  LEN = 4
+Create a normal $piddle with zeros, byte format and the Bpp x width x height dimensions.
+
+
my $pointer = $piddle->get_dataref();
+

+Here is where we get the acutal data the piddle is pointing to. We will have SDL create a new surface from this function.
+
+
my $surface = SDL::Surface->new_from( $pointer, $width, $height, 32,
+        $width * $bytes_per_pixel );
 

-

The problem is in setting the value of this pointer value. I have tried the following things with no success:


-
if ( SDL::Video::MUSTLOCK($screen_surface) ) {
-    return if ( SDL::Video::lock_surface($screen_surface) < 0 ); #required for pixel operations
-}
-
-#USING pack
-
-my $green = pack 'b*', '11111111000000000000000000000000';
-substr( $surf32_matrix->[0][0], 0, 8 * 4, $green); #no change
-#substr( $surf32_matrix->[0][0], 0, 8 * 4, 0xFF000000); segfault
-substr( ${$surf32_matrix->[0][0]}, 0, 8 * 4, 0xFF000000); #no change
-#$surf32_matrix->[0][0] = $green; SEGFAULT's cannot write to memory
-${$surf32_matrix->[0][0]} = $green; #no change
-
-
-SDL::Video::unlock_surface($screen_surface)
-  if ( SDL::Video::MUSTLOCK($screen_surface) );
+Using the same dimensions we create the surface using SDL::Surface->new_form(). The $width * $Bpp is the scanline (pitch) of the surface in bytes.
+
+
warn "Made surface of $width, $height and ". $surface->format->BytesPerPixel;
+   return ( $piddle, $surface );
+

+Finally make sure that the surface acutally has the correct dimensions we gave.
+
+NOTE: $surface->format->BytesPerPixel must return 1,2,3,4. !!
+
+Now you can blit and use the surface as needed; and do PDL operations as required.
+
+

Operating on the Surface safely


+To make sure SDL is in sync with the data. You must call SDL::Video::lock before doing PDL operations on the piddle.
+
+
SDL::Video::lock_surface($surface);
+ 
+    $piddle ( :, 0 : rand(400), 0 : rand(200) ) .=   pdl( rand(225), rand(225), rand(255), 255 );
+

+After that you can unlock the surface to blit.
+
+
SDL::Video::unlock_surface($surface);
+

+

Errors due to BPP at blitting


+When blitting the new surface check for the return value to see if there has been a problem.
+
+
my $b = SDL::Video::blit_surface(
+        $surface,  SDL::Rect->new( 0, 0, $surface->w, $surface->h ),
+        $app, SDL::Rect->new(  ( $app->w - $surface->w ) / 2, ( $app->h - $surface->h ) / 2, $app->w, $app->h )
+       );
+ 
+    die "Could not blit: " . SDL::get_error() if ( $b == -1 );
 

-

You can see an example here.


-

Any help will be greatly appreciated.

-


-

\ No newline at end of file +If the error message is 'Blit combination not supported' that means that the BPP is incorrect or incosistent with the dimensions. After that a simple update_rect will so your new surface on the screen.
+


+

\ No newline at end of file diff --git a/pages/blog-0009.html-inc b/pages/blog-0009.html-inc index 5cffcd0..2e202e7 100644 --- a/pages/blog-0009.html-inc +++ b/pages/blog-0009.html-inc @@ -1,18 +1,81 @@

-SDLpp.pl: Packaging SDL Scripts Alpha +Providing direct memory access to SDL_Surface's pixels

-After a lot of patches and head scratching I have an alpha version of SDLpp.pl. The purpose of SDLpp.pl is to allow SDL perl developers to package their game for end users.
+

In an attempt to make pixel access easier on SDL_Surface pixels. I have started work on SDLx::Surface. So far I have only start on the 32 bpp surfaces.


+

The general idea is to make Pointer Values (PV) of each pixel in the surface and place them into a 2D matrix. First I make pointer values like this:


+
SV * get_pixel32 (SDL_Surface *surface, int x, int y)
+{
+ //Convert the pixels to 32 bit 
+ Uint32 *pixels = (Uint32 *)surface->pixels; 
+
+ //Get the requested pixel  
+ Uint32* u_ptr =  pixels + ( y * surface->w ) + x ; 
+
+        SV* sv = newSVpv("a",1); //Make a temp SV* value on the go
+        SvCUR_set(sv, sizeof(Uint32)); //Specify the new CUR length
+ SvLEN_set(sv, sizeof(Uint32)); //Specify the LEN length
+        SvPV_set(sv,(char*)u_ptr); // set the actual pixel's pointer as the memory space to use
+
+ return sv; //make a modifiable reference using u_ptr's place as the memory :)
+
+}
+

+

Next I loop through all the pixels and put them in a 2D array format, shown below:

AV * construct_p_matrix ( SDL_Surface *surface )
+{
+    AV * matrix = newAV();
+     int i, j;
+     for(  i =0 ; i < surface->w; i++)
+      {
+        AV * matrix_row = newAV();
+        for( j =0 ; j < surface->h; j++)
+        {
+           av_push(matrix_row, get_pixel32(surface, i,j) );
+        }
+        av_push(matrix, newRV_noinc((SV*) matrix_row) );
+      }
+
+ return matrix;
+}
+

+

You can see the complete here.


+

In Perl I can do a get access on this pixel using:



-Here is the shooter.pl packaged up:
-
-
  1. win32/64
  2. -
  3. Linux 5.88
  4. -
  5. Linux 5.10
  6. -

-We are looking into testing this on a Mac Build server.
-
-Caio -


-

\ No newline at end of file +
my $surf32_matrix = SDLx::Surface::pixel_array($screen_surface);
+   print unpack 'b*', $surf32_matrix->[0][0]; # pixel value at x = 0 and y =0
+#OUTPUT:
+# 11111111000000000000000000000000
+

+

The structure of the PV is using Devel::Peek is :


+
print Dump $surf32_matrix->[0][0];
+#OUTPUT:
+#SV = PV(0xed0dbc) at 0xeb5344
+#  REFCNT = 1
+#  FLAGS = (POK,pPOK)
+#  PV = 0x9e04ac "\0\0\377\0"
+#  CUR = 4
+#  LEN = 4
+

+

The problem is in setting the value of this pointer value. I have tried the following things with no success:


+
if ( SDL::Video::MUSTLOCK($screen_surface) ) {
+    return if ( SDL::Video::lock_surface($screen_surface) < 0 ); #required for pixel operations
+}
+
+#USING pack
+
+my $green = pack 'b*', '11111111000000000000000000000000';
+substr( $surf32_matrix->[0][0], 0, 8 * 4, $green); #no change
+#substr( $surf32_matrix->[0][0], 0, 8 * 4, 0xFF000000); segfault
+substr( ${$surf32_matrix->[0][0]}, 0, 8 * 4, 0xFF000000); #no change
+#$surf32_matrix->[0][0] = $green; SEGFAULT's cannot write to memory
+${$surf32_matrix->[0][0]} = $green; #no change
+
+
+SDL::Video::unlock_surface($screen_surface)
+  if ( SDL::Video::MUSTLOCK($screen_surface) );
+

+

You can see an example here.


+

Any help will be greatly appreciated.

+


+

\ No newline at end of file diff --git a/pages/blog-0010.html-inc b/pages/blog-0010.html-inc index 2bd84fc..5cffcd0 100644 --- a/pages/blog-0010.html-inc +++ b/pages/blog-0010.html-inc @@ -1,40 +1,18 @@

-Getting people to use SDL Perl: Docs, API, and Distribution +SDLpp.pl: Packaging SDL Scripts Alpha

-

The road so far


-Things have been busy but fruitful. Our two core modules are getting to be a bit more stable. Alien::SDL 1.405 is behaving well. This foundational stability will start to show results in SDL too I believe. Most excitingly the main developer of frozen-bubble is reviewing our Games::FrozenBubble port to CPAN. All good and well, but to keep this project going we need to improve.
+After a lot of patches and head scratching I have an alpha version of SDLpp.pl. The purpose of SDLpp.pl is to allow SDL perl developers to package their game for end users.

-

Getting people to use SDL Perl


-After a long chat with a new SDL user on #sdl today, I realize we still have some way to go. Currently it seems we are lacking in a few areas. We can definitely use some feedback and help in these areas.
+Here is the shooter.pl packaged up:
+
+
  1. win32/64
  2. +
  3. Linux 5.88
  4. +
  5. Linux 5.10
  6. +

+We are looking into testing this on a Mac Build server.

-
  • Tutorials/Documentation
    -
  • - -
    • We have more docs now on http://sdl.perl.org but they suck
    • -
    • What type of tutorials do you think will be good for beginners?
    • - -
      • A project start to finish?
      • -
      • Individual tutorials for various topics?
      • -
      • What needs to go in SDL::CookBook?
      • -
    -
  • API sweetness
  • - -
    • SDL Perl depends on distinct C libraries
    • - -
      • This makes naming conventions, data formats different the SDL:: namespaces
      • -
      • How do people design this stuff?
      • - -
        • We are hackers and we just go do stuff but I think this needs some prior thought
        • -
        • Any takers?
        • -
    -
  • Distribution
  • - -
    • If SDL scripts can be packaged up simply for game developers to distribute their games it will be a big plus
    • - -
      • One way is a Wx::Perl::Packer clone
      • -
      • Another is a CPAN/Steam clone that game devs can upload games too and people can point and click download games? 
      • -
If anyone wants to help in these areas please talk to us on sdl-devel@perl.org. 
-


-

\ No newline at end of file +Caio
+


+

\ No newline at end of file diff --git a/pages/blog-0011.html-inc b/pages/blog-0011.html-inc index ef14036..2bd84fc 100644 --- a/pages/blog-0011.html-inc +++ b/pages/blog-0011.html-inc @@ -1,10 +1,40 @@

-Games::FrozenBubble: It is a start! +Getting people to use SDL Perl: Docs, API, and Distribution

-We released a playable (client) frozen bubble on CPAN. There is more work to be done but it is a great start! It currently works on Windows and Linux.
+

The road so far


+Things have been busy but fruitful. Our two core modules are getting to be a bit more stable. Alien::SDL 1.405 is behaving well. This foundational stability will start to show results in SDL too I believe. Most excitingly the main developer of frozen-bubble is reviewing our Games::FrozenBubble port to CPAN. All good and well, but to keep this project going we need to improve.

-
-


-

\ No newline at end of file +

Getting people to use SDL Perl


+After a long chat with a new SDL user on #sdl today, I realize we still have some way to go. Currently it seems we are lacking in a few areas. We can definitely use some feedback and help in these areas.
+
+
If anyone wants to help in these areas please talk to us on sdl-devel@perl.org. 
+


+

\ No newline at end of file diff --git a/pages/blog-0012.html-inc b/pages/blog-0012.html-inc index 3bbdb8b..ef14036 100644 --- a/pages/blog-0012.html-inc +++ b/pages/blog-0012.html-inc @@ -1,15 +1,10 @@

-Release SDL 2.4: Frozen-Bubble begins to go to CPAN +Games::FrozenBubble: It is a start!

-
-SDL 2.4 is released!

+We released a playable (client) frozen bubble on CPAN. There is more work to be done but it is a great start! It currently works on Windows and Linux.

-After 8 months of work this picture begins to sum it up:
-
-

-

If you cannot wait then grab SDL 2.4 and Alien::SDL 1.2 (pick PANGO support) from CPAN and grab the toolchain branch from the repo. Disclaimer the branch will be volatile for a bit.


---yapgh -


-

\ No newline at end of file +
+


+

\ No newline at end of file diff --git a/pages/blog-0013.html-inc b/pages/blog-0013.html-inc index 6e3de57..3bbdb8b 100644 --- a/pages/blog-0013.html-inc +++ b/pages/blog-0013.html-inc @@ -1,21 +1,15 @@

-A summer of possibilities (SDL_perl and GSOC 2010 ) +Release SDL 2.4: Frozen-Bubble begins to go to CPAN

-

GSOC 2010


-

As many of the readers must know The Perl Foundation has been accepted for the GSOC 2010 program. There are several SDL_perl mentors involved in it too. Right now we are accepting student applications.


+
+SDL 2.4 is released!


-Process to Apply
-

  • Sign in as a student here http://socghop.appspot.com/
  • -
  • Submit a proposal before April 5th
  • -
  • Usually it helps to discuss the idea with us on irc (#sdl irc.perl.org)
  • -

+After 8 months of work this picture begins to sum it up:

-

Ideas


-

Here are some ideas for SDL perl but we happily accepted student ideas.
- Make a student wiki page on this site of your ideas! We look forward to helping you guys with your ideas :)


-
---yapgh -


-

\ No newline at end of file +

+

If you cannot wait then grab SDL 2.4 and Alien::SDL 1.2 (pick PANGO support) from CPAN and grab the toolchain branch from the repo. Disclaimer the branch will be volatile for a bit.


+--yapgh
+


+

\ No newline at end of file diff --git a/pages/blog-0014.html-inc b/pages/blog-0014.html-inc index 8978342..6e3de57 100644 --- a/pages/blog-0014.html-inc +++ b/pages/blog-0014.html-inc @@ -1,36 +1,21 @@

-SDL Perl Showcase +A summer of possibilities (SDL_perl and GSOC 2010 )

-
-SDL_Mixer and Effects

+

GSOC 2010


+

As many of the readers must know The Perl Foundation has been accepted for the GSOC 2010 program. There are several SDL_perl mentors involved in it too. Right now we are accepting student applications.



-


-This demo shows the new work we have finished for SDL_Mixer support in SDL_perl . (FROGGS++)
-
-
-
  •  Plays ogg files in local directory
  • -
  •  Uses threads and SDL_Mixer effects to extract realtime stereo stream data
  • -
  •  Visulizes stream data as an oscilloscope
  • +Process to Apply
    +
    • Sign in as a student here http://socghop.appspot.com/
    • +
    • Submit a proposal before April 5th
    • +
    • Usually it helps to discuss the idea with us on irc (#sdl irc.perl.org)


    -Get it at: playlist.pl, you need some .ogg files to play in the same directory. Use the down key to go through them.
    -
    -
    -SDL_TTF support

    -
    -
    -

    -
    -This shows the current work on SDL_TTF support. UTF8 and Uncicode are supported.
    -
    -See the t/ttf.t test in github SDL_perl.
    -
    +

    Ideas


    +

    Here are some ideas for SDL perl but we happily accepted student ideas.
    + Make a student wiki page on this site of your ideas! We look forward to helping you guys with your ideas :)



    -
    -Spinner (Destiny Swirl) Arcade Game

    -

    -
    And finally as a proof of concept we have been working a simple arcade game to test our bugs, and scope out our high level bindings. You can get it at the Spinner repo. This wiki page will help you set up for your platforms. 
    -


    -

\ No newline at end of file +--yapgh
+


+

\ No newline at end of file diff --git a/pages/blog-0015.html-inc b/pages/blog-0015.html-inc index 7f9c593..8978342 100644 --- a/pages/blog-0015.html-inc +++ b/pages/blog-0015.html-inc @@ -1,25 +1,36 @@

-Eye Candy +SDL Perl Showcase

-
-clang
-With each imperfect hit
-a legendary blade forms
-

+
+SDL_Mixer and Effects


+

+This demo shows the new work we have finished for SDL_Mixer support in SDL_perl . (FROGGS++)

-In prep for the TPM meeting we have been working hard to release a new version of SDL Perl and Alien::SDL. After a lot of feed back from testers (Mike Stok, Stuart Watt, and Chas Owens), we where able to get a working version on 64bit and Mac. The releases will be out tomorrow but here
-is some eye candy to tide you guys over.

+
  •  Plays ogg files in local directory
  • +
  •  Uses threads and SDL_Mixer effects to extract realtime stereo stream data
  • +
  •  Visulizes stream data as an oscilloscope
  • +


-This is shooter.pl finally working in MacOSX and 64 bit.
+Get it at: playlist.pl, you need some .ogg files to play in the same directory. Use the down key to go through them.

-

+
+SDL_TTF support


-k23z_ mentioned I should get some more SDL_perl videos out to attract some devs. So here goes.

-Walking Guy from SDLPerl on Vimeo. -


-

\ No newline at end of file +

+
+This shows the current work on SDL_TTF support. UTF8 and Uncicode are supported.
+
+See the t/ttf.t test in github SDL_perl.
+
+
+
+Spinner (Destiny Swirl) Arcade Game

+

+
And finally as a proof of concept we have been working a simple arcade game to test our bugs, and scope out our high level bindings. You can get it at the Spinner repo. This wiki page will help you set up for your platforms. 
+


+

\ No newline at end of file diff --git a/pages/blog-0016.html-inc b/pages/blog-0016.html-inc index 1945937..7f9c593 100644 --- a/pages/blog-0016.html-inc +++ b/pages/blog-0016.html-inc @@ -1,38 +1,25 @@

-New build system! Needs testing! +Eye Candy

-
-
-
-
-
Rome was not built,
-in one day,
 feature creep,
-existed back then too.
-
-

-
kmx++ recently worked on a brand new Build system for Alien::SDL and SDL_perl. We have managed to test it in Windows and Linux environments. We would still appreciate testing on all environments. However none of us have a shiny Mac to try this on. So if you have a Mac please consider testing the following:

-
  • Download Alien::SDL 
  • - -
    • install it
    • -
    • select build by source
    • -
    -
  • Download SDL::perl
  • - -
    • Extract it
    • -
    • perl Build.PL
    • -
    • perl Build
    • -
    • See if Bundling works ( Maybe Brian's article may help )
    • -
Thank you very much!
+
+clang
+With each imperfect hit
+a legendary blade forms
+


-EDIT: 
- After some  reports back we have found out that SDL_gfx needs 
-
-

-http://cblfs.cross-lfs.org/index.php/SDL_gfx#64Bit
-
-

-We are working to get this done.
-


-

\ No newline at end of file +
+In prep for the TPM meeting we have been working hard to release a new version of SDL Perl and Alien::SDL. After a lot of feed back from testers (Mike Stok, Stuart Watt, and Chas Owens), we where able to get a working version on 64bit and Mac. The releases will be out tomorrow but here
+is some eye candy to tide you guys over.
+
+
+This is shooter.pl finally working in MacOSX and 64 bit.
+
+

+
+k23z_ mentioned I should get some more SDL_perl videos out to attract some devs. So here goes.
+
+Walking Guy from SDLPerl on Vimeo.
+


+

\ No newline at end of file diff --git a/pages/blog-0017.html-inc b/pages/blog-0017.html-inc index bdf8c94..1945937 100644 --- a/pages/blog-0017.html-inc +++ b/pages/blog-0017.html-inc @@ -1,31 +1,38 @@

-Quick Game for Toronto Perl Mongers +New build system! Needs testing!

-
-
Beep ... Boop
-

+
+
+
+
+
Rome was not built,
+in one day,
 feature creep,
+existed back then too.
+
+

+
kmx++ recently worked on a brand new Build system for Alien::SDL and SDL_perl. We have managed to test it in Windows and Linux environments. We would still appreciate testing on all environments. However none of us have a shiny Mac to try this on. So if you have a Mac please consider testing the following:

+
  • Download Alien::SDL 
  • + +
    • install it
    • +
    • select build by source
    • +
    +
  • Download SDL::perl
  • + +
    • Extract it
    • +
    • perl Build.PL
    • +
    • perl Build
    • +
    • See if Bundling works ( Maybe Brian's article may help )
    • +
Thank you very much!

-So I am preparing a presentation of the new SDL perl for February's Toronto Perl Mongers meeting. What better way to so off SDL perl then with a game?
-
-I started hacking a small point an click game a few days back. I really didn't have a idea in mind, but I did have a goal. I wanted to make a game that shows the basics of a game in SDL. Drawing to screen, game loops, physics and so on. I think I have accomplished it so far.
-
-Take a look at it here. Download that and call it[Shooter.pl]. To win click the balls.
-
-To play this game you need the following:
-
-
  • Only for Linux) sudo apt-get install libsdl-dev libsdl_gfx-dev
  • -
  • cpan Alien::SDL
  • -
  • Click Download Source http://github.com/kthakore/SDL_perl/tree/redesign
  • -
  • Extract it
  • -
  • perl Build.PL; perl Build; perl Build install
  • -
  • perl Shooter.pl
  • -

-I will put up binaries soon-ish.
-
-It is a playable (albeit hard) game right now. All 7 seven levels of it. The purpose of the game is simple click the balls to win. Sounds easy but it isn't. You also get a time in milliseconds after each level. Share your scores on here! I will leave it up to you guys to be honest.
-
-I do have to tidy it up and right documentation for it. This way I will be able to present it clearly to my fellow mongers. I am also still looking for ideas to make this a more polished game. FROGGS recommend I make it a classic NES duck hunt game. I thought since I am using gravity I could do a UFO game out of it where you shoot the UFOs. I am open to your ideas. -


-

\ No newline at end of file +EDIT: 
+ After some  reports back we have found out that SDL_gfx needs 
+
+

+http://cblfs.cross-lfs.org/index.php/SDL_gfx#64Bit
+
+

+We are working to get this done.
+


+

\ No newline at end of file diff --git a/pages/blog-0018.html-inc b/pages/blog-0018.html-inc index 1cfd8ae..bdf8c94 100644 --- a/pages/blog-0018.html-inc +++ b/pages/blog-0018.html-inc @@ -1,14 +1,31 @@

-SDL_perl 2.3_5 is out! +Quick Game for Toronto Perl Mongers

-
We keep on rolling,
-rolling,
-waiting on the world to turn.

-

-So a new alpha is out on CPAN, after a bit of a break. We are trying to pick up our speed again. Hopefully we can get back to the weekly updates. This week I am going to try to get Mixer and TTF bindings test, redesigned and doc'd. Hopefully soon we can start working on Frozen Bubble, as things are starting to come together. This alpha release has finally given us a good implementation of SDL Timers. Also Daniel Ruoso has also started a series blog posts of making games with SDL Perl. Hopefully this can get more people in SDL, cause we can sure use the help!
-
-More to come --yapgh -


-

\ No newline at end of file +
+
Beep ... Boop
+

+
+So I am preparing a presentation of the new SDL perl for February's Toronto Perl Mongers meeting. What better way to so off SDL perl then with a game?
+
+I started hacking a small point an click game a few days back. I really didn't have a idea in mind, but I did have a goal. I wanted to make a game that shows the basics of a game in SDL. Drawing to screen, game loops, physics and so on. I think I have accomplished it so far.
+
+Take a look at it here. Download that and call it[Shooter.pl]. To win click the balls.
+
+To play this game you need the following:
+
+
+I will put up binaries soon-ish.
+
+It is a playable (albeit hard) game right now. All 7 seven levels of it. The purpose of the game is simple click the balls to win. Sounds easy but it isn't. You also get a time in milliseconds after each level. Share your scores on here! I will leave it up to you guys to be honest.
+
+I do have to tidy it up and right documentation for it. This way I will be able to present it clearly to my fellow mongers. I am also still looking for ideas to make this a more polished game. FROGGS recommend I make it a classic NES duck hunt game. I thought since I am using gravity I could do a UFO game out of it where you shoot the UFOs. I am open to your ideas.
+


+

\ No newline at end of file diff --git a/pages/blog-0019.html-inc b/pages/blog-0019.html-inc index 64faf76..1cfd8ae 100644 --- a/pages/blog-0019.html-inc +++ b/pages/blog-0019.html-inc @@ -1,23 +1,14 @@

-Threaded XS callback finally gets solved. +SDL_perl 2.3_5 is out!

-

-Dragged down from the lofty isles,
-into the guts and gore of the monster,
-a welcoming cringe in the gut approaches.
-

+
We keep on rolling,
+rolling,
+waiting on the world to turn.


+So a new alpha is out on CPAN, after a bit of a break. We are trying to pick up our speed again. Hopefully we can get back to the weekly updates. This week I am going to try to get Mixer and TTF bindings test, redesigned and doc'd. Hopefully soon we can start working on Frozen Bubble, as things are starting to come together. This alpha release has finally given us a good implementation of SDL Timers. Also Daniel Ruoso has also started a series blog posts of making games with SDL Perl. Hopefully this can get more people in SDL, cause we can sure use the help!

-So I was planning staying silent until an exam I had was done. But new developers on IRC (j_king, felix and ruoso) pull me back in. Which is a good thing ... I suppose ... because we finally have threaded callbacks for timer and audiospec to work. ruoso++ for this major contribution. If you remember this was the problem we were having.
-
-The new callbacks capability in audiospec allow you to procedurally generate sound now. If you would like a simple example take a look at t/core_audiospec.t. However a more fun example may be ruoso++'s tecla (a game for toddlers). Myself and Garu think it is a work of art but that is only because we are toddlers.
-
-On a side note some tickets on RT have also received some love ( after 3 or 4 years ... but nonetheless). TonyC++ sorry for the long time in response.
-
-More information on the CHANGELOG.
-
-Also a shout out to FROGGS for his new SON!!!. Congrats buddy! -


-

\ No newline at end of file +More to come --yapgh +


+

\ No newline at end of file diff --git a/pages/blog-0020.html-inc b/pages/blog-0020.html-inc index 21daaf4..64faf76 100644 --- a/pages/blog-0020.html-inc +++ b/pages/blog-0020.html-inc @@ -1,18 +1,23 @@

-SDL Alpha 2: A sneak preview +Threaded XS callback finally gets solved.

-
Pretty or Ugly,
-
Code is Code
-
New or Old,
-
Code is Code
-
Fast or Slow
-
Code is Code 
+

+Dragged down from the lofty isles,
+into the guts and gore of the monster,
+a welcoming cringe in the gut approaches.
+


-So over the past week we have been working hard to release the next Alpha for SDL-2.3. In this release we have ported SDL_Image completely, fixed false negatives in our testing suite, improved conditional building. Also we have also started to migrate the very pretty SDL_GFX library. Here is the test for it, enjoy.

-

-
-


-

\ No newline at end of file +So I was planning staying silent until an exam I had was done. But new developers on IRC (j_king, felix and ruoso) pull me back in. Which is a good thing ... I suppose ... because we finally have threaded callbacks for timer and audiospec to work. ruoso++ for this major contribution. If you remember this was the problem we were having.
+
+The new callbacks capability in audiospec allow you to procedurally generate sound now. If you would like a simple example take a look at t/core_audiospec.t. However a more fun example may be ruoso++'s tecla (a game for toddlers). Myself and Garu think it is a work of art but that is only because we are toddlers.
+
+On a side note some tickets on RT have also received some love ( after 3 or 4 years ... but nonetheless). TonyC++ sorry for the long time in response.
+
+More information on the CHANGELOG.
+
+Also a shout out to FROGGS for his new SON!!!. Congrats buddy! +


+

\ No newline at end of file diff --git a/pages/blog-0021.html-inc b/pages/blog-0021.html-inc index c3b4a76..21daaf4 100644 --- a/pages/blog-0021.html-inc +++ b/pages/blog-0021.html-inc @@ -1,22 +1,18 @@

-Developer Release of SDL 2.3_1 +SDL Alpha 2: A sneak preview

-

-The city of Rome was built,
-with the first brick.
-

+
Pretty or Ugly,
+
Code is Code
+
New or Old,
+
Code is Code
+
Fast or Slow
+
Code is Code 

-

Alpha Release of new API

After a considerable amount of hacking and rewriting we have release the first development release of SDL perl on CPAN.
+So over the past week we have been working hard to release the next Alpha for SDL-2.3. In this release we have ported SDL_Image completely, fixed false negatives in our testing suite, improved conditional building. Also we have also started to migrate the very pretty SDL_GFX library. Here is the test for it, enjoy.

-

Overview of 2.3_1

In this version our goal was to tackle the proper allocations and destruction of SDL resources. We have accomplished this for all SDL Core structures. Moreover we have also improved the test suite and documentation considerably. Please read the CHANGELOG for a more detailed look.
-
-
-

Next steps

  • Complete bindings for Image, Mixer, ... so on
  • -
  • Come up with a method to provide threading in callbacks
  • -
  • Maintain and improve SDL Core as results for CPANTS come in
  • -

---yapgh -


-

\ No newline at end of file +

+
+


+

\ No newline at end of file diff --git a/pages/blog-0022.html-inc b/pages/blog-0022.html-inc index ab2aa11..c3b4a76 100644 --- a/pages/blog-0022.html-inc +++ b/pages/blog-0022.html-inc @@ -1,17 +1,22 @@

-SDL Perl Documentation: Reviewers need +Developer Release of SDL 2.3_1


-The written word,
-survives;
-the tests of Time,
-the fires of Hades,
-and wrath of Pluto.
+The city of Rome was built,
+with the first brick.


-

Documentation

In an effort to learn from past versions of SDL Perl and improve. We have been writing lots of documentation for our users. Of course since this is the first time we have been providing documentation we need your help. Please review our docs, at sdl.perl.org and give us some feed back. Send us the feeback at sdl-devel@mail.org or join us at #sdl irc.perl.org


---yapgh -


-

\ No newline at end of file +

Alpha Release of new API

After a considerable amount of hacking and rewriting we have release the first development release of SDL perl on CPAN.
+
+

Overview of 2.3_1

In this version our goal was to tackle the proper allocations and destruction of SDL resources. We have accomplished this for all SDL Core structures. Moreover we have also improved the test suite and documentation considerably. Please read the CHANGELOG for a more detailed look.
+
+
+

Next steps


+--yapgh
+


+

\ No newline at end of file diff --git a/pages/blog-0023.html-inc b/pages/blog-0023.html-inc index 84a740f..ab2aa11 100644 --- a/pages/blog-0023.html-inc +++ b/pages/blog-0023.html-inc @@ -1,35 +1,17 @@

-Migrating Sol's Tutorial of SDL to SDL_Perl +SDL Perl Documentation: Reviewers need

-
If I have seen further it is only by standing on the shoulders of giants. --Newton
+

+The written word,
+survives;
+the tests of Time,
+the fires of Hades,
+and wrath of Pluto.
+


-

-

-

Sol's Tutorials


-

When I was struggling with SDL C a while ago, someone recommended Sol's Tutorial to me. It had not only help me understand video in SDL, but I believe my code has improved using Sol's code style. I would like to pass these along to fellow SDL_Perl users too. So here is the Ch 02 code of Sol's Tutorial in SDL_Perl. It will be getting more and more Perly as our team hacks on it. There is more to come!
-


-

To use this code you need the new Redesigned SDL_Perl Library


-

Getting SDL Dependencies


-Only If you are on Linux (debian/ubuntu) you need the following dependencies:
-
-
$ sudo apt-get install libsdl-net1.2-dev libsdl-mixer1.2-dev libsmpeg-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev 

-On Windows we recommend using Strawberry Perl. It comes with SDL-1.2.13 header files and libs included.
-
-Both Windows and Linux needs to install Alien::SDL
-
-
$ cpan Alien::SDL
** Add sudo to this for Linux
-
-

Getting Bleeding SDL


-The bleeding SDL is on github. Click download on this site .
-
-Extract it and cd into the folder run
-
$ cpan . 
** The dot is needed
-** in Linux you may need to do sudo
-
-Then you can run this script by doing
-
-
$ perl examples/sols/ch02.pl 
-


-

\ No newline at end of file +

Documentation

In an effort to learn from past versions of SDL Perl and improve. We have been writing lots of documentation for our users. Of course since this is the first time we have been providing documentation we need your help. Please review our docs, at sdl.perl.org and give us some feed back. Send us the feeback at sdl-devel@mail.org or join us at #sdl irc.perl.org


+--yapgh +


+

\ No newline at end of file diff --git a/pages/blog-0024.html-inc b/pages/blog-0024.html-inc index 0de3c83..84a740f 100644 --- a/pages/blog-0024.html-inc +++ b/pages/blog-0024.html-inc @@ -1,59 +1,35 @@

-Once in a while .... (set_event_filter) +Migrating Sol's Tutorial of SDL to SDL_Perl

-

-Once in a while
-Things just work!
-

+
If I have seen further it is only by standing on the shoulders of giants. --Newton

+

+

+

Sol's Tutorials


+

When I was struggling with SDL C a while ago, someone recommended Sol's Tutorial to me. It had not only help me understand video in SDL, but I believe my code has improved using Sol's code style. I would like to pass these along to fellow SDL_Perl users too. So here is the Ch 02 code of Sol's Tutorial in SDL_Perl. It will be getting more and more Perly as our team hacks on it. There is more to come!
+


+

To use this code you need the new Redesigned SDL_Perl Library


+

Getting SDL Dependencies


+Only If you are on Linux (debian/ubuntu) you need the following dependencies:
+
+
$ sudo apt-get install libsdl-net1.2-dev libsdl-mixer1.2-dev libsmpeg-dev libsdl1.2-dev libsdl-image1.2-dev libsdl-ttf2.0-dev 

+On Windows we recommend using Strawberry Perl. It comes with SDL-1.2.13 header files and libs included.
+
+Both Windows and Linux needs to install Alien::SDL
+
+
$ cpan Alien::SDL
** Add sudo to this for Linux
+
+

Getting Bleeding SDL


+The bleeding SDL is on github. Click download on this site .
+
+Extract it and cd into the folder run
+
$ cpan . 
** The dot is needed
+** in Linux you may need to do sudo

-So I have been hacking for a while on SDL::Events::set_event_filter. The code below is an example usage. The magic behind this is here
+Then you can run this script by doing

-
 1 #!/usr/bin/perl -w
- 2 use strict;
- 3 use warnings;
- 4 use SDL v2.3; #Require the redesign branch
- 5 use SDL::Video;
- 6 use SDL::Event;
- 7 use SDL::Events;
- 8 
- 9 SDL::init(SDL_INIT_VIDEO);
-10 my $display = SDL::Video::set_video_mode(640,480,32, SDL_SWSURFACE );
-11 my  $event = SDL::Event->new();
-12 
-13 #This filters out all ActiveEvents
-14 my $filter = sub { 
-15      my ($e, $type) = ($_[0], $_[0]->type); 
-16      if($type == SDL_ACTIVEEVENT){ return 0 } 
-17      elsif($type == SDL_MOUSEBUTTONDOWN && $e->button_button == 1){ return 0 }
-18      else { return 1; }
-19       };
-20 
-21 SDL::Events::set_event_filter($filter);
-22 
-23 while(1)
-24 {
-25 
-26   SDL::Events::pump_events();
-27   if(SDL::Events::poll_event($event))
-28   {
-29 
-30   if(  $event->type == SDL_ACTIVEEVENT)
-31  {
-32  print "Hello Mouse!!!\n" if ($event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
-33  print "Bye Mouse!!!\n" if (!$event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
-34         }
-35   if( $event->type == SDL_MOUSEBUTTONDOWN)
-36    {
-37  my ($x, $y, $but ) = ($event->button_x, $event->button_y, $event->button_button);
-38  warn "$but CLICK!!! at $x and $y \n";
-39  }
-40 
-41       last if($event->type == SDL_QUIT);
-42   }
-43 }
-44 SDL::quit()
 
 
Tinker with $filter and look at perldoc lib/SDL/pods/Event.pod. 
 
Have fun,
--yapgh
-


-

\ No newline at end of file +
$ perl examples/sols/ch02.pl 
+


+

\ No newline at end of file diff --git a/pages/blog-0025.html-inc b/pages/blog-0025.html-inc index e65be37..0de3c83 100644 --- a/pages/blog-0025.html-inc +++ b/pages/blog-0025.html-inc @@ -1,36 +1,59 @@

-Hello Mouse? An Example of the New Event Code +Once in a while .... (set_event_filter)

-
Any code that is not marketed is dead code
---mst

+

+Once in a while
+Things just work!
+


-You need the new code from the redesign branch to use this .

-
#!/usr/bin/env perl
-
-use SDL;
-use SDL::Events;
-use SDL::Event;
-use SDL::Video; 
-
-SDL::init(SDL_INIT_VIDEO);
-
-my $display = SDL::Video::set_video_mode(640,480,32, SDL_SWSURFACE );
-my $event   = SDL::Event->new(); 
-
-while(1)
-{   
- SDL::Events::pump_events();  
-
- if(SDL::Events::poll_event($event) && $event->type == SDL_ACTIVEEVENT)
- {
-  print "Hello Mouse!!!\n" if ($event->active_gain  && ($event->active_state == SDL_APPMOUSEFOCUS) );
-  print "Bye Mouse!!!\n"   if (!$event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
- }   
- 
- exit if($event->type == SDL_QUIT);
-}
-


-

\ No newline at end of file +So I have been hacking for a while on SDL::Events::set_event_filter. The code below is an example usage. The magic behind this is here
+
+
 1 #!/usr/bin/perl -w
+ 2 use strict;
+ 3 use warnings;
+ 4 use SDL v2.3; #Require the redesign branch
+ 5 use SDL::Video;
+ 6 use SDL::Event;
+ 7 use SDL::Events;
+ 8 
+ 9 SDL::init(SDL_INIT_VIDEO);
+10 my $display = SDL::Video::set_video_mode(640,480,32, SDL_SWSURFACE );
+11 my  $event = SDL::Event->new();
+12 
+13 #This filters out all ActiveEvents
+14 my $filter = sub { 
+15      my ($e, $type) = ($_[0], $_[0]->type); 
+16      if($type == SDL_ACTIVEEVENT){ return 0 } 
+17      elsif($type == SDL_MOUSEBUTTONDOWN && $e->button_button == 1){ return 0 }
+18      else { return 1; }
+19       };
+20 
+21 SDL::Events::set_event_filter($filter);
+22 
+23 while(1)
+24 {
+25 
+26   SDL::Events::pump_events();
+27   if(SDL::Events::poll_event($event))
+28   {
+29 
+30   if(  $event->type == SDL_ACTIVEEVENT)
+31  {
+32  print "Hello Mouse!!!\n" if ($event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
+33  print "Bye Mouse!!!\n" if (!$event->active_gain && ($event->active_state == SDL_APPMOUSEFOCUS) );
+34         }
+35   if( $event->type == SDL_MOUSEBUTTONDOWN)
+36    {
+37  my ($x, $y, $but ) = ($event->button_x, $event->button_y, $event->button_button);
+38  warn "$but CLICK!!! at $x and $y \n";
+39  }
+40 
+41       last if($event->type == SDL_QUIT);
+42   }
+43 }
+44 SDL::quit()
 
 
Tinker with $filter and look at perldoc lib/SDL/pods/Event.pod. 
 
Have fun,
--yapgh
+


+

\ No newline at end of file diff --git a/pages/index.html-inc b/pages/index.html-inc index 8bc72c5..ca95196 100644 --- a/pages/index.html-inc +++ b/pages/index.html-inc @@ -11,7 +11,7 @@
  • Latest News -