|
simplify
* libgame/game-portable.c: (game_time_val_difference):
* libgame/game-portable.h:
add game_time_val_difference as utility function here
* libgame/game-match.c: (game_match_do_tick),
(game_match_start_ticking), (game_match_stop_ticking),
(game_match_do_add_player), (game_match_do_remove_player),
(game_match_class_init), (game_match_add_player),
(game_match_remove_player):
* libgame/game-match.h:
- make add/remove_player an API
- allow calling start/stop_ticking even when we are already (not)
ticking
- use game_time_val_diff
* libgame/game-replay.c: (game_replay_do_tick),
(info_player_create):
* libgame/game-solo.c: (game_solo_match_game_set),
(game_solo_match_add_player), (game_solo_match_remove_player),
(game_solo_match_class_init):
- use game_time_val_difference
- use player_add/remove API
* configure.ac:
require gnet
* libgame/Makefile.am:
* libgame/game-network-connection.c:
* libgame/game-network-connection.h:
* libgame/game-network-player.c:
* libgame/game-network-player.h:
* libgame/game-network.c:
* libgame/game-network.h:
* libgame/libgame.h:
add network support. It's quite alpha at the moment, but it works.
Latency is still hardcoded to 100ms, which is evil.
* src/gnome/Makefile.am:
* src/gnome/gnome-match.c:
* src/gnome/gnome-match.h:
implement our own TreeModel for the players in a match
* src/gnome/data/Makefile.am:
* src/gnome/data/connect-multiplayer.glade:
add simple connect to server dialog
* src/gnome/data/start-multiplayer.glade:
cosmetic fixes and a "Network Game" checkbox
* src/gnome/gnome-window.c: (user_name_edited),
(color_selection_response_cb), (color_renderer_toggled),
(player_options_append_row), (get_player_options),
(player_state_edited), (callback_host_populate_treeview),
(callback_host_response), (network_toggled_cb),
(notify_networked_cb), (notify_start_cb),
(create_multiplayer_window), (callback_host),
(remove_notify_signal), (callback_client_cancel_connect),
(callback_client_tick), (callback_client_notify),
(callback_client_response), (callback_client),
(game_gnome_window_set_game):
* src/gnome/gnome-window.h:
lots of code to cope with network support. Probably lots of bugs in
it.
* tests/.cvsignore:
* tests/Makefile.am:
* tests/idle-client.c: (game_notify_cb), (match_notify_cb), (main):
add a simple test app that sits there, adds a network player to the game and
then idles.
|
|
require GObject
* libgame/game-actor.c:
* libgame/game-actor.h:
* libgame/game-player.c: (game_player_tick),
(game_player_class_init), (game_player_dispose),
(game_player_get_property), (game_player_set_property):
* libgame/game-player.h:
* libgame/libgame.h:
* libgame/game-worker.c:
* libgame/game-worker.h:
* libgame/Makefile.am:
put start/stop_action code into a GameWorker interface and have
GamePlayer use that. This makes it possible for the new tetris code
to work without GameActor but instead have the board react to
actions.
* games/pacman/Makefile.am:
* games/pacman/game-grid-actor.c: (game_grid_actor_start_action),
(game_grid_actor_stop_action), (game_grid_actor_worker_init),
(game_grid_actor_class_init), (game_grid_actor_get_type):
* games/pacman/game-grid.h:
* games/pacman/main.c: (player_removed_cb):
* games/pacman/pacman-actor.c: (pacman_actor_set_property):
* games/pacman/pacman-grid.c: (pacman_ghost_block_reached):
* games/sheep/sheep-car.c: (sheep_car_set_property),
(sheep_car_start_action), (sheep_car_class_init),
(sheep_car_worker_init), (sheep_car_get_type):
implement the GameWorker interface
* games/tetris/Makefile.am:
* games/tetris/main.c:
* games/tetris/tetris-board.c:
* games/tetris/tetris-board.h:
rewrite
* games/tetris/tetris.c:
remove
* tests/text.c: (main):
* tests/view.c: (main):
comment out stuff that doesn't work anymore
* po/POTFILES.in:
* tests/Makefile.am:
fix so that make distcheck works now
|