Giter Site home page Giter Site logo

perlgamedev / sdl_manual Goto Github PK

View Code? Open in Web Editor NEW
64.0 27.0 15.0 12.08 MB

The Manual for writing Games in Perl using SDL. Part of TPF grant.

Home Page: https://github.com/PerlGameDev/SDL_Manual/raw/master/dist/SDL_Manual.pdf

Perl 48.16% TeX 2.85% Makefile 48.67% Perl 6 0.32%

sdl_manual's Introduction

Manual for Game Development with SDL Perl

Name:

Kartik Thakore

Email:

thakore.kartik 'at' gmail.com

Amount Requested:

$1500

Synopsis

This project will improve the Game Development tutorials for Perl using the SDL library. The primary goal is to introduce newcomers to Game Development in Perl. The secondary goal is to attract people to try Perl as a Game Scripting and Prototyping language.

The Background of SDL Perl

SDL stands for Simple DirectMedia Library, and provides cross-platform access to various multimedia devices. These include audio, keyboard, mouse, joystick, 2D video framebuffer and 3D hardware via OpenGL. The main application of SDL is to create games that are cross-platform.

SDL Perl was created by David J. Goehrig, prior 2004. Since then many people have worked on it, including chromatic. However, since 2004, the project's core team unfortunately disappeared. The reason for this had been mainly the overwhelming amount of work required for the slightest of change or bugfix, the way it was initially designed. Updating the module and making it work on different systems was becoming unfeasible, and eventually the maintainers decided to pursue other interests, leaving this amazing project in a stall.

In order to revitalize the project and eliminate such shortcomings, a complete overhaul was necessary. Standing on the shoulders of giants, I started to tackle minor bug fixes. Before long I contact David and worked with him to make the first release in 5 years[1]. Eventually I was made the new maintainer and was releasing regularly in the old API[2].

After much deliberation and discussions with chromatic, Leon Brocard (acme) and several others, it became evident that a complete overhaul was necessary to eliminate all shortcomings and fully revitalize the project. I decided to rewrite SDL Perl into a layered approach. The first layer which has been mostly completed is a 1:1 match with the C API. We have also added a better building system with the Alien::SDL pipeline. Additionally we have added more tests and cross platform support. Finally, we began work on a second layer of extensions - SDLx - that provides a much needed sugar coating over the raw API, removing any drudge and error-prone constructions and making game development a much easier and fun experience with Perl.

[1] http://search.cpan.org/~dgoehrig/SDL_Perl-2.2.0/

[2] http://search.cpan.org/~kthakore/SDL_Perl-v2.2.6/

Benefits to the Perl Community

Implications for Perl

SDL bindings to Perl allow for rapid game prototyping and game scripting. The rapid development speed of Perl and power of the CPAN becomes a large selling point for Game Developers. This renewed union between modern Perl and SDL will most definitely showcase Perl to a very enthusiastic audience and bring in more users, like the Pygame project did for the Python language. Moreover learning a language to make a game has a universal appeal that users can understand.

Need for Tutorials

The SDL Perl is at a stage of writing SDL extensions that will require a lot of review and insight into the module. For this pool to be generated we need to attract developers and users to the current low level API. From the generated feedback, new SDLx modules can be born. Perl has considerable amount of documentation, books, tutorials, and articles written for various topics. However, one area still lacking is game development. The last article writing for game development in Perl and SDL has been in 2006. Since then, lots of changes have happened in both the SDL library and in bringing game development to Perl. For one, the SDL bindings has been completely rewritten.

There is no other module providing Game Development from the Perl ecosystem as focused as SDL. With these new tutorials beginners to both Perl and Game Development will be able to get up to speed. Game Development should attract more users into the Perl ecosystem, providing an extra appeal to newcomers and making a potentially dramatic change on the stigma of Perl as a terminal-only, archaic language.

Deliverables

Getting started tutorials that comprise of the following:

Your first SDL Application in Perl
Drawing Primitives and Sprites
Handling Events
The Game Loop
Making the Pong Game
Making the Tetris Game using Object Oriented Perl
Handling Music and Sound
Using modules from CPAN to reuse code in Games ( JSON and Moose )
Profiling your Games with NYTProf to find trouble spots
Using XS to optimize Game effects
Interfacing raw data with other Modules ( PDL and OpenGL)

