Author Topic: Glest Advanced Engine  (Read 146857 times)

Dr.Dixie

  • Guest
(No subject)
« Reply #100 on: 16 March 2008, 20:28:21 »
It would be nice if the building arrow would be in the center of the building, instead of on the top left corner. I wish I could remember everything I want to have done. XD


!Dr.Dixie!
« Last Edit: 1 January 1970, 00:00:00 by Dr.Dixie »

ZaggyDad

  • Guest
(No subject)
« Reply #101 on: 16 March 2008, 20:41:36 »
There *should* be none at all. Every time I see it, it makes me think they're moving.

When you click cancel when you're selecting a building to build, it deselects the unit instead of canceling the selecting.

And could you fix the bug where you can't drag-select units when it's paused (which isn't caused by you :smile: ) you should make it so that it fades to the non-rendering stuff.

Following seems to be messed up (at least for friendly units). When you move to an allied unit, it makes the unit run to who-knows-where.

There's also a savegame bug. I don't know what caused it, or anything like that. It just says Node "player" doesn't have 2 children named "control"

Tree: player (control factionTypeName teamIndex victory kills deaths unitsProduced resourcesHarvested)

This happened on two savegames of mine.

~Zaggy
« Last Edit: 1 January 1970, 00:00:00 by ZaggyDad »

daniel.santos

  • Guest
(No subject)
« Reply #102 on: 17 March 2008, 00:18:06 »
hehe orion, thanks to orion for reporting that bug!!! :)

Duke,
can you email me the entire output so I can look at what the link command is.  Also, does your Janfile have the ZLIB thingie in it?  I'm guessing right off that maybe your libz.a isn't directly under /lib, like maybe it's under /usr/lib.  You may just be able to add -L/usr/lib to your link command to fix it.

ZaggyDad,
Yea, I noticed that.  Even better, if you tell him to promote to a battle mage and then go harvest or mine, he will do it! If you click on him, he responds with battle mage voices, but he moves the speed of an initiate and continues to harvest.  If you interrupt him, he turns into a battle mage, fun bug eh? :)  I try to write down notes as I'm playing because I forget too.  That's just the default location for the meeting point, if you want to change it, just select the building and right click on the new location.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

Duke

  • Guest
(No subject)
« Reply #103 on: 17 March 2008, 00:45:40 »
Do you just need what I excluded in my quote on the last page?
Because that ouput is everything I get when I run Jam for the second time, which means it should be all that is relevant for the error.

If you realy need the entire ouput you have to tell me how to log the terminal, because it exceeds it's limits.

Just in case here again the entire ouput for that target:
Code: [Select]
duke2112@DuKe2112:~/glest/gae/mk/linux$ jam
...found 500 target(s)...
...updating 1 target(s)...
LinkApplication glest
./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/server_interface.o: In function `Glest::Game::ServerInterface::sendFile(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)':
/home/duke2112/glest/gae/mk/linux/glest_game/network/server_interface.cpp:242: undefined reference to `compress'
./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/client_interface.o: In function `Glest::Game::FileDecompressor::processFragment(Glest::Game::NetworkMessageFileFragment const&)':
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:67: undefined reference to `inflate'
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:52: undefined reference to `inflateInit_'
/home/duke2112/glest/gae/mk/linux/glest_game/network/client_interface.cpp:88: undefined reference to `inflateEnd'
collect2: ld gab 1 als Ende-Status zurück

    g++ -o glest ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai_rule.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/path_finder.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/ai/ai_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/facilities/game_util.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/facilities/logger.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/facilities/components.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/chat_manager.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/console.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/commander.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/game_settings.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/game_camera.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/stats.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/game/game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/metrics.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/config.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/core_data.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/global/lang.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/graphics/particle_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/graphics/renderer.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/gui/selection.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/gui/display.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/gui/gui.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/intro.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/program.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/main.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/main/battle_end.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_scenario.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_graphic_info.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/main_menu.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_root.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_options.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_background.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_new_game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_join_game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_load_game.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/menu/menu_state_about.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/server_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_types.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/client_interface.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_message.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/connection_slot.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/network/network_manager.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/sound/sound_container.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/sound/sound_renderer.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/unit.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/resource.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/command.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/upgrade.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/unit_reference.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/object.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/faction.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/type_instances/effect.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/unit_stats_base.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/resource_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/unit_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/effect_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/skill_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/tech_tree.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/command_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/damage_multiplier.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/faction_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/upgrade_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/object_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/types/element_type.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/surface_atlas.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/time_flow.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/water_effects.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/tileset.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/map.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/world.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/minimap.o ./build/x86_64-unknown-linux-gnu/optimize/glest_game/world/unit_updater.o  ./build/x86_64-unknown-linux-gnu/optimize/shared_lib/sources/libglestlib.a   -L/usr/lib -lSDL -lGL  -lm -lGLU -lGL  -lm -lxerces-c -lpthread  -lvorbis -lm -lvorbisfile  -logg -lopenal

