• All, Gmail is currently rejecting messages from my host. I have a ticket in process, but it may take some time to resolve. Until further notice, do NOT use Gmail for your accounts. You will be unable to receive confirmations and two factor messages to login.
Golden Axe Remake

Complete Golden Axe Remake 1.4

No permission to download
Project is completed.

Sindor

New member
Hello,

But unfortunately the game crash when it try to load act 2 (turtle):
Level property 'rock' is not supported.
Script compile error in 'Level spawn entry script': changelevelproperty line 3, column 4
Can't compile script 'Level spawn entry script' data/levels2/turtle/turtle.txt

I tried last engine, and didn't tried any older yet.

I found "rock" in data/levels2/turtle/water.c but i can't help a lot more. I only put some # behind the script calling it to pass through, until someone can fix it.

P.S: same problem for act 4 in data/levels2/fiend/fly.c
 
the game looks great! unfortunately it crashes. I'd be glad to help, if I knew how :(
 
just to let you know, I've finished the game without crashes using  openbor V3 3467.

It's pretty cool. I wish it were longer.  :)
 
Gilius and Tyris are SO good in this one. Seriously, if you want to power through the arcade levels, Tyris' magic is insanely easy to charge and does a ridiculous amount of damage. I think the first 3 bosses I was able to get through just with judicious use of magic.

And Gilius' range and damage makes him the best melee character in this version. This is mostly because of the way the enemy will always crowd on one side, and Gilius' reach is better than most standard mooks.
 
Has anyone found out what causes it to crash on certain setups?

I have been trying to get it to work, but it seems to be affecting me randomly.

I had an older OpenBOR, but I cant remember which version, that would crash whenever I beat the first level.

I have the latest OpenBOR, which I can beat the first level and continue playing, but it crashes when magic is used.

Any suggestions?
 
bubsy54 said:
Has anyone found out what causes it to crash on certain setups?

I have been trying to get it to work, but it seems to be affecting me randomly.

I had an older OpenBOR, but I cant remember which version, that would crash whenever I beat the first level.

I have the latest OpenBOR, which I can beat the first level and continue playing, but it crashes when magic is used.

Any suggestions?

I dont know but dwarf hase a bug too 1st enemy in invincible and unable to kill. Sab because its one of the best golden axe edition beside Golden Axe Legend
 
This is true, ive downloaded build 3482 from:
http://www.chronocrash.com/forum/index.php?topic=2360.0
and no crashes on golden axe remake
 
sorry to bump an old thread, but does anyone know how I can get this game working perfect on a openbor that runs it perfect?

There is some bugs with versions I've found, When I choose "Gilus Thunderhead" the dwarf he cant kill the first enemy, he's invincible.

Also I head there is a problem with when the human does the magic it cuased game to crash? anyone know about that?

Its such a great mod, but I have trouble finding a build that works perfect. I remember there was a version that was released on the original xbox that worked perfectly. Does this same version exist on the PC aswell? the problem is I can't find all the old openbor builds anymore.

any information would be great if anyone knows, thanks
 
Hi Feudal, you can find a working version of Golden Axe Remake here with the correct Openbor engine:
https://vk.com/pages?oid=-156200484&p=G
 
kimono said:
Hi Feudal, you can find a working version of Golden Axe Remake here with the correct Openbor engine:
https://vk.com/pages?oid=-156200484&p=G

Thanks for the links, I've tried those ones but unfortunatley I still get the same problem. It wont go fullscreen and also still has the bug with "Gilus Thunderhead" and the invincible enemies.

Maybe we need an older version of OPENBOR to make game work perfect?
 
magggas said:
Feudal Okay here is my collection of OpenBOR versions: https://www.mediafire.com/file/z081t3fujm2p6wq/Openbor_versions.rar/file

thank you very much for the link, I'll check the older versions of openBOR and see if I can get it working on an older build.

I'll report back to see if I can find a working version
 
Feudal: Hi, Gilius had a problem with his attack and make 0 damage. I corrected this and make it work with the latest openbor version.
I will see if I find other bugs mentionned above.
- Correct level 2 bug, changing "rock" by rocking".

I'm searching how to resolve this bug. Here is Ax Battler magic:
Code:
void magic1(void self)
{
    clearspawnentry();
    setspawnentry("name", "expsmall");
    setspawnentry("coords", getentityproperty(self, "x") - openborvariant("xpos"), getentityproperty(self, "z"), getentityproperty(self, "a"));
    void e = spawn();
    changeentityproperty(e, "owner", self);
    changeentityproperty(e, "base", getentityproperty(self, "a"));
    setglobalvar("smallexp_count", 25);
}