Moreover, each tutorial will be provided with working code scripts. Lastly the documentation will be released as SDL::Manual with SDL Perl on CPAN.

Project Details

The tutorials will cover

Your first SDL Application

Installing SDL, where to get help and showing a simple window on screen.

Drawing Primitives and Sprites

Creating primitives (pixels, lines, rectangles, circles, triangles). Loading images into sprites. Then writing to the screen.

Handling Events

Showing how SDL can handle events from the keyboard, mouse and other input devices.

The Game Loop

How to put together the core loop of the game. This is the beginning of most games.

Making the Pong Game

Using what we have learned so to create a simple game.

Making the Tetris Game using Object Oriented Perl

Using Pure Perl object oriented code we will create a Tetris clone.

Handling Music and Sound

We will add background game music to Pong and Tetris. Also we will show how channels can be used for Sound Effects.

Using modules from CPAN to reuse code in Games ( JSON and Moose )

Using JSON to model Game Data. And improving OOP syntax with Moose.

Profiling your Games with NYTProf to find trouble spots

Games need to be fast and the NYTProf is unique profiling tool to Perl.

Using XS to optimize Game effects

Performing operations directly on Surface pixels using Perl to prototype and XS to optimize.

Interfacing raw data with other Modules

Interfacing SDL Surfaces to PDL (Perl Data Language) and the Perl OpenGL.

Completeness Criteria

The completeness of the project can be gauged with my regular blog posts and emails to [email protected] . Also all code will be available on github.com for auditing. The project is complete when SDL::Manual is release with SDL perl on CPAN.

Project Schedule

The project should take 1 - 2 months. I will begin work on this project as soon as possible, regardless of the grant status. Without the grant it will take a lot longer to complete (or I may not even complete) this project as I will have to look for alternative sources of income.

Description

Most of the work for this grant will consist of creating new documentations. In some cases prior existing documentation will be cleaned up. The overall activities can be broken down into 4 tasks.

Writing simple and clean examples for the tutorials

This should take 1-2 weeks.

Writing the tutorials and keeping them available on github.com

This will be overlapping with the last week and 3rd week.

Posting information on regular Blog Posts and the mailing to get the content reviewed

I will start releasing alpha versions on the end of the 3rd week and ask for reviews until the end of the 4th week

Improving and cleaning up the documents based on the reviews

The last 2-3 weeks will be spent on updating any Code and Documentations.

I will be spending apporximately 20 hours a week on the project. The total will be around 100 hours.

Bio

I am a Toronto based developer. I am the current maintainer of SDL Perl and have made several releases to [1] CPAN. Currently I have also helped with port Frozen-Bubble to the new SDL API and made it cross platform. I will be going into my 4th year of Software Engineering at University of Western Ontario. Besides SDL I have contributed in minor roles to Padre and Parrot. All my code is available from [2]Github.

[1] http://search.cpan.org/~KTHAKORE

[2] http://github.com/kthakore

sdl_manual's People

Contributors

cfedde avatar chankeypathak avatar chromatic avatar ericguirbal avatar froggs avatar gargaml avatar garu avatar jtpalmer avatar kohaaloha avatar milki avatar perlpilot avatar pip avatar rjendoubi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdl_manual's Issues

surface directionality

The text doesn't mention the directionality of surfaces. Where is (0,0)? Lower left? Upper Left? Center? where?

Depth of explanations/basics in "01-first.pod"

Don't defer explanations: Either explain here and now what in SDL/gaming context is

  • the attached screen to the video device
  • a surface (is it different from e.g. Cairo surfaces?)
  • a window (is it the same "window" definition as I would open with Gtk?)
  • how they relate to each other
  • which one is the "thing to draw the game on"
  • what does it make "game-ish"? Is there anything special about a SDL window and/or surface and/or screen?

If necessary draw comparisons to non-game GUI programming and emphasize how they might differ.