...failed LinkApplication glest ...
...failed updating 1 target(s)...

-L/usr/lib is included there.
« Last Edit: 17 March 2008, 00:52:58 by Duke »

Dr.Dixie

  • Guest
(No subject)
« Reply #104 on: 17 March 2008, 02:07:40 »
Hey! Wouldn't it be cool if you could just type something like /bug <bug description> and enter, and it would save a txt into the main glest folder? It would save the trouble of having to have a text editor up, and the trouble of having to minimize Glest.

*edit* You ought to make it so it pauses when you bring up the exit game dialog.


!Dr.Dixie!
« Last Edit: 17 March 2008, 03:03:36 by Dr.Dixie »

ZaggyDad

  • Guest
(No subject)
« Reply #105 on: 17 March 2008, 02:38:36 »
I've got the newest version.



Quote
I thought I fixed that one. This is the result of the click going to the "graphics", if you had a unit behind it, it would probably select them instead of deselecting the unit. Is this with 0.1.8b?

I didn't have one behind it, and it plain deselected. It didn't select anything else.


Quote
Can you please clarify this, I don't quite understand?

If you tell a worker to repair something, he does the ranged repairing still.


I agree, except that I would prefer to have it all configurable within the game since Linux people don't get the configurator that I know of.


Quote
eh?

When I right-click on one of my units, the unit I command runs off to some random spot (not sure what it is).


Quote
Can you please email me the saved game this is happening on? If you saved these in a previous version, it's possible that I changed the format since you saved it. The format shouldn't change any more for a while though


Ok, I'll (hopefully)email you.

~Zaggy
« Last Edit: 1 January 1970, 00:00:00 by ZaggyDad »

jrepan

  • Guest
(No subject)
« Reply #106 on: 17 March 2008, 08:14:02 »
I can compile, when I configure with flag: "LDFLAGS=-lz"
« Last Edit: 1 January 1970, 00:00:00 by jrepan »

daniel.santos

  • Guest
(No subject)
« Reply #107 on: 17 March 2008, 11:50:16 »
jrepan,
Thank you for this, I think I know what I need to do now to make it work, even though I can't figure out why it isn't broken on my machine, like it does -lz on it's own.

EDIT: I have a solution in svn that should be working now.  I've added a new zlib.m4 to the autoconf process, so you'll have to run autogen.sh again and reconfigure.   I will be posting the build shortly.

ZaggyDad,
I tested these out on both the windows and Linux 0.1.8b build and I cannot reproduce these bugs:
  • Telling units to repair a specific damaged building/unit and they repair whatever they find on their way
  • Right clicking on a unit (as in to go to there) and they go off into space.  However, they do nothing, which is broke.
  • Clicking on the cancel button deselects the unit.


