Pages: 1 2 [3] 4
  Print  
Author Topic: Fixed those Makefiles  (Read 7494 times)
Offline (Male) RetroX
Reply #30 Posted on: May 16, 2010, 02:14:32 PM

Master of all things Linux
Contributor
Location: US
Joined: Apr 2008
Posts: 1055
MSN Messenger - classixretrox@gmail.com
View Profile Email
Wow. You're seriously assuming that Java has a bug before assuming that X has a bug?
X doesn't have bugs.  It's just brainfuck to use it and everyone makes bugs by using it.

And as for the EXE extension, yes, it will.  It's just that Nautilus, Dolphin, Thunar, and any other file manager will assume that because it has a .exe extension, it is an EXE, and it will try to run it in WINE.
« Last Edit: May 16, 2010, 02:16:09 PM by RetroX » Logged
My Box: Phenom II 3.4GHz X4 | ASUS ATI RadeonHD 5770, 1GB GDDR5 RAM | 1x4GB DDR3 SRAM | Arch Linux, x86_64 (Cube) / Windows 7 x64 (Blob)
Quote from: Fede-lasse
Why do all the pro-Microsoft people have troll avatars? :(
Offline (Male) Josh @ Dreamland
Reply #31 Posted on: May 16, 2010, 02:16:12 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
You forgot the :troll:

Also, that's why "Compile" lets you choose the full filename. The 'exe' is meant for ENIGMA to run/work with.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Male) RetroX
Reply #32 Posted on: May 16, 2010, 02:33:54 PM

Master of all things Linux
Contributor
Location: US
Joined: Apr 2008
Posts: 1055
MSN Messenger - classixretrox@gmail.com
View Profile Email
Or, you could make your own file extension.

game.enig
Logged
My Box: Phenom II 3.4GHz X4 | ASUS ATI RadeonHD 5770, 1GB GDDR5 RAM | 1x4GB DDR3 SRAM | Arch Linux, x86_64 (Cube) / Windows 7 x64 (Blob)
Quote from: Fede-lasse
Why do all the pro-Microsoft people have troll avatars? :(
Offline (Unknown gender) luiscubal
Reply #33 Posted on: May 16, 2010, 03:55:18 PM
Member
Joined: Jun 2009
Posts: 452

View Profile Email
Quote
because Windows can't call make.
Quote
CreateProcess() can't find mingw32-make.
Try using the full path.

Quote
lpApplicationName [in, optional]

    The name of the module to be executed. This module can be a Windows-based application. It can be some other type of module (for example, MS-DOS or OS/2) if the appropriate subsystem is available on the local computer.

    The string can specify the full path and file name of the module to execute or it can specify a partial name. In the case of a partial name, the function uses the current drive and current directory to complete the specification. The function will not use the search path. This parameter must include the file name extension; no default extension is assumed.
Logged
Offline (Male) Josh @ Dreamland
Reply #34 Posted on: May 16, 2010, 04:45:15 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Oh, that was just one of the 600 problems I've encountered on the way. Indented comments were executed; that was a more recent one.

The one I'm dealing with now is that parameters work differently on Windows. make GRAPHICS=OpenGL doesn't work anymore.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Unknown gender) luiscubal
Reply #35 Posted on: May 17, 2010, 01:07:49 PM
Member
Joined: Jun 2009
Posts: 452

View Profile Email
What about adding a configuration file?
Then somehow include that file from the make?
Code: [Select]
PLATFORM:=Win32
GRAPHICS:=OpenGL
MODE:=Debug

and in Makefile
Code: [Select]
include config.mk

And call "make". Also has the advantage that as the number of possible configurations increases, the command doesn't get a monster like:
Code: [Select]
make PLATFORM=Win32 GRAPHICS=OpenGL MODE=Debug ENABLE_MMX=true ENABLE_SSE=true USE_GM_STUPID_BEHAVIOR=true USE_GM_STUPID_BEHAVIOR2=true AUDIO_SYSTEM=SDL MODE=2D
I am unsure of the effect configuration files would have on compiling the second time(does changing the file invalidate the whole cache or not?)
Logged
Offline (Male) Rusky
Reply #36 Posted on: May 17, 2010, 04:55:22 PM

Resident Troll
Joined: Feb 2008
Posts: 960
MSN Messenger - rpjohnst@gmail.com
View Profile WWW Email
It doesn't matter how much of a monster the command line is, though- it's just called from within Enigma, so generating it on the fly would be simpler.
Logged
Offline (Male) Josh @ Dreamland
Reply #37 Posted on: May 17, 2010, 11:43:26 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Indeed. And I could write it to a config file, and may end up doing so later depending on circumstances, but for now it's unnecessary and inconvenient; I'd rather it just worked for now.

Sprites work in R4 now. LGM is odd about its support for importing images with transparency, so be weary. ENIGMA doesn't mind them, however. Now's not the time to benchmark due to debug... scaffolding, we'll call it... left in place. I'll remove it promptly enough.

For now, good night.
« Last Edit: May 18, 2010, 01:13:11 PM by IsmAvatar » Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Female) IsmAvatar
Reply #38 Posted on: May 18, 2010, 01:22:49 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 886

