demo-reader 0.1.2 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.2.0
data/demo-reader.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{demo-reader}
8
- s.version = "0.1.2"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["aekym"]
12
- s.date = %q{2010-08-03}
12
+ s.date = %q{2010-08-24}
13
13
  s.description = %q{A library to read warsow demo files (.wd8, .wd9, .wd10, .wd11 files) and q3 demo files (*.dm68)}
14
14
  s.email = %q{me@aekym.com}
15
15
  s.extensions = ["ext/dm68/extconf.rb"]
@@ -40,11 +40,6 @@ Gem::Specification.new do |s|
40
40
  "lib/demo-reader.rb",
41
41
  "lib/demo_reader_defrag.rb",
42
42
  "lib/demo_reader_warsow.rb",
43
- "test/demo_reader_defrag_dm_68_cpm_test.rb",
44
- "test/demo_reader_defrag_dm_68_vq3_test.rb",
45
- "test/demo_reader_test.rb",
46
- "test/demo_reader_warsow_wd10_race_test.rb",
47
- "test/demo_reader_warsow_wd11_race_test.rb",
48
43
  "test/fixtures/defrag/dm_68/cpm/pornchronostar_mdf.cpm_00.49.216_tyaz.germany.dm_68",
49
44
  "test/fixtures/defrag/dm_68/cpm/puremotion_df.cpm_00.10.600_eS-Rody.russia.dm_68",
50
45
  "test/fixtures/defrag/dm_68/vq3/runkull2_df.vq3_01.05.904_XunderBIRD.Germany.dm_68",
@@ -69,7 +64,12 @@ Gem::Specification.new do |s|
69
64
  "test/fixtures/warsow/wd11/race_st1_07.848.wd11",
70
65
  "test/fixtures/warsow/wd11/race_wdm16_unfinished.wd11",
71
66
  "test/fixtures/warsow/wd11/race_wrc03-3_28.684.wd11",
72
- "test/helper.rb"
67
+ "test/helper.rb",
68
+ "test/unit/demo_reader_defrag_dm_68_cpm_test.rb",
69
+ "test/unit/demo_reader_defrag_dm_68_vq3_test.rb",
70
+ "test/unit/demo_reader_test.rb",
71
+ "test/unit/demo_reader_warsow_wd10_race_test.rb",
72
+ "test/unit/demo_reader_warsow_wd11_race_test.rb"
73
73
  ]