If people start with game programming, the jargon and the underlying concepts are important to understand. They might come from a GUI programming background though and understand certain things better if you compare similarities and differences.

Example: "As you can see, SDL opens a simple window if you call App->new. This is not the same kind of window as you'd open with Gtk::Window->new, because SDL's "window" already come with a "surface" attached to them. The "surface" is - similar to many libraries you draw lines with - your canvas to draw your game magic on" ... something along those lines.

color

In the text of chapter 2 it mentions that colors are specified as an anonymous arrray like

[ $red, $green, $blue, $opacity ]

then later it talks about assigning colors to individual pixels using a hexadecimal number:

$surface->[$x][$y] = 0xFF0000FF;

Can an anonymous array be used here as well? Does this ...

$surface->[$x][$y] = [ 255, 0, 0, 255 ];

work?

rectangles

Chapter 2 says "In SDL rectangles are the most cost effective of the primitives to draw". What does that mean?

Explanations in 02-drawing.pod

Here, you explain a little more about surfaces. Good. :) Please explain why I can have several surfaces - and: are those stacked? Is there a z-axis? Are they like layers in Gimp/Photoshop?

Something like "Imagine the surfaces as a range of layers or screen you draw your items on. They can be stacked, rearranged or work like non-destructive layers work in Photoshop: You add an effect on one surface and overlay some other surface with it. Surfaces can be duplicated (copied? cloned?) and reused" and so on.. (I just made that up by assuming that this is how surfaces work in SDL, please ignore it if I'm plain wrong here and explain how they really work. :)

In the "coordinates" paragraphs you refer to the documentation. I would add at least three sentences here on the subject of blitting (another jargon thing you either know and understand or you're totally lost wtf blitting might be. ;) Explain it and explain what blitting's got to do with coordinates (overlapping? intersections? unions? What does blitting actually do?)

A little later this code example pops up:

$surface->draw_{something}

List the three most important draw_something by their real names. (Didn't you mention at the top of the chapter that you can draw primitives, images and text? Are those the somethings? If not - how do I get from those three to the draw_somethings? Are they related somehow?)

  • Mention "alpha channel" in context of "transparency".

Why would I need to know the pixels at this point? What's it good for to be able to address every single pixel of my surface? What's a common use for it?

Now more details about surfaces are coming up - don't spread information this way, it makes it hard to follow.

  • Also: Are Images surfaces? Or do I put an image onto a surface? Or do I create a real surface type like "an image surface"? Do I have to stick with it? Can I change it?
  • What libary is it I would need for the mentioned image support? Name it.
  • Is Video "video" as in "mpeg avi moving images"? :)

Oh, and why do I have to know about Image and Video, if generally the Sprite module is used? Why? Are those sprites like in web programming? What's a sprite in game jargon?

"Sprites add several features" - which one? Name a couple and add a short explanation why those are useful/helpful/mandatory/good style/plain stupid if not used...

xs_effects.pl bug

Hi. Tried this program: https://github.com/PerlGameDev/SDL_Manual/blob/master/code_listings/xs_effects.pl and it failed:

varnie@localhost: ./xs_effects.pl
Had problems bootstrapping Inline module 'xs_pl_4067'

Not a CODE reference at /usr/lib/perl/5.14/DynaLoader.pm line 207.
END failed--call queue aborted at (eval 50) line 207.

at ./xs_effects.pl line 16
BEGIN failed--compilation aborted at ./xs_effects.pl line 58.
*** glibc detected *** /usr/bin/perl: free(): invalid pointer: 0x0a120d54 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x75ee2)[0xb7561ee2]
/usr/bin/perl(Perl_hv_undef_flags+0xd2)[0x80dc4d2]
/usr/bin/perl(Perl_sv_clear+0x74b)[0x80eec4b]
/usr/bin/perl(Perl_sv_free2+0x4b)[0x80ef09b]
/usr/bin/perl(Perl_gp_free+0x319)[0x807cd79]
/usr/bin/perl(Perl_sv_clear+0x8c9)[0x80eedc9]
/usr/bin/perl(Perl_sv_free2+0x4b)[0x80ef09b]
/usr/bin/perl(Perl_hv_free_ent+0x154)[0x80d87e4]
/usr/bin/perl[0x80d8ab8]
/usr/bin/perl(Perl_hv_undef_flags+0xbd)[0x80dc4bd]
/usr/bin/perl(Perl_sv_clear+0x74b)[0x80eec4b]
/usr/bin/perl(Perl_sv_free2+0x4b)[0x80ef09b]
/usr/bin/perl(Perl_gp_free+0x319)[0x807cd79]
/usr/bin/perl(Perl_sv_clear+0x8c9)[0x80eedc9]
/usr/bin/perl(Perl_sv_free2+0x4b)[0x80ef09b]
/usr/bin/perl(Perl_hv_free_ent+0x154)[0x80d87e4]
/usr/bin/perl[0x80d8ab8]
/usr/bin/perl(Perl_hv_undef_flags+0xbd)[0x80dc4bd]
/usr/bin/perl(Perl_sv_clear+0x74b)[0x80eec4b]
/usr/bin/perl(Perl_sv_free2+0x4b)[0x80ef09b]
/usr/bin/perl(perl_destruct+0x20a9)[0x8078389]
/usr/bin/perl(main+0xfb)[0x805e32b]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0xb75054d3]
/usr/bin/perl[0x805e3a1]
======= Memory map: ========
08048000-081ad000 r-xp 00000000 08:06 11010065 /usr/bin/perl
081ad000-081ae000 r--p 00164000 08:06 11010065 /usr/bin/perl
081ae000-081b0000 rw-p 00165000 08:06 11010065 /usr/bin/perl
0a108000-0a5ef000 rw-p 00000000 00:00 0 [heap]
b670a000-b6726000 r-xp 00000000 08:06 9700047 /lib/i386-linux-gnu/libgcc_s.so.1
b6726000-b6727000 r--p 0001b000 08:06 9700047 /lib/i386-linux-gnu/libgcc_s.so.1
b6727000-b6728000 rw-p 0001c000 08:06 9700047 /lib/i386-linux-gnu/libgcc_s.so.1
b6740000-b6744000 r-xp 00000000 08:06 11283611 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so
b6744000-b6745000 r--p 00003000 08:06 11283611 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so
b6745000-b6746000 rw-p 00004000 08:06 11283611 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so
b6746000-b675e000 r-xp 00000000 08:06 11015387 /usr/lib/i386-linux-gnu/libSDL_gfx.so.13.9.1
b675e000-b675f000 r--p 00017000 08:06 11015387 /usr/lib/i386-linux-gnu/libSDL_gfx.so.13.9.1
b675f000-b6760000 rw-p 00018000 08:06 11015387 /usr/lib/i386-linux-gnu/libSDL_gfx.so.13.9.1
b6760000-b6761000 rw-p 00000000 00:00 0
b6762000-b6766000 r-xp 00000000 08:06 11273773 /usr/lib/perl5/auto/SDLx/Controller/State/State.so
b6766000-b6767000 r--p 00003000 08:06 11273773 /usr/lib/perl5/auto/SDLx/Controller/State/State.so
b6767000-b6768000 rw-p 00004000 08:06 11273773 /usr/lib/perl5/auto/SDLx/Controller/State/State.so
b6768000-b676d000 r-xp 00000000 08:06 11273769 /usr/lib/perl5/auto/SDLx/Controller/Interface/Interface.so
b676d000-b676e000 r--p 00004000 08:06 11273769 /usr/lib/perl5/auto/SDLx/Controller/Interface/Interface.so
b676e000-b676f000 rw-p 00005000 08:06 11273769 /usr/lib/perl5/auto/SDLx/Controller/Interface/Interface.so
b676f000-b6777000 r-xp 00000000 08:06 11283590 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so
b6777000-b6778000 r--p 00007000 08:06 11283590 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so
b6778000-b6779000 rw-p 00008000 08:06 11283590 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so
b6779000-b6794000 r-xp 00000000 08:06 11286742 /usr/lib/perl5/auto/SDL/GFX/Primitives/Primitives.so
b6794000-b6795000 r--p 0001a000 08:06 11286742 /usr/lib/perl5/auto/SDL/GFX/Primitives/Primitives.so
b6795000-b6796000 rw-p 0001b000 08:06 11286742 /usr/lib/perl5/auto/SDL/GFX/Primitives/Primitives.so
b6796000-b67a1000 r-xp 00000000 08:06 11015221 /usr/lib/i386-linux-gnu/libjbig.so.0.0.0
b67a1000-b67a2000 r--p 0000a000 08:06 11015221 /usr/lib/i386-linux-gnu/libjbig.so.0.0.0
b67a2000-b67a5000 rw-p 0000b000 08:06 11015221 /usr/lib/i386-linux-gnu/libjbig.so.0.0.0
b67a5000-b67c9000 r-xp 00000000 08:06 9700063 /lib/i386-linux-gnu/liblzma.so.5.0.0
b67c9000-b67ca000 r--p 00024000 08:06 9700063 /lib/i386-linux-gnu/liblzma.so.5.0.0
b67ca000-b67cb000 rw-p 00025000 08:06 9700063 /lib/i386-linux-gnu/liblzma.so.5.0.0
b67cb000-b67f8000 r-xp 00000000 08:06 11024910 /usr/lib/i386-linux-gnu/libwebp.so.2.0.0
b67f8000-b67f9000 r--p 0002c000 08:06 11024910 /usr/lib/i386-linux-gnu/libwebp.so.2.0.0
b67f9000-b67fa000 rw-p 0002d000 08:06 11024910 /usr/lib/i386-linux-gnu/libwebp.so.2.0.0
b67fa000-b67fd000 rw-p 00000000 00:00 0
b67fd000-b686c000 r-xp 00000000 08:06 11015302 /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
b686c000-b686d000 ---p 0006f000 08:06 11015302 /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
b686d000-b686e000 r--p 0006f000 08:06 11015302 /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
b686e000-b6870000 rw-p 00070000 08:06 11015302 /usr/lib/i386-linux-gnu/libtiff.so.5.1.0
b6870000-b68b5000 r-xp 00000000 08:06 11015223 /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
b68b5000-b68b6000 r--p 00044000 08:06 11015223 /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
b68b6000-b68b7000 rw-p 00045000 08:06 11015223 /usr/lib/i386-linux-gnu/libjpeg.so.8.0.2
b68b7000-b68c7000 rw-p 00000000 00:00 0
b68c7000-b68ee000 r-xp 00000000 08:06 9700113 /lib/i386-linux-gnu/libpng12.so.0.49.0
b68ee000-b68ef000 r--p 00026000 08:06 9700113 /lib/i386-linux-gnu/libpng12.so.0.49.0
b68ef000-b68f0000 rw-p 00027000 08:06 9700113 /lib/i386-linux-gnu/libpng12.so.0.49.0
b68f0000-b68fc000 r-xp 00000000 08:06 11024912 /usr/lib/i386-linux-gnu/libSDL_image-1.2.so.0.8.4
b68fc000-b68fd000 r--p 0000b000 08:06 11024912 /usr/lib/i386-linux-gnu/libSDL_image-1.2.so.0.8.4
b68fd000-b68fe000 rw-p 0000c000 08:06 11024912 /usr/lib/i386-linux-gnu/libSDL_image-1.2.so.0.8.4
b68fe000-b690e000 rw-p 00000000 00:00 0
b6911000-b6917000 r-xp 00000000 08:06 11273763 /usr/lib/perl5/auto/SDLx/Surface/Surface.so
b6917000-b6918000 r--p 00005000 08:06 11273763 /usr/lib/perl5/auto/SDLx/Surface/Surface.so
b6918000-b6919000 rw-p 00006000 08:06 11273763 /usr/lib/perl5/auto/SDLx/Surface/Surface.so
b6919000-b691f000 r-xp 00000000 08:06 11273766 /usr/lib/perl5/auto/SDLx/Validate/Validate.so
b691f000-b6920000 r--p 00005000 08:06 11273766 /usr/lib/perl5/auto/SDLx/Validate/Validate.so
b6920000-b6921000 rw-p 00006000 08:06 11273766 /usr/lib/perl5/auto/SDLx/Validate/Validate.so
b6921000-b6924000 r-xp 00000000 08:06 11286664 /usr/lib/perl5/auto/SDL/Color/Color.so
b6924000-b6925000 r--p 00002000 08:06 11286664 /usr/lib/perl5/auto/SDL/Color/Color.so
b6925000-b6926000 rw-p 00003000 08:06 11286664 /usr/lib/perl5/auto/SDL/Color/Color.so
b6926000-b692f000 r-xp 00000000 08:06 11286661 /usr/lib/perl5/auto/SDL/Image/Image.so
b692f000-b6930000 r--p 00008000 08:06 11286661 /usr/lib/perl5/auto/SDL/Image/Image.so
b6930000-b6931000 rw-p 00009000 08:06 11286661 /usr/lib/perl5/auto/SDL/Image/Image.so
b6931000-b6936000 r-xp 00000000 08:06 11286729 /usr/lib/perl5/auto/SDL/VideoInfo/VideoInfo.so
b6936000-b6937000 r--p 00004000 08:06 11286729 /usr/lib/perl5/auto/SDL/VideoInfo/VideoInfo.so
b6937000-b6938000 rw-p 00005000 08:06 11286729 /usr/lib/perl5/auto/SDL/VideoInfo/VideoInfo.so
b6938000-b693d000 r-xp 00000000 08:06 11286652 /usr/lib/perl5/auto/SDL/Surface/Surface.so
b693d000-b693e000 r--p 00004000 08:06 11286652 /usr/lib/perl5/auto/SDL/Surface/Surface.so
b693e000-b693f000 rw-p 00005000 08:06 11286652 /usr/lib/perl5/auto/SDL/Surface/Surface.so
b693f000-b6945000 r-xp 00000000 08:06 11286646 /usr/lib/perl5/auto/SDL/PixelFormat/PixelFormat.so
b6945000-b6946000 r--p 00005000 08:06 11286646 /usr/lib/perl5/auto/SDL/PixelFormat/PixelFormat.so
b6946000-b6947000 rw-p 00006000 08:06 11286646 /usr/lib/perl5/auto/SDL/PixelFormat/PixelFormat.so
b6947000-b694c000 r-xp 00000000 08:06 11286658 /usr/lib/perl5/auto/SDL/Events/Events.so
b694c000-b694d000 r--p 00005000 08:06 11286658 /usr/lib/perl5/auto/SDL/Events/Events.so
b694d000-b694e000 rw-p 00006000 08:06 11286658 /usr/lib/perl5/auto/SDL/Events/Events.so
b694e000-b6960000 r-xp 00000000 08:06 11286666 /usr/lib/perl5/auto/SDL/Event/Event.so
b6960000-b6961000 r--p 00011000 08:06 11286666 /usr/lib/perl5/auto/SDL/Event/Event.so
b6961000-b6962000 rw-p 00012000 08:06 11286666 /usr/lib/perl5/auto/SDL/Event/Event.so
b6962000-b6975000 r-xp 00000000 08:06 9716306 /lib/i386-linux-gnu/libresolv-2.15.so
b6975000-b6976000 r--p 00013000 08:06 9716306 /lib/i386-linux-gnu/libresolv-2.15.so
b6976000-b6977000 rw-p 00014000 08:06 9716306 /lib/i386-linux-gnu/libresolv-2.15.so
b6977000-b6979000 rw-p 00000000 00:00 0
b6979000-b697f000 r-xp 00000000 08:06 11015309 /usr/lib/i386-linux-gnu/libogg.so.0.8.0
b697f000-b6980000 r--p 00005000 08:06 11015309 /usr/lib/i386-linux-gnu/libogg.so.0.8.0
b6980000-b6981000 rw-p 00006000 08:06 11015309 /usr/lib/i386-linux-gnu/libogg.so.0.8.0
b6981000-b69aa000 r-xp 00000000 08:06 11015515 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b69aa000-b69ab000 ---p 00029000 08:06 11015515 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b69ab000-b69ac000 r--p 00029000 08:06 11015515 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b69ac000-b69ad000 rw-p 0002a000 08:06 11015515 /usr/lib/i386-linux-gnu/libvorbis.so.0.4.5
b69ad000-b6b13000 r-xp 00000000 08:06 11015517 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
b6b13000-b6b24000 r--p 00165000 08:06 11015517 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
b6b24000-b6b25000 rw-p 00176000 08:06 11015517 /usr/lib/i386-linux-gnu/libvorbisenc.so.2.0.8
b6b25000-b6b73000 r-xp 00000000 08:06 11014714 /usr/lib/i386-linux-gnu/libFLAC.so.8.2.0
b6b73000-b6b74000 r--p 0004e000 08:06 11014714 /usr/lib/i386-linux-gnu/libFLAC.so.8.2.0
b6b74000-b6b75000 rw-p 0004f000 08:06 11014714 /usr/lib/i386-linux-gnu/libFLAC.so.8.2.0
b6b75000-b6b8b000 r-xp 00000000 08:06 9716312 /lib/i386-linux-gnu/libnsl-2.15.so
b6b8b000-b6b8c000 r--p 00015000 08:06 9716312 /lib/i386-linux-gnu/libnsl-2.15.so
b6b8c000-b6b8d000 rw-p 00016000 08:06 9716312 /lib/i386-linux-gnu/libnsl-2.15.so
b6b8d000-b6b8f000 rw-p 00000000 00:00 0
b6b8f000-b6b94000 r-xp 00000000 08:06 11014804 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
b6b94000-b6b95000 r--p 00004000 08:06 11014804 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
b6b95000-b6b96000 rw-p 00005000 08:06 11014804 /usr/lib/i386-linux-gnu/libXdmcp.so.6.0.0
b6b96000-b6c03000 r-xp 00000000 08:06 11015426 /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6c03000-b6c05000 r--p 0006c000 08:06 11015426 /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6c05000-b6c06000 rw-p 0006e000 08:06 11015426 /usr/lib/i386-linux-gnu/libsndfile.so.1.0.25
b6c06000-b6c0a000 rw-p 00000000 00:00 0
b6c0a000-b6c12000 r-xp 00000000 08:06 9700153 /lib/i386-linux-gnu/libwrap.so.0.7.6
b6c12000-b6c13000 r--p 00007000 08:06 9700153 /lib/i386-linux-gnu/libwrap.so.0.7.6
b6c13000-b6c14000 rw-p 00008000 08:06 9700153 /lib/i386-linux-gnu/libwrap.so.0.7.6
b6c14000-b6c2b000 r-xp 00000000 08:06 9700156 /lib/i386-linux-gnu/libz.so.1.2.7
b6c2b000-b6c2c000 r--p 00016000 08:06 9700156 /lib/i386-linux-gnu/libz.so.1.2.7
b6c2c000-b6c2d000 rw-p 00017000 08:06 9700156 /lib/i386-linux-gnu/libz.so.1.2.7
b6c2d000-b6c49000 r-xp 00000000 08:06 9700139 /lib/i386-linux-gnu/libtinfo.so.5.9
b6c49000-b6c4b000 r--p 0001b000 08:06 9700139 /lib/i386-linux-gnu/libtinfo.so.5.9
b6c4b000-b6c4c000 rw-p 0001d000 08:06 9700139 /lib/i386-linux-gnu/libtinfo.so.5.9
b6c4c000-b6c7b000 r-xp 00000000 08:06 9700072 /lib/i386-linux-gnu/libncursesw.so.5.9
b6c7b000-b6c7c000 r--p 0002e000 08:06 9700072 /lib/i386-linux-gnu/libncursesw.so.5.9
b6c7c000-b6c7d000 rw-p 0002f000 08:06 9700072 /lib/i386-linux-gnu/libncursesw.so.5.9
b6c7d000-b6d61000 r-xp 00000000 08:06 9700130 /lib/i386-linux-gnu/libslang.so.2.2.4
b6d61000-b6d63000 r--p 000e3000 08:06 9700130 /lib/i386-linux-gnu/libslang.so.2.2.4
b6d63000-b6d71000 rw-p 000e5000 08:06 9700130 /lib/i386-linux-gnu/libslang.so.2.2.4
b6d71000-b6dac000 rw-p 00000000 00:00 0
b6dac000-b6dcc000 r-xp 00000000 08:06 11010643 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
b6dcc000-b6dcd000 r--p 0001f000 08:06 11010643 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
b6dcd000-b6dce000 rw-p 00020000 08:06 11010643 /usr/lib/i386-linux-gnu/libxcb.so.1.1.0
b6dce000-b6e16000 r-xp 00000000 08:06 9707715 /lib/i386-linux-gnu/libdbus-1.so.3.7.2
b6e16000-b6e17000 r--p 00047000 08:06 9707715 /lib/i386-linux-gnu/libdbus-1.so.3.7.2
b6e17000-b6e18000 rw-p 00048000 08:06 9707715 /lib/i386-linux-gnu/libdbus-1.so.3.7.2
b6e18000-b6e20000 r-xp 00000000 08:06 11015227 /usr/lib/i386-linux-gnu/libjson.so.0.1.0
b6e20000-b6e21000 r--p 00007000 08:06 11015227 /usr/lib/i386-linux-gnu/libjson.so.0.1.0
b6e21000-b6e22000 rw-p 00008000 08:06 11015227 /usr/lib/i386-linux-gnu/libjson.so.0.1.0
b6e22000-b6e84000 r-xp 00000000 08:06 11014715 /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-2.1.so
b6e84000-b6e85000 r--p 00061000 08:06 11014715 /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-2.1.so
b6e85000-b6e86000 rw-p 00062000 08:06 11014715 /usr/lib/i386-linux-gnu/pulseaudio/libpulsecommon-2.1.so
b6e86000-b6f4c000 r-xp 00000000 08:06 11014896 /usr/lib/i386-linux-gnu/libcaca.so.0.99.18
b6f4c000-b6f4d000 r--p 000c5000 08:06 11014896 /usr/lib/i386-linux-gnu/libcaca.so.0.99.18
b6f4d000-b6f4e000 rw-p 000c6000 08:06 11014896 /usr/lib/i386-linux-gnu/libcaca.so.0.99.18
b6f4e000-b6f52000 rw-p 00000000 00:00 0
b6f52000-b6f62000 r-xp 00000000 08:06 11010716 /usr/lib/i386-linux-gnu/libXext.so.6.4.0
b6f62000-b6f63000 r--p 0000f000 08:06 11010716 /usr/lib/i386-linux-gnu/libXext.so.6.4.0
b6f63000-b6f64000 rw-p 00010000 08:06 11010716 /usr/lib/i386-linux-gnu/libXext.so.6.4.0
b6f64000-b7097000 r-xp 00000000 08:06 11010711 /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b7097000-b7098000 r--p 00132000 08:06 11010711 /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b7098000-b709b000 rw-p 00133000 08:06 11010711 /usr/lib/i386-linux-gnu/libX11.so.6.3.0
b709b000-b70e7000 r-xp 00000000 08:06 11015545 /usr/lib/i386-linux-gnu/libpulse.so.0.14.3
b70e7000-b70e8000 r--p 0004c000 08:06 11015545 /usr/lib/i386-linux-gnu/libpulse.so.0.14.3
b70e8000-b70e9000 rw-p 0004d000 08:06 11015545 /usr/lib/i386-linux-gnu/libpulse.so.0.14.3
b70e9000-b71d6000 r-xp 00000000 08:06 11013723 /usr/lib/i386-linux-gnu/libasound.so.2.0.0
b71d6000-b71da000 r--p 000ec000 08:06 11013723 /usr/lib/i386-linux-gnu/libasound.so.2.0.0
b71da000-b71db000 rw-p 000f0000 08:06 11013723 /usr/lib/i386-linux-gnu/libasound.so.2.0.0
b71db000-b7247000 r-xp 00000000 08:06 11023911 /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4
b7247000-b7248000 ---p 0006c000 08:06 11023911 /usr/lib/i386-linux-gnu/libSDL-1.2.so.0.11.4Aborted (core dumped)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.