View Profile Email
Also, for those of you checking out r230 or later, you will notice the splash screen has returned.

For those of you experiencing X crashes on Linux when trying to Drag and Drop: Open lgm16b4.jar with a zip manager. Go to META-INF, and edit MANIFEST.MF with a text editor. Remove the Splash Screen line (the 5th line), resave, and update the jar. Sadly, X-crash-fixers will not get to enjoy the Splash Screen, because it was the least intrusive functionality I had to remove in order to stop the X crash. The other options were: Do not jar, disable D&D, or fix X/Java so they play nicely.
You will need to repeat this modification each time the LateralGM jar is replaced, unless I figure out and implement a workaround (seeing as the bug reports offer none at this time after dozens of heads have tried to think of one, I'm going to say the prospects of me finding one are grim).

For those of you not experiencing X crashes, enjoy your splash screen, and laugh politely at the X-crashers.
Logged
Offline (Male) RetroX
Reply #39 Posted on: May 18, 2010, 08:12:39 PM

Master of all things Linux
Contributor
Location: US
Joined: Apr 2008
Posts: 1055
MSN Messenger - classixretrox@gmail.com
View Profile Email
Random thing to note: put an "all" target at the top of the makefile and make it link.  Otherwise, you have to specific "make link" every time. :/

And another thing to note, as I mysteriously found out today:
ld *.o -o all.o -lc
This will link objects together.  Would probably be useful somehow.
Logged
My Box: Phenom II 3.4GHz X4 | ASUS ATI RadeonHD 5770, 1GB GDDR5 RAM | 1x4GB DDR3 SRAM | Arch Linux, x86_64 (Cube) / Windows 7 x64 (Blob)
Quote from: Fede-lasse
Why do all the pro-Microsoft people have troll avatars? :(
Offline (Male) Josh @ Dreamland
Reply #40 Posted on: May 18, 2010, 09:11:13 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Retro: All my makefiles use *.o to quickly link. The link target is depended on by Windows' and Linux' targets. The assumption is that you're using one of those. I separated it to avoid reprinting all its dependencies.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Female) IsmAvatar
Reply #41 Posted on: May 19, 2010, 11:20:39 AM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 886

View Profile Email
Bug: keyword mod is not implemented.
Workaround: Replace every occurrance of "mod" with "%"

Another Bug: I've encountered a strange issue relating to scope and comparisons of numbers less than or equal to 8. Sorry, it's difficult to simplify any further.
Create event:
Code: [Select]
x = room_width / 2;
y = 0;
nextdir = 180;
direction = 180;
speed = 4;
Normal Step event:
Code: [Select]
if (y == 0) direction = nextdir;
nextdir = 0; //this seems to lose scope before the next step rolls around

//enigma handling code
x += hspeed;
y += vspeed;
Draw event: draw something at x,y so you can see what's going on. The figure should always move right, but seems to always move left.

Also, to add to the strange behavior, set y to 24, and then in the step even replace if (y == 0) with if (y == 24). You'll notice it now moves right. In fact, any value greater 8 will work properly. Set it to any number from 0 through 8, and it will lose scope.

Workaround: In the create event, prefix nextdir with "var ", such that it becomes "var nextdir = 180;"
« Last Edit: May 19, 2010, 11:57:27 AM by IsmAvatar » Logged
Offline (Male) Josh @ Dreamland
Reply #42 Posted on: May 19, 2010, 05:34:04 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Well, mod is easily fixed by--and this needs done soon anyway--creating a file of syntax quirks and in it placing #define mod %. I will do that soon enough; but it won't work for everything because the syntax checker doesn't actually unroll macros yet, even though everything else does.

I'm not sure what's causing your other bugs, Ism, if they are bugs at all. We'll check the outputted C++ next we talk.
Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Offline (Female) IsmAvatar
Reply #43 Posted on: May 19, 2010, 06:02:27 PM

LateralGM Developer
LGM Developer
Location: Pennsylvania/USA
Joined: Apr 2008
Posts: 886

View Profile Email
I already checked the C++. It looks almost exactly the same as the code I put above. Like I said, it sounds like some sort of scope problem, with odd behavior for comparisons on values <= 8.
Logged
Offline (Male) Josh @ Dreamland
Reply #44 Posted on: May 19, 2010, 06:56:25 PM

Prince of all Goldfish
Developer
Location: Pittsburgh, PA, USA
Joined: Feb 2008
Posts: 2955

View Profile Email
Scratch that. As it happens, sin(180*pi/180) = 1.2246063538223773e-16.

GM implemented a threshold for such in its == operators. I guess ENIGMA will have to do the same. Morbidly disappointing, really.
« Last Edit: May 19, 2010, 07:25:42 PM by Josh @ Dreamland » Logged
"That is the single most cryptic piece of code I have ever seen." -Master PobbleWobble
"I disapprove of what you say, but I will defend to the death your right to say it." -Evelyn Beatrice Hall, Friends of Voltaire
Pages: 1 2 [3] 4
  Print