void magic2(void self)
{
    clearspawnentry();
    setspawnentry("name", "expsmall");
    setspawnentry("coords", getentityproperty(self, "x") - openborvariant("xpos"), getentityproperty(self, "z"), getentityproperty(self, "a"));
    void e1 = spawn();
    changeentityproperty(e1, "owner", self);
    changeentityproperty(e1, "base", getentityproperty(self, "a"));
    setglobalvar("smallexp_count", 25);

    setspawnentry("name", "explarge");
    void e2 = spawn();
    changeentityproperty(e2, "owner", self);
    changeentityproperty(e2, "base", getentityproperty(self, "a"));
    setglobalvar("largeexp_count", 25);
}

void magic3(void self)
{
    clearspawnentry();
    setspawnentry("name", "explarge");
    setspawnentry("coords", getentityproperty(self, "x") - openborvariant("xpos"), getentityproperty(self, "z"), getentityproperty(self, "a"));
    void e = spawn();
    changeentityproperty(e, "owner", self);
    changeentityproperty(e, "base", getentityproperty(self, "a"));
    setglobalvar("largeexp_count", 50);
}

void magic4(void self)
{
    clearspawnentry();
    setspawnentry("name", "expgaint");
    setspawnentry("coords", 240, 120 + openborvariant("ypos"), 0);
    void e = spawn();
    changeentityproperty(e, "owner", self);
    changeentityproperty(e, "position", getentityproperty(self, "x"), getentityproperty(self, "z"), getentityproperty(self, "a"));
    changeentityproperty(e, "base", getentityproperty(self, "a"));
}

void cast_magic()
{
    void self = getlocalvar("self");
    changeentityproperty(self, "mp", 0);
    int pot = getlocalvar("pot");
    if(pot>=6) // level 4 magic
    {
        magic4(self);
    }
    else if(pot>=5) // level 3 magic
    {
        magic3(self);
    }
    else if(pot==3) // level 2 magic
    {
        magic2(self);
    }
    else // level 1 magic
    {
        magic1();
    }
    setlocalvar("pot", NULL()); // done, remove the variant
}

Here's expsmall.txt:
Code:
name expsmall
type item
candamage enemy
nomove 1

anim idle
@script
void self = getlocalvar("self");
if(getentityproperty(self, "base") < 0)
{
    killentity(self);
}
if(frame==2 || frame==5)
{
    int c = getglobalvar("smallexp_count");
    int z1 = getglobalvar("levelminz");
    int z2 = getglobalvar("levelmaxz");
    int sx; int sz;
    if(c!=NULL())
    {
        clearspawnentry();
        setspawnentry("name", "expsmall");
        do
        {
            sx = rand()%480;
            sz = rand()%(z2-z1);
            if(sx<0){ sx = -sx;}
            if(sz<0){ sz = -sz;}
        }while(checkhole(sx+openborvariant("xpos"),sz+z1)&&!checkwall(sx+openborvariant("xpos"),sz+z1));
        setspawnentry("coords", sx, sz+z1, 0);
        void e = spawn();
        if(e!=NULL())
        {
            changeentityproperty(e, "owner", getentityproperty(self, "owner"));
            c--;
            if(c<=0)
            {
                setglobalvar("smallexp_count", NULL());
            }
            else
            {
                setglobalvar("smallexp_count", c);
            }
        }
    }
}
else if(frame==6)
{
    killentity(self);
}
@end_script
    loop 0
    delay 8
    offset 26 45
    quakeframe 1 2 3
    frame data/chars/misc/empty.gif
    sound data/sounds/rumble.wav
    frame data/chars/misc/expsmall/1.gif
    hitfx data/sounds/hit2.wav
    hitflash none
    attack5 -50 -50 102 102 10 1 1 0 1
    dropv  4 1 0
    damageonlanding 6 1
    attackz 52
    frame data/chars/misc/expsmall/2.gif
    frame data/chars/misc/expsmall/3.gif
    frame data/chars/misc/expsmall/4.gif
    attack5 0
    #sound data/sounds/boom.wav
    frame data/chars/misc/expsmall/5.gif
    frame data/chars/misc/empty.gif

I use level1 magic: the ground is filled with small explosion until it crashes. Any idea (Alex what happened? :) )?

 
I've tried to recreate this using other entity with not so latest build of OpenBoR and it doesn't work as intended. But it doesn't crash either
My 1st focus when I read the script is this:
name expsmall
type item
candamage enemy
nomove 1