I strongly get the impression that you are accidentally using the wrong version.  When you start it, make sure it says 0.1.8b in the game.  If you are building it from the repository, make sure you grab revision 91, I hadn't tagged any of the last few releases, I should go do that.

!Dr.Dixie!,
Yea, good idea.

Duke,
I think jrepan nailed this one for us! :)  Thanks again jrepan.  Try the suggestion above and see if it works, I'm suspecting that it will.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

daniel.santos

  • Guest
(No subject)
« Reply #108 on: 17 March 2008, 13:40:36 »
Glest Advanced Engine v0.1.8c
Glest Advanced Engine v0.1.8c Changes
  • The ability to set the meeting point was actually supposed to be queuable for some time, I just never tested it. As it turns out, it was just replicating the current command.  This is fixed now, so you can set your meeting point, produce a unit, change it (with a queued command) and add another unit production in the queue and they will end up where you expect them.
  • When you tell your units to go to a friendly unit, they will actually do it instead of sitting where they are and saying, "hey, this is cool, I went to where I am!!", because that's what they were doing before.
  • revamped the linux build once I finally figured out how to work with autoconf macros, whee!!  zlib shouldn't be broken anymore and I even cleaned up the formatting for the output of the configure script.  For people building on linux, please run autogen.sh again.
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

orion

  • Guest
(No subject)
« Reply #109 on: 17 March 2008, 14:12:52 »
Some minor bugs I came across are:

1) the camera no longer has smooth movement. I don't know if this is a bug or if this is intentional

2) When a unit is being followed by another, the unit being followed has trouble moving, mainly because the following unit is copying all of his movements. They do a funny dance (like the liches of the FPM). :)

3) When a swordsman kills another unit, there is a 1/10 chance that he will not return to his original location.
« Last Edit: 1 January 1970, 00:00:00 by orion »

Dr.Dixie

  • Guest
(No subject)
« Reply #110 on: 17 March 2008, 16:14:52 »
Daniel, how hard would it be to make all the Workers/Initiates go to build instead of just one?
Thanks.


!Dr.Dixie!
« Last Edit: 1 January 1970, 00:00:00 by Dr.Dixie »

ZaggyDad

  • Guest
(No subject)
« Reply #111 on: 17 March 2008, 16:25:55 »
Quote
Telling units to repair a specific damaged building/unit and they repair whatever they find on their way

No! I meant that when you tell the villagers to repair something (not just let them auto-repair)they still repair it one cell away from it.

Quote
Right clicking on a unit (as in to go to there) and they go off into space. However, they do nothing, which is broke.

Well, that's fixed now, because they actually follow now. :? And it only does it when selecting a building to build.

You should try to get rid of most of the arrows that appear (except for moving).

And could you make it so that it selects a unit if you click on it's image?

And BTW, where is the arrow model?

~Zaggy
« Last Edit: 1 January 1970, 00:00:00 by ZaggyDad »

Dr.Dixie

  • Guest
(No subject)
« Reply #112 on: 17 March 2008, 16:42:02 »
Daniel, could you make it so the middleclick rotation can be infinite, instead of being limited to to screen? (i.e. you could keep rotating the camera infinitly). Also, I'd REALLY like it if you could put a middleclick camera rotation reversal thing in the XML. I just can't get used to the one you put in.


!Dr.Dixie!
« Last Edit: 1 January 1970, 00:00:00 by Dr.Dixie »

hailstone

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,568
    • View Profile
(No subject)
« Reply #113 on: 18 March 2008, 06:55:18 »
ZaggyDad, if you're talking about the mouse pointer image (and it's still the same as Glest v3) it is drawn using OpenGL in /glest_game/graphics/renderer.cpp

void Renderer::renderMouse2d(int x, int y, int anim, float fade)
void Renderer::renderMouse3d()

It would be good to use changeable images if it hasn't been done already.
« Last Edit: 1 January 1970, 00:00:00 by hailstone »
Glest Advanced Engine - Admin/Programmer
https://sourceforge.net/projects/glestae/

