This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »
1606
General ENIGMA / Re: FFI F'Up
« on: November 23, 2011, 12:39:43 pm »
Wut? I should go back to 948?
1607
General ENIGMA / Re: FFI F'Up
« on: November 22, 2011, 03:11:30 pm »
Well, it would at least allow me to compile then if this was an extension.
And do I compile it from .c or include a .lib, .a or .o? Because I maybe need to compile it for my own specific system or something. At least 5min google search revealed so much.
And do I compile it from .c or include a .lib, .a or .o? Because I maybe need to compile it for my own specific system or something. At least 5min google search revealed so much.
1608
General ENIGMA / FFI F'Up
« on: November 22, 2011, 10:26:54 am »
REV 948.
Quote
Building for mode (0)Also suggestion, as ffi is used only for external calls (dll's) then it could be an extension.
Cleaning up from previous executions
Location in memory of structure: 08A2D448
File version: -1
Incorrect version. File is too old for this compiler. Continuing anyway, because this number is always wrong.COPYING SOME F*CKING RESOURCES:
Copying sprite names
Copying sound names
Copying background names
Copying path names
Copying script names
Copying font names [1]
Copying timeline names [kidding, these are totally not implemented ]
Copying object names
Copying room names
SYNTAX CHECKING AND PRIMARY PARSING:
0 Scripts:
"Linking" scripts
`Linking' 0 scripts in 0 passes...
Completing script "Link"
Done.
0 Objects:
Creating room creation code scope and parsing
"Linking" scripts into the objects...
"Link" complete.
Tabulating maximum argument passes to each script
Finished
Writing modes and settings
Writing object switch
Writing resource names and maxima
Writing events
Checking for default code in ev[8, 0.
Checking for default code in ev[3, 0.
Linking globals
Running Secondary Parse Passes
Writing object data
Writing local accessors
Writing font data
Writing room data
Running make from `\MinGW\msys\1.0\bin\make.exe'
Full command line: \MinGW\msys\1.0\bin\make.exe Game GMODE=Run GRAPHICS=OpenGL AUDIO=OpenAL COLLISION=BBox WIDGETS=None PLATFORM=Win32 COMPILEPATH=Windows/Windows EXTENSIONS=" Universal_System/Extensions/Alarms Universal_System/Extensions/Timelines Universal_System/Extensions/Paths Universal_System/Extensions/MotionPlanning Universal_System/Extensions/DateTime Universal_System/Extensions/DataStructures"OUTPUTNAME="C:/Users/Daedalus/AppData/Local/Temp/egm5306193047205934733.tmp" eTCpath="/MinGW/bin:/bin:"
/usr/bin/make -C ENIGMAsystem/SHELL
make[1]: Entering directory `/c/Enigma_Trunk/ENIGMAsystem/SHELL'
g++ -Wall -s -O3 -IPlatforms/Win32/Info -IGraphics_Systems/OpenGL/Info -IAudio_Systems/OpenAL/Info -ICollision_Systems/BBox/Info -IWidget_Systems/None/Info -IUniversal_System/Info -MMD -MP -c -o .eobjs/Windows/Windows/Run/SHELLmain.o SHELLmain.cpp
echo "// GENERATED RESOURCE FILE FRONTEND" > .eobjs/Windows/Windows/Run/resources.rc
for res in ../additional/al/rc/oal32.rc; do echo "#include \"$res\"" >> .eobjs/Windows/Windows/Run/resources.rc; done
windres -o .eobjs/Windows/Windows/Run/resources.res -i .eobjs/Windows/Windows/Run/resources.rc -O coff
g++ -static-libstdc++ -static-libgcc -o C:/Users/Daedalus/AppData/Local/Temp/egm5306193047205934733.tmp .eobjs/Windows/Windows/Run/SHELLmain.o .eobjs/Windows/Windows/Run/libEGMstd.o .eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWScallback.o .eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSfonts.o .eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSmain.o .eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSshow_error.o .eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSstd.o .eobjs/Windows/Windows/Run/Platforms/Win32/WINDOWSwindow.o .eobjs/Windows/Windows/Run/Platforms/Win32/externals.o .eobjs/Windows/Windows/Run/Platforms/Win32/file_manip.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSbackground.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSblend.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GScolors.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GScurves.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSd3d.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSenable.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSfont.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSmiscextra.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSprmtvs.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSscreen.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSsprite.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSstdraw.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GSsurface.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/GStextures.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/OPENGLStd.o .eobjs/Windows/Windows/Run/Graphics_Systems/OpenGL/glew.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/as_basic.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/wrap_oal.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/alure/alure.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/alure/buffer.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/alure/istream.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/alure/stream.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/alure/streamdec.o .eobjs/Windows/Windows/Run/Audio_Systems/OpenAL/alure/streamplay.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/atexit.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/duhlen.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/duhtag.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/dumbfile.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/loadduh.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/makeduh.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/rawsig.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/readduh.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/register.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/rendduh.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/rendsig.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/core/unload.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/helpers/clickrem.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/helpers/memfile.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/helpers/resample.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/helpers/sampbuf.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/helpers/silence.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/helpers/stdfile.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itload.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itload2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itmisc.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itorder.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itread.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itread2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itrender.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/itunload.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/loadmod.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/loadmod2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/loads3m.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/loads3m2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/loadxm.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/loadxm2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/readmod.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/readmod2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/reads3m.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/reads3m2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/readxm.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/readxm2.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/dumb/src/it/xmeffect.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/ogg/bitwise.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/ogg/framing.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/analysis.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/bitrate.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/block.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/codebook.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/envelope.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/floor0.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/floor1.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/info.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/lookup.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/lpc.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/lsp.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/mapping0.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/mdct.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/psy.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/registry.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/res0.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/sharedbook.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/smallft.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/synthesis.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/vorbisfile.o .eobjs/Windows/Windows/Run/Audio_Systems/Codecs/vorbis/lib/window.o .eobjs/Windows/Windows/Run/Collision_Systems/BBox/coll_funcs.o .eobjs/Windows/Windows/Run/Collision_Systems/BBox/coll_impl.o .eobjs/Windows/Windows/Run/Collision_Systems/BBox/coll_util.o .eobjs/Windows/Windows/Run/Collision_Systems/BBox/placeholderlinks.o .eobjs/Windows/Windows/Run/Widget_Systems/None/nowidget_impl.o .eobjs/Windows/Windows/Run/Universal_System/CallbackArrays.o .eobjs/Windows/Windows/Run/Universal_System/ENIGMA_GLOBALS.o .eobjs/Windows/Windows/Run/Universal_System/IMGloading.o .eobjs/Windows/Windows/Run/Universal_System/WITHconstruct.o .eobjs/Windows/Windows/Run/Universal_System/actions.o .eobjs/Windows/Windows/Run/Universal_System/backgroundinit.o .eobjs/Windows/Windows/Run/Universal_System/backgroundstruct.o .eobjs/Windows/Windows/Run/Universal_System/collisions_object.o .eobjs/Windows/Windows/Run/Universal_System/darray.o .eobjs/Windows/Windows/Run/Universal_System/depth_draw.o .eobjs/Windows/Windows/Run/Universal_System/dynamic_args.o .eobjs/Windows/Windows/Run/Universal_System/estring.o .eobjs/Windows/Windows/Run/Universal_System/event_system.o .eobjs/Windows/Windows/Run/Universal_System/events.o .eobjs/Windows/Windows/Run/Universal_System/fileio.o .eobjs/Windows/Windows/Run/Universal_System/fontinit.o .eobjs/Windows/Windows/Run/Universal_System/fontstruct.o .eobjs/Windows/Windows/Run/Universal_System/globalupdate.o .eobjs/Windows/Windows/Run/Universal_System/graphics_object.o .eobjs/Windows/Windows/Run/Universal_System/highscore_functions.o .eobjs/Windows/Windows/Run/Universal_System/instance.o .eobjs/Windows/Windows/Run/Universal_System/instance_system.o .eobjs/Windows/Windows/Run/Universal_System/loading.o .eobjs/Windows/Windows/Run/Universal_System/mathnc.o .eobjs/Windows/Windows/Run/Universal_System/motion_planning.o .eobjs/Windows/Windows/Run/Universal_System/motion_planning_struct.o .eobjs/Windows/Windows/Run/Universal_System/move_functions.o .eobjs/Windows/Windows/Run/Universal_System/mp_movement.o .eobjs/Windows/Windows/Run/Universal_System/multifunction_variant.o .eobjs/Windows/Windows/Run/Universal_System/object.o .eobjs/Windows/Windows/Run/Universal_System/path_functions.o .eobjs/Windows/Windows/Run/Universal_System/pathinit.o .eobjs/Windows/Windows/Run/Universal_System/pathstruct.o .eobjs/Windows/Windows/Run/Universal_System/planar_object.o .eobjs/Windows/Windows/Run/Universal_System/rectpack.o .eobjs/Windows/Windows/Run/Universal_System/reflexive_types.o .eobjs/Windows/Windows/Run/Universal_System/resource_data.o .eobjs/Windows/Windows/Run/Universal_System/roomsystem.o .eobjs/Windows/Windows/Run/Universal_System/simplecollisions.o .eobjs/Windows/Windows/Run/Universal_System/soundinit.o .eobjs/Windows/Windows/Run/Universal_System/spriteinit.o .eobjs/Windows/Windows/Run/Universal_System/spritestruct.o .eobjs/Windows/Windows/Run/Universal_System/terminal_io.o .eobjs/Windows/Windows/Run/Universal_System/transform_object.o .eobjs/Windows/Windows/Run/Universal_System/var4.o .eobjs/Windows/Windows/Run/Universal_System/var4_lua.o .eobjs/Windows/Windows/Run/Universal_System/zlib.o .eobjs/Windows/Windows/Run/Universal_System/Extensions/Alarms/alarmcode.o .eobjs/Windows/Windows/Run/Universal_System/Extensions/Timelines/timelines.o .eobjs/Windows/Windows/Run/Universal_System/Extensions/Paths/paths.o .eobjs/Windows/Windows/Run/Universal_System/Extensions/MotionPlanning/mp.o .eobjs/Windows/Windows/Run/Universal_System/Extensions/DateTime/date_time.o .eobjs/Windows/Windows/Run/Universal_System/Extensions/DataStructures/data_structures.o .eobjs/Windows/Windows/Run/resources.res Platforms/Win32/ffi/libFFI.a -lcomdlg32 -lgdi32 -lopengl32 -lglu32 ../additional/al/lib/Win32/OpenAL32.lib ../additional/zlib/libzlib.a
Platforms/Win32/ffi/libFFI.a(ffi.o): In function `ffi_call':
c:\Users\Josh\Desktop\libffi-3.0.10\i686-pc-mingw32/../src/x86/ffi.c:281: undefined reference to `__chkstk_ms'
Platforms/Win32/ffi/libFFI.a(ffi.o): In function `ffi_closure_SYSV_inner':
c:\Users\Josh\Desktop\libffi-3.0.10\i686-pc-mingw32/../src/x86/ffi.c:374: undefined reference to `__chkstk_ms'
Platforms/Win32/ffi/libFFI.a(ffi.o): In function `ffi_raw_call':
c:\Users\Josh\Desktop\libffi-3.0.10\i686-pc-mingw32/../src/x86/ffi.c:615: undefined reference to `__chkstk_ms'
collect2: ld returned 1 exit status
make[1]: *** [C:/Users/Daedalus/AppData/Local/Temp/egm5306193047205934733.tmp] Error 1
make[1]: Leaving directory `/c/Enigma_Trunk/ENIGMAsystem/SHELL'
make: *** [Game] Error 2
1609
General ENIGMA / Re: What's the status of this project?
« on: November 08, 2011, 05:04:04 pm »Quote
Surfaces should work; HaRRi's tested them on Windows, but not since my update, and I've not tested them at all.Yeah, I haven't had the time to update the things I wanted. I changed some stuff around, but drawing on surfaces and then drawing the surfaces should work. I have already tested them quite extensively. I do have some alpha problems just like in GM though..
Quote
You can't create paths in the editor yetI think you can. That was the first thing I hooked up. You can't path_start() and path_end() though, that is what I wanted you to hook up (as you imagined it as some extension or something).
And Android port is quite limited. If I could be able to make it run in windows I would update it some more. Mostly the drawing functions need to be rewritten, because OpenGLES uses vertex arrays and can't draw with glBegin/glEnd. That shouldn't be particularly hard though as the maths are done already.
edit: Anyway, I think ENIGMA is quite powerful now and I can already create some really cool stuff in it. The last thing I still wait on is just normal exe create with an icon, so I can distribute some games if I end up wanting to. From the last rev's I understand that Debug mode is in? Then what mode was the thing we run already? I think the "Clean" mode shouldn't have console or anything like that. Also, if Josh could tell me the standardized way to report errors I would hook up that too for most of the functions. I guess I would need to have "#ifdef DEBUG_MODE show_error();" or something.
1610
Announcements / Re: We can't decide
« on: November 04, 2011, 05:34:02 pm »Quote
why not write your own languageENIGMA already has one. Its called EDL.
Quote
BTW ternary expressions often make code more difficult to read, even for expertsThey also make the code smaller where it needs to be. There is no need to write some almost redundant if statement when you can just write a ternary expression. Also, I just recently learned that I can do this:
Code: [Select]
(a?max:min)(50,25)
so I want this to be part of EDL support as well. And I too don't care about the size. 1gb of course is a little much, but 250-300mb seems ok. 50mb is better of course, but so is 5mb or 500kb.
1611
Off-Topic / Re: Compiled Code in GM9
« on: October 27, 2011, 09:55:45 am »Quote
final ENIGMA versionI doubt there ever be one, as we don't version ENIGMA at all (as far as I know).
Quote
except that it becomes increasingly harder to attract the GM people now that they've constantly been improving it ever since that guy got hiredIts more due to slow progress of ENIGMA than to anything else. People want functionality, and that is something no one here is ready to implement. Users don't care that you can draw 10x more sprites than GM, if that is all it can do. I am the only semi-active person that actually tries to implement these GM features. I am trying to add more surface functions right now (like surface_save and sprite_create_from_surface among others).
1612
Issues Help Desk / Re: svnkit error
« on: October 18, 2011, 08:20:15 am »
SvnKit doesn't work for me either, but that Exception is not about that. If svnkit is corrupted or missing it will just show that warning and that's it. That exception is about ENIGMA settings or something like that. Ism should look into it. I still can't understand Java exceptions..
1613
General ENIGMA / Re: Compiling game without console.
« on: October 17, 2011, 11:41:39 am »
By "end of the week" he thinks middle of November or December.
1614
Off-Topic / Re: Terrena a7 - my game
« on: October 10, 2011, 05:04:37 pm »
Is it made with ENIGMA? It has FBO support, so I guess not. Also, you load fonts and xml files from the directory, so unless you made some great additions, I guess you didn't use ENIGMA... Although it seems that it could easily be made in it.
About the game - I wasn't able to do much. I think I built something, and then attacked something, but I wasn't able to understand what. Also, the graphics are quite cool and amusing. Its amusing because it seems that you painted the outline either by hand or with some bad tool, but then spiced it up with some cool gradients.
Potential is there though. Maybe later when you make a tutorial or something I will be able to play it proper. Mainly because I am bad at these kinds of games so I need a very detailed walktrough to get started.
About the game - I wasn't able to do much. I think I built something, and then attacked something, but I wasn't able to understand what. Also, the graphics are quite cool and amusing. Its amusing because it seems that you painted the outline either by hand or with some bad tool, but then spiced it up with some cool gradients.
Potential is there though. Maybe later when you make a tutorial or something I will be able to play it proper. Mainly because I am bad at these kinds of games so I need a very detailed walktrough to get started.
1615
Tips, Tutorials, Examples / Re: How to properly use OpenGL
« on: October 05, 2011, 11:13:02 am »Quote
I don't know if you've noticed, but the macro already does that.Well yes, but as we have one texture per sprite, then it is still flipped when we want to draw different sprites. If more sprites were on the texture, then those calls would be greatly reduced. Also, for sprite drawing untexture() wasn't defined, so it does the if statement in the function.
#define untexture() if(enigma::bound_texture) glBindTexture(GL_TEXTURE_2D,enigma::bound_texture=0);
Quote
On top of that, I have no benchmark to suggest superior speed either way.Yeah, but if VA ends up faster, then I would suggest maybe using that. I know you love support, and maybe we can have two GL implementations. One would be faster, but less supported, and the other would be slower, but using legacy functions. But that is a long way into the future, as we have to benchmark those functions first.
1616
Tips, Tutorials, Examples / Re: How to properly use OpenGL
« on: October 05, 2011, 08:53:01 am »Quote
I told you that I intend to use lists for tiles. I'll bet you a hand of bananas it's faster than a VBO.I remember you mentioning you wanted to just use quads, but either way, I doubt lists are faster than VBO (for the same reasons luiscubal already mentioned).
Quote
If you find a way to remove the texture flipping at the beginning of each draw function, you let me know.Well the easiest method would be to just check if the sprite that is going to be drawn is on the bound texture, if not, then bind it. So if you have like 10 sprites that are on one texture and you draw them in any order, then we don't have to flip textures. On the other hand if you draw sprites which are on different textures, then you just bind it. In the end it takes one "if" statement more. This would also work great when you draw a lot of the same sprites at once (like particles in a "for" or "with" statement).
edit: Also why I wanted this sprite packing is because some hardware (like phones or old PC's) still don't like non power of two textures. So if you have a sprite that is 65x64 pixels, then GL could end up generating 128x64, which of course is bad memory wise. So its better to do this ourselves. But I will benchmark the speed difference between binding only once, or doing it every time when the sprite is drawn. I doubt the speed increase will be phenomenal, but it could be faster when drawing a lot of sprites.
Also, I did test VBO when drawing particles and I could draw 100k static sprites without loss of FPS. I could check the difference between that and lists.
1617
Tips, Tutorials, Examples / Re: How to properly use OpenGL
« on: October 04, 2011, 04:17:54 pm »
I did test difference when not using immediate rendering (glBegin/glEnd) and use vertex arrays. The difference was negligible and/or worse than using begin/end. The reason for that is that we render sprites (for example) with draw functions which are basically immediate. We have to create an array, fill it with information, and only then draw it and that has to be done every step. If I precalculate the array and then draw, then it is a lot faster (as expected). But there isn't really much we can do. Though things like tiles could be drawn using vertex arrays and that would really speed them up. Maybe even default sprites for objects could be done this way (and updated only when position and such change), but I don't see how this can be done while using functions in draw event.
Although I wanted to add vertex array functions (which would be surface'ish) that would allow fast drawing of static (or semi-dynamic) sprites. That would of been cool for things like physics engines, where you would update drawing information only when you update physics information too.
Also, I did pressure Josh to make as few sprite textures as possible (so pack them in 512x512 or 1024x1024 textures not 1 texture per sprite). That would reduce texture flipping (which is also done in every draw function, every step) and that causes a lot of slowdown.
Although I wanted to add vertex array functions (which would be surface'ish) that would allow fast drawing of static (or semi-dynamic) sprites. That would of been cool for things like physics engines, where you would update drawing information only when you update physics information too.
Also, I did pressure Josh to make as few sprite textures as possible (so pack them in 512x512 or 1024x1024 textures not 1 texture per sprite). That would reduce texture flipping (which is also done in every draw function, every step) and that causes a lot of slowdown.
1618
Issues Help Desk / Re: Fails To Compile C++ Level
« on: September 30, 2011, 04:31:29 am »
I can fix that path problem (I am the one who made paths). My idea was to declare them in the file, but not include the header. So just write:
"void draw_text(int x,int y,string test);"
And that should fix it if GLES has a draw_text() function.
GLES doesn't have a vertex drawing functions though, so I might end up using draw_line or vertex arrays.
"void draw_text(int x,int y,string test);"
And that should fix it if GLES has a draw_text() function.
GLES doesn't have a vertex drawing functions though, so I might end up using draw_line or vertex arrays.
1619
Issues Help Desk / Re: Fails to Compile Stand-Alone Executable
« on: September 05, 2011, 06:23:48 pm »
Compile doesn't work for me either. Digging out of temp folder is the only way I can actually get the exe. That is why I am asking for weeks now - Get a clean build possible, so I can create an exe without the console, with an icon, with a description and so on. So it looks good and works great. It shouldn't be hard, and in the next few days it should be possible.
1620
Issues Help Desk / Re: Fails to Compile Stand-Alone Executable
« on: September 04, 2011, 01:05:04 pm »
Could we see the gmk/gm6? It would be a lot easier to figure out the problem.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 »