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 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 »
2071
Announcements / Re: Remember when I said...
« on: April 26, 2010, 07:06:54 am »
That's what I like to hear.
I'll look into specifying dependencies... as soon as possible.
I'll look into specifying dependencies... as soon as possible.
2072
Proposals / Adding systems
« on: April 25, 2010, 10:54:18 pm »
I'm too tired to elaborate on this now, and am posting here mostly for Ism.
Key directories for swappable systems and otherwise (All under ENIGMAsystem/SHELL/):
/Universal_System/ Contains things that should work on any OS (Cross platform and C standard wrappers and functions).
/Platforms/ Contains directories for each available windowing/OS-dependent system. (windows [TO BE RENAMED to win32], xlib, [SOON?]cocoa, [SOON]wii)
/Graphics_Systems/ Contains directories for any available drawing systems. (OpenGL,[SOME DAY]DirectX,[SOON]GX)
Something to fix: the cases don't match between Platforms and Graphics_Systems, which is annoying-ish.
Anyway, of the system-specific folders, I have it currently set up so that each has a makefile. Right now, all the makefiles are the same. That will soon change.
From the scope of each directory, ENIGMA of course calls the makefile. LGM does not need to even acknowledge said file's existence. What LGM and ENIGMA will both need, however, is a settings/config file. For now, the file has not been named; I was considering "info" for the name. This file will be a simple one, similar to LGM's *.properties files (perhaps "properties" is a good name for this file). It reads something like this:
Notice that Link- is always proceeded by the name of an element in `Platforms', each of which is the same as a directory name.
If need be, the Platforms property can apply as a special case to folders under Platforms/ (for cases such as, just for example, using xlib in both Linux and in Mac OS X). This will probably be unnecessary, but consider that part of the purpose of the file until such is actually needed. What may be needed is a special variable for those called `Compiler', so developers can specify (especially in cases such as the Wii) that a different version of make will need to be called. This can get really messy, really fast (such as when conflicting binaries are specified by the Path variable; one for MinGW because it make ENIGMA easy, and one for Devkit's GCC, because it makes calling that easy), and so will need proper attention down the road.
Until then, this is the plan.
Key directories for swappable systems and otherwise (All under ENIGMAsystem/SHELL/):
/Universal_System/ Contains things that should work on any OS (Cross platform and C standard wrappers and functions).
/Platforms/ Contains directories for each available windowing/OS-dependent system. (windows [TO BE RENAMED to win32], xlib, [SOON?]cocoa, [SOON]wii)
/Graphics_Systems/ Contains directories for any available drawing systems. (OpenGL,[SOME DAY]DirectX,[SOON]GX)
Something to fix: the cases don't match between Platforms and Graphics_Systems, which is annoying-ish.
Anyway, of the system-specific folders, I have it currently set up so that each has a makefile. Right now, all the makefiles are the same. That will soon change.
From the scope of each directory, ENIGMA of course calls the makefile. LGM does not need to even acknowledge said file's existence. What LGM and ENIGMA will both need, however, is a settings/config file. For now, the file has not been named; I was considering "info" for the name. This file will be a simple one, similar to LGM's *.properties files (perhaps "properties" is a good name for this file). It reads something like this:
Code: [Select]
Name="OpenGL"
Description="An open source graphics library."
Platforms="windows, xlib"
Link-windows="-lopengl32"
Link-xlib="-lGL"
Notice that Link- is always proceeded by the name of an element in `Platforms', each of which is the same as a directory name.
If need be, the Platforms property can apply as a special case to folders under Platforms/ (for cases such as, just for example, using xlib in both Linux and in Mac OS X). This will probably be unnecessary, but consider that part of the purpose of the file until such is actually needed. What may be needed is a special variable for those called `Compiler', so developers can specify (especially in cases such as the Wii) that a different version of make will need to be called. This can get really messy, really fast (such as when conflicting binaries are specified by the Path variable; one for MinGW because it make ENIGMA easy, and one for Devkit's GCC, because it makes calling that easy), and so will need proper attention down the road.
Until then, this is the plan.
2073
Announcements / Remember when I said...
« on: April 25, 2010, 10:34:02 pm »
...That I knew enough Make? Well, I Lied.
I've committed revision 200, which contains some very simple makefiles that do exactly what I wanted. Except one little tidbit: I forgot that I'd need to outline for Make what every file depends upon, or it would rebuild the entire project. Every. Single. Time. As in, exactly what I spent hours and hours avoiding happening.
So yes, if you were to check out ENIGMA right now and click Run, LGM wouldn't display a damn thing, but (at least on Linux; haven't tested on Windows) it will build and run your game. I have not added sprites to the output; making it compile fast gets precedence.
However, above that precedent comes my homework. This is going to be the busiest two weeks of my life, and I need to account for that. I graduate from high school soon, but am taking all college classes. Most of which are upper-level. And I have exams coming up very quickly. One is, as I've mentioned, a fifteen page report on Scientology. What I may have neglected to mention is that I will be highlighting this report in front of an estimated three hundred people. This is a new sort of WHAT THE... BUT HOW... RATHER, WHY? for me, as I'm sure you all can understand... Public speaking is easy when you know exactly what the hell it is you are talking about. I'm going to be up there explaining space planes and aliens and frozen souls to the mindless. ...Computer science final will be a take-home cakewalk. Political science final, on the other hand, will be my fourth grade in that class, and will make me suffer. I haven't exactly done superbly on any of that man's four other assignments, either. ...Calculus would be great if it wasn't an AP high school course. I'm stuck, with one other, among a group of people that can't grasp the AB material, and I'll be taking the BC. Bother, a couple questions of the AB are harder than the BC anyway. My utter success on the BC portion hinges on my memorization of some dozen different series. Not exactly fun... And I've got a huge number of memory quizzes coming up, for which I've not studied...
Anyway; point is, I've got a lot on my plate for these next couple weeks, and will probably put ENIGMA on the back burner until I'm done. It won't be long.
So, to do: Optimize makefiles, replace var and instance system, fix up syntax check more, reinstall sprite system, move some code up a directory, replace timer on Linux, carry out some in-code to-dos.
Less immediate to-do: Modify sprite system into parallel background system, add tiles to room, add cross platform widget functions to enable build mode.
Further to-dos: Comment generated code for easy error indexing.
Distant to-dos: Hook up GDB for some really neat debugger kicks.
Until then, ciao.
I've committed revision 200, which contains some very simple makefiles that do exactly what I wanted. Except one little tidbit: I forgot that I'd need to outline for Make what every file depends upon, or it would rebuild the entire project. Every. Single. Time. As in, exactly what I spent hours and hours avoiding happening.
So yes, if you were to check out ENIGMA right now and click Run, LGM wouldn't display a damn thing, but (at least on Linux; haven't tested on Windows) it will build and run your game. I have not added sprites to the output; making it compile fast gets precedence.
However, above that precedent comes my homework. This is going to be the busiest two weeks of my life, and I need to account for that. I graduate from high school soon, but am taking all college classes. Most of which are upper-level. And I have exams coming up very quickly. One is, as I've mentioned, a fifteen page report on Scientology. What I may have neglected to mention is that I will be highlighting this report in front of an estimated three hundred people. This is a new sort of WHAT THE... BUT HOW... RATHER, WHY? for me, as I'm sure you all can understand... Public speaking is easy when you know exactly what the hell it is you are talking about. I'm going to be up there explaining space planes and aliens and frozen souls to the mindless. ...Computer science final will be a take-home cakewalk. Political science final, on the other hand, will be my fourth grade in that class, and will make me suffer. I haven't exactly done superbly on any of that man's four other assignments, either. ...Calculus would be great if it wasn't an AP high school course. I'm stuck, with one other, among a group of people that can't grasp the AB material, and I'll be taking the BC. Bother, a couple questions of the AB are harder than the BC anyway. My utter success on the BC portion hinges on my memorization of some dozen different series. Not exactly fun... And I've got a huge number of memory quizzes coming up, for which I've not studied...
Anyway; point is, I've got a lot on my plate for these next couple weeks, and will probably put ENIGMA on the back burner until I'm done. It won't be long.
So, to do: Optimize makefiles, replace var and instance system, fix up syntax check more, reinstall sprite system, move some code up a directory, replace timer on Linux, carry out some in-code to-dos.
Less immediate to-do: Modify sprite system into parallel background system, add tiles to room, add cross platform widget functions to enable build mode.
Further to-dos: Comment generated code for easy error indexing.
Distant to-dos: Hook up GDB for some really neat debugger kicks.
Until then, ciao.
2074
Announcements / Re: WHAT IS THIS I DON'T EVEN
« on: April 25, 2010, 10:21:05 pm »
Luda lost the entirety of Colligma in a hard drive crash. He has someone trying to recover it. ...Think I better get his code versioned so things like this don't keep happening. <_<
2075
Announcements / WHAT IS THIS I DON'T EVEN
« on: April 25, 2010, 12:06:21 pm »
Most of the progress reports have been going on at ENIGMA's composed-due-to-popular-opinion IRC channel on Freenode, #enigma-dev.
However, I figure it's a good idea to post what's been happening here as well.
Several bugs between platforms have been found, isolated, and corrected. ENIGMA now operates correctly on every Windows version and Linux distro on which it has been tested thus far. That includes mostly Ubuntu 9.xx and Windows XP, Vista, and 7. I could not test on 98 due to Code::Blocks not starting and me being too lazy to do anything about that.
Further, the fixed bugs include the following:
- Some string fixes (waiting for Ism's confirmation)
- x() being randomly defined as a function due to ## mishandling
- Freezing on XP if sprite load fails (which it always does for now)
- Variable overlap on systems where sizeof(size_t) != sizeof(unsigned)
- Failure to load function names for syntax check due to any of the above
- Many smaller things that just needed dealt with
Things that still need to be fixed:
- Minuscule memory leak during C parsing: I will run Valgrind when this is the most pressing of my concerns
Things that need done in general:
- Makeflies need written: I've learned enough make (it was surprisingly easy) and will do this next
- Sprites need added to exe after build: This couldn't be done without the makefile
- Pieces of R3 need salvaged now that the rest seems stable; these include script "linking" and build mode.
- Some pieces of individual graphics systems and window systems need moved to a parent file in ../ to simplify further implementation
- There are at least ten "TODO:" notes lying around the project.
I'm content to leave ENIGMA in the SVN for a while longer, but can probably put out the zip file for those who for some reason do not like operating on a direct line to updates.
Perhaps Ism can implement something to call a quick makefile in CompilerSource in order to allow for easy distribution... I will discuss that with her shortly.
However, I figure it's a good idea to post what's been happening here as well.
Several bugs between platforms have been found, isolated, and corrected. ENIGMA now operates correctly on every Windows version and Linux distro on which it has been tested thus far. That includes mostly Ubuntu 9.xx and Windows XP, Vista, and 7. I could not test on 98 due to Code::Blocks not starting and me being too lazy to do anything about that.
Further, the fixed bugs include the following:
- Some string fixes (waiting for Ism's confirmation)
- x() being randomly defined as a function due to ## mishandling
- Freezing on XP if sprite load fails (which it always does for now)
- Variable overlap on systems where sizeof(size_t) != sizeof(unsigned)
- Failure to load function names for syntax check due to any of the above
- Many smaller things that just needed dealt with
Things that still need to be fixed:
- Minuscule memory leak during C parsing: I will run Valgrind when this is the most pressing of my concerns
Things that need done in general:
- Makeflies need written: I've learned enough make (it was surprisingly easy) and will do this next
- Sprites need added to exe after build: This couldn't be done without the makefile
- Pieces of R3 need salvaged now that the rest seems stable; these include script "linking" and build mode.
- Some pieces of individual graphics systems and window systems need moved to a parent file in ../ to simplify further implementation
- There are at least ten "TODO:" notes lying around the project.
I'm content to leave ENIGMA in the SVN for a while longer, but can probably put out the zip file for those who for some reason do not like operating on a direct line to updates.
Perhaps Ism can implement something to call a quick makefile in CompilerSource in order to allow for easy distribution... I will discuss that with her shortly.
2076
Announcements / Re: First R4 game, despite everything being unimplemented
« on: April 23, 2010, 03:39:09 pm »
I believe I did. Though it was a little after my time...
2077
Announcements / Re: First R4 game, despite everything being unimplemented
« on: April 23, 2010, 02:44:12 pm »
"I just clicked the Buid and Run button, Enigma compiled and LGM run."
I "..."'d for a moment before I remembered I set it up to do that. XD
"Found it, the bastard was named ENIGMAengine for some reasons. It works, but it's not fun.
The dot doesn't move until I mouse over it, unlike the gm clown which kept movin."
Didn't realize that constituted fun...
I "..."'d for a moment before I remembered I set it up to do that. XD
"Found it, the bastard was named ENIGMAengine for some reasons. It works, but it's not fun.
The dot doesn't move until I mouse over it, unlike the gm clown which kept movin."
Didn't realize that constituted fun...
2078
Announcements / Re: First R4 game, despite everything being unimplemented
« on: April 22, 2010, 05:22:13 pm »
The 11th plague of Egypt--
If you install MinGW right to C:\, both ENIGMA and Code::Blocks should detect it. If Code::Blocks doesn't detect it, just reinstall it (Code::Blocks). If it still doesn't detect it, feel free to give up. ENIGMA will be done soon enough.
I don't really "need" new testers, as it seems most of what will break has broken on the three platforms I now have access to, but a "yeah, it works!" is always nice to hear.
If you install MinGW right to C:\, both ENIGMA and Code::Blocks should detect it. If Code::Blocks doesn't detect it, just reinstall it (Code::Blocks). If it still doesn't detect it, feel free to give up. ENIGMA will be done soon enough.
I don't really "need" new testers, as it seems most of what will break has broken on the three platforms I now have access to, but a "yeah, it works!" is always nice to hear.
2079
Proposals / Re: position_destroy()
« on: April 22, 2010, 01:12:46 pm »
I don't believe it does; and if that's the case, I'm not implementing that in ENIGMA. Functions that are used (especially heavily, which position_destroy may not be) in GM should seek to execute the exact functionality as quickly as possible. No one has made use of a return value for that function; adding one will only slow things down (if not by much). If it were truly useful, though, I'd consider it; I don't see how that's the case when int a = instance_count; position_destroy(); show_message(instance_count - a); is an option.
2080
Announcements / Re: First R4 game, despite everything being unimplemented
« on: April 22, 2010, 01:06:10 pm »whenever i use window_set_caption() it doesn't throw errors.... or do anything....I used the room_caption variable. My guess is window_set_caption isn't fully implemented or gets overwritten with room_caption.
I try my best to warn people about this; unfortunately it can hardly apply to either of you because you're on Linux.
If it doesn't work in ENIGMA, and you think it should, be sure it works in GM. You are correct that it gets overwritten with room_caption, Ism. This is the behavior of GM, also. The function room_set_caption() is useful only when a script is looping for a long time and needs some way of outputting a percentage.
There's no bug here, and no need for printf(); just use room_caption as people do in GM.
2082
Proposals / Re: position_destroy()
« on: April 21, 2010, 08:10:03 pm »
Now if only that code was more of a function and less of a script.
2083
Proposals / Re: position_destroy()
« on: April 21, 2010, 07:07:21 pm »
Now now, retep, he can edit R3 if he likes.
In actuality, neither code is correct. If I recall correctly, position_destroy() operates based on collision, not based solely on a precise position. Meaning that it'd do a collision_point-style test to determine if the instance is to be destroyed.
However, I still appreciate the effort. If more people showed this incentive, ENIGMA would be done in no time.
As far as adding it to R3, you can't; R3's with() isn't set up in such a way that it can work in plain C++ code (R4's may yet be, though). Don't worry, though; as soon as the collision system is in (and the new instance system, for that matter), I will implement this function.
In actuality, neither code is correct. If I recall correctly, position_destroy() operates based on collision, not based solely on a precise position. Meaning that it'd do a collision_point-style test to determine if the instance is to be destroyed.
However, I still appreciate the effort. If more people showed this incentive, ENIGMA would be done in no time.
As far as adding it to R3, you can't; R3's with() isn't set up in such a way that it can work in plain C++ code (R4's may yet be, though). Don't worry, though; as soon as the collision system is in (and the new instance system, for that matter), I will implement this function.
2084
General ENIGMA / Re: ENIGMA on iPhone - Now legally impossible
« on: April 20, 2010, 06:10:34 pm »
I Don't see how a private court would work. The two would have to consent to one, or it wouldn't be fair. You'd need a city court or something.
The entire operative mechanism behind civilized government is surrendering the right to enforce your own rights (actively; you retain the right to self-defense) to the government, who will then use that authority to protect your rights for you. A private court seems more spontaneous; the poison-pie -baker and -eater would each want a court composed of different people. Who would decide that? You can't leave such to the capitalist (and for that matter, federalist) idea of "ambition to defeat ambition;" that system tends to work mostly on the larger scale.
Just my two cents; I would care to hear an explanation.
The entire operative mechanism behind civilized government is surrendering the right to enforce your own rights (actively; you retain the right to self-defense) to the government, who will then use that authority to protect your rights for you. A private court seems more spontaneous; the poison-pie -baker and -eater would each want a court composed of different people. Who would decide that? You can't leave such to the capitalist (and for that matter, federalist) idea of "ambition to defeat ambition;" that system tends to work mostly on the larger scale.
Just my two cents; I would care to hear an explanation.
2085
Announcements / Re: First R4 game, despite everything being unimplemented
« on: April 19, 2010, 10:56:46 pm »
Ism:
Seems you set lin-build's compiler to an incorrectly-set-up MinGW, instead of win-build's to a correctly-set-up one.
Either way, I'd prefer a new target be made for that, if any is to be made at all... I'd rather keep the C::B project for native compilations.
Cross compiling can be a fickle bitch. It's not so bad for Linux->Windows, but... Either way, that should be handled by ENIGMA and whatever makefile is ultimately called.
Seems you set lin-build's compiler to an incorrectly-set-up MinGW, instead of win-build's to a correctly-set-up one.
Either way, I'd prefer a new target be made for that, if any is to be made at all... I'd rather keep the C::B project for native compilations.
Cross compiling can be a fickle bitch. It's not so bad for Linux->Windows, but... Either way, that should be handled by ENIGMA and whatever makefile is ultimately called.
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 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 »