74
74
  s.homepage = %q{http://github.com/aekym/demo-reader}
75
75
  s.rdoc_options = ["--charset=UTF-8"]
@@ -77,12 +77,12 @@ Gem::Specification.new do |s|
77
77
  s.rubygems_version = %q{1.3.7}
78
78
  s.summary = %q{A library to read warsow and q3 demo files}
79
79
  s.test_files = [
80
- "test/demo_reader_defrag_dm_68_cpm_test.rb",
81
- "test/demo_reader_defrag_dm_68_vq3_test.rb",
82
- "test/demo_reader_test.rb",
83
- "test/demo_reader_warsow_wd10_race_test.rb",
84
- "test/demo_reader_warsow_wd11_race_test.rb",
85
- "test/helper.rb"
80
+ "test/helper.rb",
81
+ "test/unit/demo_reader_defrag_dm_68_cpm_test.rb",
82
+ "test/unit/demo_reader_defrag_dm_68_vq3_test.rb",
83
+ "test/unit/demo_reader_test.rb",
84
+ "test/unit/demo_reader_warsow_wd10_race_test.rb",
85
+ "test/unit/demo_reader_warsow_wd11_race_test.rb"
86
86
  ]
87
87
 
88
88
  if s.respond_to? :specification_version then
data/ext/dm68/dm68.c CHANGED
@@ -1,6 +1,11 @@
1
1
  #include "ruby.h"
2
2
  #include "main.h"
3
3
 
4
+ // backward compatibility for ruby 1.8
5
+ #ifndef RSTRING_PTR
6
+ #define RSTRING_PTR(s) RSTRING(s)->ptr
7
+ #endif
8
+
4
9
 
5
10
  static VALUE rb_mDM68;
6
11
  static VALUE rb_cDM68;
@@ -17,7 +22,7 @@ static VALUE parse_file(VALUE obj, VALUE path)
17
22
  demo.demoMessageSequence = 0;
18
23
  demo.gameStatesParsed = 0;
19
24
 
20
- if(!(demo.demofile=fopen(RSTRING(path)->ptr, "rb")))
25
+ if(!(demo.demofile=fopen(RSTRING_PTR(path), "rb")))
21
26
  {
22
27
  Com_Error(ERR_FATAL, "Couldn't open demofile");
23
28
  }
@@ -58,6 +58,11 @@ class DemoReaderWarsow
58
58
  content = file.gets nil
59
59
  file.close
60
60
 
61
+ # remove illegal utf8 chars that crashes ruby 1.9.x
62
+ #
63
+ if RUBY_VERSION >= "1.9"
64
+ content.encode!("ISO-8859-1", :invalid => :replace, :undef => :replace) # iso is just fine (no other chars expected)
65
+ end
61
66
 
62
67
 
63
68
 
data/test/helper.rb CHANGED
@@ -3,7 +3,10 @@ require 'test/unit'
3
3
 
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
5
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
+ $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..', 'ext/dm68')))
7
+
6
8
  require 'demo-reader'
7
9
 
8
10
  class Test::Unit::TestCase
9
11
  end
12
+
@@ -1,4 +1,6 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
3
+
2
4
 
3
5
  class DemoReaderDefragDm68CpmTest < Test::Unit::TestCase
4
6
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderDefragDm68Vq3Test < Test::Unit::TestCase
4
5
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderTest < Test::Unit::TestCase
4
5
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderWarsowWd10RaceTest < Test::Unit::TestCase
4
5
 
@@ -1,4 +1,5 @@
1
- require File.dirname(__FILE__) + '/helper'
1
+ $LOAD_PATH << File.dirname(__FILE__) + '/..'
2
+ require "helper"
2
3
 
3
4
  class DemoReaderWarsowWd11RaceTest < Test::Unit::TestCase
4
5
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: demo-reader
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
9
8
  - 2
10
- version: 0.1.2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - aekym
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-08-03 00:00:00 +02:00
18
+ date: 2010-08-24 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -51,11 +51,6 @@ files:
51
51
  - lib/demo-reader.rb
52
52
  - lib/demo_reader_defrag.rb
53
53
  - lib/demo_reader_warsow.rb
54
- - test/demo_reader_defrag_dm_68_cpm_test.rb
55
- - test/demo_reader_defrag_dm_68_vq3_test.rb
56
- - test/demo_reader_test.rb
57
- - test/demo_reader_warsow_wd10_race_test.rb
58
- - test/demo_reader_warsow_wd11_race_test.rb
59
54
  - test/fixtures/defrag/dm_68/cpm/pornchronostar_mdf.cpm_00.49.216_tyaz.germany.dm_68
60
55
  - test/fixtures/defrag/dm_68/cpm/puremotion_df.cpm_00.10.600_eS-Rody.russia.dm_68
61
56
  - test/fixtures/defrag/dm_68/vq3/runkull2_df.vq3_01.05.904_XunderBIRD.Germany.dm_68
@@ -81,6 +76,11 @@ files:
81
76
  - test/fixtures/warsow/wd11/race_wdm16_unfinished.wd11
82
77
  - test/fixtures/warsow/wd11/race_wrc03-3_28.684.wd11
83
78
  - test/helper.rb
79
+ - test/unit/demo_reader_defrag_dm_68_cpm_test.rb
80
+ - test/unit/demo_reader_defrag_dm_68_vq3_test.rb
81
+ - test/unit/demo_reader_test.rb
82
+ - test/unit/demo_reader_warsow_wd10_race_test.rb
83
+ - test/unit/demo_reader_warsow_wd11_race_test.rb
84
84
  has_rdoc: true
85
85
  homepage: http://github.com/aekym/demo-reader
86
86
  licenses: []
@@ -116,9 +116,9 @@ signing_key:
116
116
  specification_version: 3
117
117
  summary: A library to read warsow and q3 demo files
118
118
  test_files:
119
- - test/demo_reader_defrag_dm_68_cpm_test.rb
120
- - test/demo_reader_defrag_dm_68_vq3_test.rb
121
- - test/demo_reader_test.rb
122
- - test/demo_reader_warsow_wd10_race_test.rb
123
- - test/demo_reader_warsow_wd11_race_test.rb
124
119
  - test/helper.rb
120
+ - test/unit/demo_reader_defrag_dm_68_cpm_test.rb
121
+ - test/unit/demo_reader_defrag_dm_68_vq3_test.rb
122
+ - test/unit/demo_reader_test.rb
123
+ - test/unit/demo_reader_warsow_wd10_race_test.rb
124
+ - test/unit/demo_reader_warsow_wd11_race_test.rb