daniel.santos

  • Guest
(No subject)
« Reply #114 on: 18 March 2008, 15:44:42 »
w00t! Thanks for the sticky!! :)

Quote from: "orion"
2) When a unit is being followed by another, the unit being followed has trouble moving, mainly because the following unit is copying all of his movements. They do a funny dance (like the liches of the FPM). :)  Yea, this is because I broke the minimum following distance.  This will be the next thing I address after getting all of my unstable changes checked into the right place.

Quote from: "orion"
3) When a swordsman kills another unit, there is a 1/10 chance that he will not return to his original location.
Hmm, interesting.  I'll have to play with this one.
Quote from: "Dr.Dixie"
Daniel, could you make it so the middleclick rotation can be infinite, instead of being limited to to screen? (i.e. you could keep rotating the camera infinitly). Also, I'd REALLY like it if you could put a middleclick camera rotation reversal thing in the XML. I just can't get used to the one you put in.
hehe, I suppose I could make it settings in the .ini file that you could go hack if you wanted to.  I can definitely see why you would want to change the rotation axis, I even got confused on it a few times myself.

Quote from: "ZaggyDad"
Daniel, how hard would it be to make all the Workers/Initiates go to build instead of just one?
Well, it's a slightly complicated issue.  In Glest, resources are allocated as soon as you give the command to go build something.  This is kinda nice because we often usually issue several commands to build and produce at a time and it's easy to accidentally over spend.  Often, I'm switching back and forth between an offensive operation or harassment (trying to pick off a rivals workers and get away with it :)
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

orion

  • Guest
(No subject)
« Reply #115 on: 18 March 2008, 16:27:38 »
One more bug.

I tried to load a previously saved game, but I got an "Unhandled Exception". I can't remember what it said, but I'll tell you when I get home today.
« Last Edit: 1 January 1970, 00:00:00 by orion »

daniel.santos

  • Guest
(No subject)
« Reply #116 on: 19 March 2008, 03:09:14 »
This is mostly bug fixes, but some slight feature enhancements.  I won't be focusing on many more features that don't really add something to the game for a little while though.

Glest Advanced Engine v0.1.9
Glest Advanced Engine v0.1.9 Changes
  • Made a few internal changes
  • Fixed the problem with saved games crashing (the "don't  have two values named control" error message).
  • Fixed a problem where units weren't returning from an auto-attack as soon as they should have and could have possibly caused the problem where they weren't returning at all sometimes.
  • Fixed the problem where units that were guarding other units were totally crowding them out.
  • Added ability for multiple units to respond to a build command at once, but you will get "Can't build at that location" messages for all of the other workers when they get there so just deal with it.  The implementation its self is also ugly, so don't let Martino find out :)


EDIT: As I said, the "everybody go build" command is a little hacky, it depends upon the getting there, giving up because the space is occupied and then say "oh, something needs repairing. let's do it".  So if you try to tell them all to go build and then queue another command, only the one that arrives there 1st will stay.  I may clean this up at some point later, but it's not at the top of my list :)
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

Dr.Dixie

  • Guest
(No subject)
« Reply #117 on: 19 March 2008, 04:44:31 »
Golly, Daniel, thanks! I'll shoot myself in the foot the next time I let that accursed plague, Windows, boot. XD

*edit* Oh, Daniel, could you give me a complete list of the dependencies that I'd need on Ubuntu to compile it?


!Dr.Dixie!
« Last Edit: 1 January 1970, 00:00:00 by Dr.Dixie »

daniel.santos

  • Guest
(No subject)
« Reply #118 on: 19 March 2008, 07:45:05 »
Well, I think that the configure will do a good job of telling you if something is missing or not.  MatzeB helped me out and I got a really good zlib.m4 autoconfi script from the gnupdf library.  Between MatzeB and I, we got the Linux builds between Glest and GAE synchronized in all ways possible (just the zlib is different now).

So the short answer is all of the libs you need to build Glest plus zlib.  Again, thanks for MatzeB for helping me on this.

But are you still use Gentoo?  I guess the Gentoo ebuild hasn't been updated and I'm feeling the onus of this on me for some reason :) (I use Gentoo).
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

orion

  • Guest
(No subject)
« Reply #119 on: 19 March 2008, 11:27:36 »
Has the major issue with unit movement been fixed? The issue where the frame rate lowers when a lot of units move at one time?
« Last Edit: 1 January 1970, 00:00:00 by orion »

daniel.santos

  • Guest
(No subject)
« Reply #120 on: 20 March 2008, 09:18:35 »
aww crap orion, I wrote a long reply and it looks like I accidentally got side tracked, forgot to send it and then closed my browser when I had too many tabs open, LMAO!.

I made a change a few weeks back that would have improved it slightly, but what I really need is for you to give it a try.  Also, I need to know what type of system you're having problems on.  And if you're using windows, try the glestadv-i686.exe instead of the glestadv-sse2.exe.  Please do this with 0.1.9 and let me know (be sure and include what type of processor, how much memory and what OS).

I'm working on the 0.2 branch right now, I'm revamping the network interface so that we shouldn't have cross-platform net incompatibilities.  However, just know that 0.1.9 gets out of sync in multiplayer, so save often if you use it to play multi.  At least you can resume if your game goes out of sync though
« Last Edit: 1 January 1970, 00:00:00 by daniel.santos »

orion

  • Guest
(No subject)
« Reply #121 on: 21 March 2008, 11:26:02 »
Quote
I made a change a few weeks back that would have improved it slightly, but what I really need is for you to give it a try. Also, I need to know what type of system you're having problems on. And if you're using windows, try the glestadv-i686.exe instead of the glestadv-sse2.exe. Please do this with 0.1.9 and let me know (be sure and include what type of processor, how much memory and what OS).
I tried both the binaries and both of them seemed to lag when many units became active.

OS: Windows XP
Memory: 1.25 Gigabytes

Quote
I'm working on the 0.2 branch right now, I'm revamping the network interface so that we shouldn't have cross-platform net incompatibilities. However, just know that 0.1.9 gets out of sync in multiplayer, so save often if you use it to play multi. At least you can resume if your game goes out of sync though


Are you saying that windows and linux players will be able to play with each other? :)
« Last Edit: 1 January 1970, 00:00:00 by orion »

Duke

  • Guest
(No subject)
« Reply #122 on: 21 March 2008, 12:51:19 »
lol, I got the impression that Matiño himself had trouble with that and here you are saying, oh, I'm just doing it . (;
« Last Edit: 1 January 1970, 00:00:00 by Duke »

martiño

  • Behemoth
  • *******
  • Posts: 1,095
    • View Profile
(No subject)
« Reply #123 on: 21 March 2008, 12:55:39 »
Quote from: "Duke"
lol, I got the impression that Matiño himself had trouble with that and here you are saying, oh, I'm just doing it . (;


I never did any proper investigation about the topic, but the issue seems to be different floating point behaviors across compilers/processors/operating systems.

 I think it could be solved by using one of the libraries that abstract floating point calculations, or by changing all the synchronized code to fixed point, it is not a trivial task however.
« Last Edit: 1 January 1970, 00:00:00 by martiño »

Duke

  • Guest
(No subject)
« Reply #124 on: 21 March 2008, 14:11:38 »
ah ok, I haven't said anything (;

Hmm, if I remember correctly, the accuracy of float is relative to the size of the number calculated, so that you can deal with realy large and realy small numbers at the same time without using excessive memory.

So if you need exact calculation, fixed point calculation would probably be the better solution in most cases anyway.
« Last Edit: 1 January 1970, 00:00:00 by Duke »

 

anything