Closed GoogleCodeExporter closed 8 years ago
Hi kakkler42, where you playing in hi-res (1280x960) or in 640x480 ?
Alpha 1 release do not fully support the 640x480 resolution yet, so I'd like to
verify this before we investigate further.
Original comment by Awakened...@gmail.com
on 2 Jan 2013 at 7:24
OK I have tested and I can confirm this bug is with the 640x480 resolution only.
Original comment by Awakened...@gmail.com
on 2 Jan 2013 at 9:00
640x480 in all my comments up through 1-3-13. My graphics card (mobility ATI
9000, 64mb, in a CF-48 [really is an old laptop] ) makes it so that in hi-res
mode I'm only able to see 2/3 of the screen at any given time (like my screen's
not big enough for the game's windowed display) and resetting my display
properties screws up my monitor. I'll try another resolution and let you know.
Original comment by kakkle...@gmail.com
on 3 Jan 2013 at 9:54
OK, thanks for letting us know! In the mean time, you could try the original
resolution stretched at 2x with HQ2x, that should work!
Original comment by Awakened...@gmail.com
on 3 Jan 2013 at 9:57
Original comment by Jaakko.M...@gmail.com
on 10 Jan 2013 at 3:37
Original comment by Jaakko.M...@gmail.com
on 10 Jan 2013 at 3:40
Hello,
This problem did also bother me, so I went through the code to find out what it
was due to. Hope this help.
Fact that it works in 320x200 and not in 640x400 is overall due to the global
conception of the original project, which hasn't been made for multiple
resolutions (if I got it right).
The problem is that parts of the resources are described:
1 - in data files
2 - in constants
3 - in code which distinguish res
That's what make it particularly hard to find where the real problem is.
Anyway, problem comes from the loading of the flagship for Quasispace:
> UrQuanMasters.exe!init_sis() Ligne 1035 C
UrQuanMasters.exe!GetCodeResData(const char * ship_id, RESOURCE_DATA * resdata) Ligne 130 + 0x14 octets C
UrQuanMasters.exe!loadResourceDesc(resource_desc * desc) Ligne 39 + 0x1b octets C
UrQuanMasters.exe!res_GetResource(const char * res) Ligne 126 + 0x9 octets C
UrQuanMasters.exe!LoadCodeResInstance(const char * res) Ligne 167 + 0x9 octets C
UrQuanMasters.exe!load_ship(SPECIES_ID SpeciesID, BOOLEAN LoadBattleData) Ligne 68 + 0x19 octets C
UrQuanMasters.exe!spawn_ship(STARSHIP * StarShipPtr) Ligne 384 + 0xe octets C
UrQuanMasters.exe!GetNextStarShip(STARSHIP * LastStarShipPtr, unsigned short which_side) Ligne 521 + 0x9 octets C
UrQuanMasters.exe!selectAllShips(short num_ships) Ligne 379 + 0x9 octets C
UrQuanMasters.exe!Battle(void (void)* callback) Ligne 448 + 0xa octets C
UrQuanMasters.exe!Starcon2Main(void * threadArg) Ligne 276 + 0xa octets C
More exactly in the lines in sis_ship.c :
if (GET_GAME_STATE (ARILOU_SPACE_SIDE) > 1 && RESOLUTION_FACTOR > 0)
new_sis_desc.ship_data.ship_rsc[0] = SIS_QUASI_MASK_PMAP_ANIM;
else
new_sis_desc.ship_data.ship_rsc[0] = SIS_HYPER_MASK_PMAP_ANIM;
In low resolution, game is using hyperspace graphics, and it works.
In higher res however, it is using quasispace graphics, and, I don't know why,
they are not there.
I didn't try to understand how the resources are loaded, and how to properly
correct it,
setting the correct resource in the correct place (Already spent some time on
it,
and don't know if it really exists).
However, just recompiled the project after replacing the lines (in sis_ship.c) :
[code]
if (GET_GAME_STATE (ARILOU_SPACE_SIDE) > 1 && RESOLUTION_FACTOR > 0)
new_sis_desc.ship_data.ship_rsc[0] = SIS_QUASI_MASK_PMAP_ANIM;
else
new_sis_desc.ship_data.ship_rsc[0] = SIS_HYPER_MASK_PMAP_ANIM;
[/code]
by
[code]
new_sis_desc.ship_data.ship_rsc[0] = SIS_HYPER_MASK_PMAP_ANIM;
[/code]
Best would be to set the resource "ship.flagship.graphics.quasispace"
correctly... I don't know how to do it ^^
I know, this is a little piggy hack.....
No!! *Campers* do not want to blame me!
I am clear and you do not say so much the *fat* words!
I *paint the town* everyday but *fingers* have *right of way*
Now you understand, we can *hammer* the *tulips* together.
Original comment by charleol...@gmail.com
on 19 Feb 2013 at 6:32
[deleted comment]
This got assigned to me. It's a programming issue for Jaakko. Thanks
Charleolive.
Original comment by dczanik@gmail.com
on 11 Mar 2013 at 5:25
This was not a programming issue.
The reason was that the quasispace asset lines (xxx.ani) were missing from the
hires2x.rmp. I have now added these lines into the hires2x.rmp so the
quasispace now works in 640x480.
Damon, I suggest that you still check the hires2x.rmp and see which lines are
still missing (compared to hires4x.rmp). These two files differ in size and IMO
they should be exactly the same size as they should contain all the same .ani
files listed (with the exception that '4x' is replaced with '2x' in the
directory names, and it doesn't affect the .rmp's filesize.)
Original comment by Jaakko.M...@gmail.com
on 11 Mar 2013 at 7:15
@dczanik:
> Thanks Charleolive.
Thanks you for all the work provided !
@dczanik, @Jaakko:
> This was not a programming issue.
Yes, as I stated in my post, "I didn't try to understand how the resources are
loaded"
and proposed a temporary dirty hack to play the game, though, pointing it was a
resource problem. Sorry if I didn't make that clear enough.
Thanks so much for all you great work
Thanks so
Original comment by charleol...@gmail.com
on 11 Mar 2013 at 9:21
Charleolive, no problem :)
That my "This was not a programming issue" was meant chiefly to Damon, our main
graphician and the lead guy of this whole shebang, as the .ani files and
graphics are more his department.
Indeed your fix does the trick, and in many places we have to juggle whether
to fix a graphics bug by changing the code or changing the graphic assets. In
this case, changing the graphics was the smoother way to go.
If you're interested in how the defined macro names in the code (e.g.
SIS_QUASI_MASK_PMAP_ANIM) are mapped into the actual .png files, take a look at
the igfxres.h in the source code folder and the hires2x.rmp in the content
folder.
1. The igfxres.h (as well as imusicre.h, ifontres.h, and inside all ships
source code folders the resinst.h files) map the defined macro names into asset
name strings:
#define SIS_QUASI_MASK_PMAP_ANIM "ship.flagship.graphics.quasispace"
2. Then, in content/addons/hires2x/hires2x.rmp this asset name string is mapped
into an .ani file:
ship.flagship.graphics.quasispace =
GFXRES:addons/hires2x/ships/flagship/quasispace.ani
3. Finally, in the content/addons/hires2x/ships/flagship/quasispace.ani file,
the actual .png files are listed.
Original comment by Jaakko.M...@gmail.com
on 11 Mar 2013 at 9:31
Verified.
Original comment by Jaakko.M...@gmail.com
on 1 Apr 2013 at 6:47
Original issue reported on code.google.com by
kakkle...@gmail.com
on 2 Jan 2013 at 8:28Attachments: