Technical support > Mac

PPC 2.3.1 almost ready!

(1/3) > >>

virag0:
Good news everybody!

I have resolved the save game issue on 2.3.1 with PPC.
It does seem to be an endian problem.  The cp_save.c code has some methods
in it that converts via a function called "LittleLong" which does a byte swap.

Taking out these entries and assigning the variables without byteswapping now
allows the save/load of the slot data to both get a name and a time stamp.

I can do a patch if requested.....  ..the change was literally a no brainer.
I seem to recall doing the same thing in 2.3.0 but it didn't work, so the code must have
changed somehow...

When I work out why the intro prints out "intro_ sentence1" and so on intead of the actual text,
I will bundle up the PPC binaries required into a standalone app that should work on at least
PPC machines with an NVIDIA card.

Then I will have a go at 2.4......

Mattn:
yes, please submit patches so we can fix it in 2.4

virag0:

--- Quote from: Mattn on August 10, 2011, 03:53:31 pm ---yes, please submit patches so we can fix it in 2.4

--- End quote ---

Matt,
please tell me how/where to send the very simple patch or if I can email upload it here.

I will submit the patch in GNU patch format, in any case. ;)

Ok, I just found the attachment function here and so the patch is attached.
It is a simple diff so just cd into client/campaign and apply directly.

BTW, fixed the text intro issue.  It was just me not setting the language.

I am going to bundle this up now and post it up on google unless there
is somewhere better.   I will drop another post when I am done.

rachel

geever:

--- Quote from: virag0 on August 10, 2011, 04:09:41 pm ---please tell me how/where to send the very simple patch or if I can email upload it here.

--- End quote ---

We have a Patch Tracker.


--- Quote from: virag0 on August 10, 2011, 04:09:41 pm ---I will submit the patch in GNU patch format, in any case. ;)

--- End quote ---

Create unified diff, please (diff -u).

Thanks for the patch however I'm not sure you didn't broke it for little-endian systems now... We should test savegames between endianness (saving on big-endian then loading on little-endian and so..)

-geever

virag0:
Undoubtly this will break little endian systems, because I have put any directives in.
If I was a bit better, I would write all the cpu arch directives in, but I am not really that good yet.
In this instance, I was just testing the hypothesis that PPC was being byteswapped, without
doing anything to the code except chopping out the offending function!

I will add the diif -u file tomorrow now, because I am offline ( it is 2:30am here)!

I have encountered another problem.   I wanted to create a bundle, to post online,
so that people can have a binary, but I am running into the issue with name_tool
where libsdl_mixer cannot be converted.   So the app only runs with the shared objects
in /opt/local/lib for now.   To make a packaged app bundled with its own library repo
means recompiling libsdl_mixer with some kind of ldflag that expands the headers,  but although
Ihink I have it, it gives the same error.   I think I have to use this header expansion in the linker
flags for the app, instead.  I will see tomorrow.....

Navigation

[0] Message Index

[#] Next page

Go to full version