anim idle
@script
void self = getlocalvar("self");
if(getentityproperty(self, "base") < 0)
{
    killentity(self);
}
if(frame==2 || frame==5)
{
    int c = getglobalvar("smallexp_count");
    int z1 = getglobalvar("levelminz");
    int z2 = getglobalvar("levelmaxz");
    int sx; int sz;
    if(c!=NULL())
    {
        clearspawnentry();
        setspawnentry("name", "expsmall");
...

Spawning self is prohibited in latest builds so that's probably why my attempt was "saved"
I did try to bypass this by creating clone with different name and set the clone to spawn the original, and the chain spawning works without any crash

For those who doesn't know, the script in expsmall is script to let expsmall spawn another of itself before removing itself twice. This is to create chain spawning effect

I don't know why kimono could produce the crash while I couldn't. I use OpenBoR v3.0 Build , Compile Date: Aug 29 2018 BTW

Anyways, to solve this issue, there are 2 ways:
1. Create clone of expsmall to prevent spawning self and set the clone to spawn the original
2. Use other way to spawn random explosions on ground to create Ax's magic

I can't test #1 but for #2, I have some examples in D&D mod :).
 
Thank you Bloodbane, fixing some issues had help me learning some new things about scripts :).
I use an 4.0 version 6391 and try to update and fix so everyone can test this game in Android or else.
I wil test the first solution ;). Edit: Ax Battler magic fixed!
 
kimono said:
Thank you Bloodbane, fixing some issues had help me learning some new things about scripts :).
I use an 4.0 version 6391 and try to update and fix so everyone can test this game in Android or else.
I wil test the first solution ;). Edit: Ax Battler magic fixed!


Thank you for looking at the mod, it would be very nice to play the game without any bugs.

I noticed there is 2 versions of this game (3 players widescreen version) and (2 player version 4.3 version).
I like the two player version as the screen is a better size, more like arcade and not as stretched.

I noticed another bug I think  On the second level the music suddenly changes halfway through to the 4th levels music (fiends path). This is not right as normally the second level music should play all the way through the level and not change to fiends path music.
 
Thanks for the report Feudal. I'll look into this. Currently I'm stuck with this door spawn because I'm searching what is wrong here:
In town.txt:
Code:
spawn door
spawnscript data/levels2/town/bitter.c
flip 1
coords 219 111
at 1156

bitter.c:
Code:
void main()
{
    setglobalvar("doorindex", 1);
    setglobalvar("doortimer1", 10);
    setglobalvar("doorspawn1", "Bitter");
    setglobalvar("doormap1", 1);

    //int ind = getglobalvar("doorindex");

    //        clearspawnentry();
    //        setspawnentry("name", getglobalvar("doorspawn"+ind));
    //        setspawnentry("coords", 280, 200, 0);
    //        spawn();
}

door.txt:
Code:
name	door
type	none
shadow	0

anim spawn
loop 1
delay 10
@script
int ind = getglobalvar("doorindex");
void self = getlocalvar("self");
if(frame==1)
{
    if(ind!=NULL())
    {
        if(ind>0)
        {
            int t = getglobalvar("doortimer"+ind);
            if(t>0)
            {
                setglobalvar("doortimer"+ind, --t);
            }
            else
            {
                changeentityproperty(self, "animation", openborconstant("ANI_IDLE"));
            }
        }
        else
        {
            killentity(getglobalvar("dummy"));
            setglobalvar("dummy", NULL());
            setglobalvar("doorindex", NULL());
            killentity(self);
            //setglobalvar("test", "killed");
        }
    }
}
else
{
    changeentityproperty(self, "base", getentityproperty(self, "a"));
}
@end_script
    offset	0 0
    frame data/chars/misc/empty.gif
    frame data/chars/misc/empty.gif


anim idle
	loop	0
	delay	20
    offset	50 105
    sound data/sounds/door.wav
    frame data/bgs2/town/door/1.gif
    frame data/bgs2/town/door/2.gif
    frame data/bgs2/town/door/1.gif
@script
void self = getlocalvar("self");
if(frame==1)
{
    int index = getglobalvar("doorindex");
    clearspawnentry();
    setspawnentry("name", getglobalvar("doorspawn"+index));
    setspawnentry("map", getglobalvar("doormap"+index));
    setspawnentry("coords", getentityproperty(self, "x")-openborvariant("xpos"), getentityproperty(self, "z")+22, getentityproperty(self, "a"));
    spawn();
    setglobalvar("doortimer"+index, NULL());
    setglobalvar("doorindex", --index);
}
else if(frame==3)
{
    changeentityproperty(self, "animation", openborconstant("ANI_SPAWN"));
}
@end_script
    frame data/chars/misc/empty.gif
Someone has any idea? :)

 
I continue to fix numerous errors to make it work to the latest Openbor versions:
https://drive.google.com/file/d/1Kt2_2-wQSDoXgGl0-CNo8uZ8XGVrzrZl/view?usp=sharing

I wish to quickly recolor some enemies too in order to replace this black outline if it's not already done by anyone (done for Longmoan and Heninger gets a new stomp attack):
DQNHB8g.png

Sn7WQ8r.png
 
It's great you are doing this, 2 things I already noticed,

1. is a little thing that annoys me in mods, can you change the controller options so we know which button to assign? I hate when I have to figure out what attack2 attack3 attack4 mean in controller options.
change them to magic, counter/parry etc

2.doing a back throw makes the enemy land on you and it looks strange

https://www.youtube.com/watch?v=lGyaMX9C51w

 
Back
Top Bottom